iptables控制较复杂案例
场景设定:
管理员:192.168.101.80
公司有三个部门:
工程部:192.168.2.21-192.168.2.20
软件部门:192.168.2.21-192.168.2.30
经理办公室:192.168.2.31-192.168.2.40
上班时间:周一到周五 8点-20点
工程部门:ftp 下班后无限制
软件部门:http 不允许浏览sina,不允许使用迅雷,最大连接数3,不准聊天,不准看图片,不准下载电影,下班后无限制。
经理办公室:http和qq都可以,下班无限制
开始设置iptables表:
环境变量:
adminip=192.168.1.1. timerange="--timestart 08:00 --timestop 20:00"
//下班后的时间范围,因iptables只在00:00-23:59有效,故要分成2段。
timerange1="--timestart 08:01 --timestop 23:59" imerange2="--timestart 00:00 --timestop 07:59"
//工程部门ip范围
iprange1="192.168.2.21-192.168.2.30"
//软件部门ip范围
iprange2="192.168.2.21-192.168.2.30"
//经理办公室ip范围
iprange3="192.168.2.31-192.168.2.40"
1、首先在设置全部禁止之前,要上ssh可以登录,同时设置local回路通过。
iptables -A INPUT -s $adminip -p tcp --dport -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -d $adminip -p tcp -sport -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
2、把进,出,转发三链策略设为DROP
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
3、软件部门策略:
1)、首先让软件部门可以上网(通过透明代理服务器),然后再进行限制
iptables -A PREROUTING -m iprange --src-range $iprange2 -m time $timerange -p tcp --dport –j REDIRECT –-to-ports //3128为本防火墙的squid服务端口
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -p tcp --dport -j ACCEPT //可以上网
iptables -p udp --dport -j ACCEPT //可以访问域名服务器
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.2.0/ -o eth0 -j MASQUERADE
2)、对迅雷和qq进行控制
iptables -A FORWARD -m iprange $iprange2 -m time $timerange -m layer7 --17proto qq -j DROP
iptables -A FORWARD -m iprange $iprange2 -m time $timerange -m layer7 --17proto xunlei -j DROP
4、经理办公室
iptables -t nat -A PREROUTING -m iprange $iprange3 -p tcp --dport -j REDIRECT --to-ports
iptables -A FORWARD -m iprange --src-range $iprange3 -p udp --dport -o eth0 -j ACCEPT
iptables -A FORWARD -m iprange --src-range $iprange3 -m time $timerange -m layer7 --17proto qq -j ACCEPT
5、最后是工程部
iptables -t nat -A POSTROUTING -m iprange $iprange1 -m time $timerange -p tcp --dport -j MASQUERADE
iptables -A FORWARD -m iprange --src-range iprange1 -m time $timerange -p tcp --dport -j ACCEPT
6、下班后控制
iptables -A FORWARD -s 192.168.2.0/ -m time $timerange1 -j ACCEPT
iptables -A FORWARD -s 192.168.2.0/ -m time $timerange2 -j ACCEPT
iptables -t nat -A PREROUTING -m time $timerange1 -p tcp --dport -j REDIRECT --to-ports
iptables -t nat -A PREROUTING -m time $timerange2 -p tcp --dport -j REDIRECT --to-ports
iptables -t nat -A POSTROUTING -m time $timerange1 -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -m time $timerange2 -o eth0 -j MASQUERADE
7、写DMZ区域的(用远程登陆模拟)
iptables -t nat -A PREROUTING -d 192.168.101.40 -p tcp --dport -j DNAT --to 192.168.3.100
iptables -t filter -A FORWARD -d 192.168.3.100 -p tcp --dport -j ACCEPT
iptables控制较复杂案例的更多相关文章
- iptables filter表小案例
案例1:把80端口,22端口,21端口放行 22端口指定IP访问,其它IP拒绝. shell脚本实现: [root@centos7 ~]# vim /usr/local/sbin/iptables.s ...
- iptables常用语法与案例
常用命令语法: [root@www ~]# iptables [-t tables] [-L] [-nv] 选项与参数: -t :后面接 table ,例如 nat 或 filter ,若省略此项目, ...
- iNeuOS工业互联平台,PLC监测与控制应用过程案例。新闻:.NET 6 RC1 正式发布
目 录 1. 概述... 1 2. 平台演示... 2 3. 应用过程... 2 1. 概述 iNeuOS工业互联网操作系统主要使用.netcore 3. ...
- OAF_开发系列21_实现OAF事物控制TransactionUnitHelper(案例)
20150716 Created By BaoXinjian
- html的textarea控制字数小案例
<h3>设计理念说明(200字以内)</h3> <textarea onkeyup="checkLen(this)"></textarea ...
- 四十七.iptables防火墙 filter表控制 扩展匹配 nat表典型应用
1.iptables基本管理 关闭firewalld,开启iptables服务 查看防火墙规则 追加.插入防火墙规则 删除.清空防火墙规则 1.1 关闭firewalld,启动iptables服务 ...
- Linux iptables 应用控制访问SSH服务
Title:Linux iptables 应用控制访问SSH服务 --2012-02-23 17:51 今天用到了以前从来没有用到过的,iptables控制访问,只允许外部访问SSH服务(22号端口 ...
- iptables技术入门
1- 概述 ___ netfilter/iptables: IP 信息包过滤系统,实际由两个组件netfilter和iptable组成.可以对流入和流出服务器的数据包进行很惊喜的控制.主要工作在OSI ...
- iptables防火墙说明即使用
防火墙是架设在公网和私网之间的服务器,隔离公网和私网,保护私网. RHEL7默认使用firewalld作为防火墙. 但firewalld底层还是调用包过滤防火墙iptables #systemctl ...
随机推荐
- windows server 2012 IE增强的安全配置如何关闭
http://jingyan.baidu.com/article/6181c3e076ac0b152ff15354.html 打开左下角的 服务端 关闭这个就可以了
- IOS学习笔记45--UITableView性能优化
说实话,面试的时候已经被问到几次这个问题,然后就搜索了一下,看到了这篇优化文章,感觉不错,转来日后作为一种UITableView优化的方法. 使用不透明视图. 不透明的视图可以极大地提高渲染 ...
- 修改MySQL数据文件的位置
1:查看MySQL服务名称 2:管理员启动控制台 3:修改配置文件my.ini中数据文件的位置,[注]修改完成之后要把响应的数据文件从旧目录拷贝到新目录当中. 4:重新启动服务 5:登录数据库查看数据 ...
- sublime 格式化XML文件
下载插件 下载下来后将其解压到D:\tools\Sublime Text 3109\Data\Packages 打开sublime,preferences->browse packages,会弹 ...
- js中移除空白节点
//移除空白节点,空白节点的类型是3 function removeWhiteNode(node) { for (var i = 0; i < node.childNodes.lengt ...
- 利用Aspose.BarCode生成条码
生成条码有很多控件,大部分好的控件,做出来的条码精确清晰,但是往往该部分的控件费用都很高,这里推荐大家使用6.0版本的破解版,可以生成无水印,下方也可以不显示文字. 1.下图是 onbarcode 控 ...
- 【LeetCode】166. Fraction to Recurring Decimal
Fraction to Recurring Decimal Given two integers representing the numerator and denominator of a fra ...
- firefox 前端开发插件
http://blog.csdn.net/xjinza/article/details/6856249
- WordPress网站搬家全过程 亲身体验WordPress搬家,总结几点
需要移动的文件主要是网站文件和数据库文件,如果是简单的wordpress 操作就是:备份网站文件,导出数据库文件,上传网站文件,导入数据库文件,移动网站文件,修改wordpress的wp-conf ...
- Windows远程连接局域网内或同一个网段或同一个路由器的某台机器
http://bbs.shendu.com/thread-1443245-1-1.html 亲自试验,具体操作如下: 我现在有三台机器和对应的ip地址(ip地址自己手动填写,不会网上搜) ...