场景设定:

管理员: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

最新文章

  1. Entity Framework Code First学习系列目录
  2. Javascript的“上下文”(context)
  3. 《Matrix Computation 3rd》读书笔记——第2章 矩阵分析
  4. Sla子分类账表结构
  5. array_map()与array_shift()搭配使用 PK array_column()函数
  6. 项目中关于ajax jsonp的使用
  7. ExtAspNet和FineUI未将对象引用设置到对象的实例
  8. ubuntu 12.04安装vncserver
  9. c# ActiveX 控件的开发
  10. SQL server 开启 cmdshell
  11. TCP的长连接与短连接
  12. 关于jquery选择器中:first和:first-child和:first-of-type的区别及:nth-child()和:nth-of-type()的区别
  13. 多个项目MyEclipse中启动出现OutOfMemoryError: PermGen space如何解决
  14. Git操作流程,基本命令演示
  15. [ Java面试题 ]算法篇
  16. nginx图解
  17. 050 sqoop的使用
  18. ELK(下)
  19. cried me a river--kristinia debarge
  20. 基于NOPI的Execl模板转换类,直接将Execl模板转换对应的Entity

热门文章

  1. windows7系统下升级到IE11时无法使用F12开发人员工具的解决办法
  2. CheeseZH: Octave basic commands
  3. 微信小程序 - 获取所在位置(省、市、区)
  4. HTML解析模块
  5. taro 不支持render中,使用函数多条件渲染
  6. 移动端网页宽度值(未加meta viewport标签)
  7. Scala之Object (apply) dycopy
  8. eclipse里面的时间错误,比电脑系统时间慢了8个小时
  9. coding云进行git push报:permission denied
  10. HDUOJ----(2064)汉诺塔III