场景设定:

管理员: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.80timerange="--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 22 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -d $adminip -p tcp -sport 22 -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 80 –j REDIRECT –-to-ports 3128    //3128为本防火墙的squid服务端口
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -p tcp --dport 80 -j ACCEPT       //可以上网
iptables -p udp --dport 53 -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/24 -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 80 -j REDIRECT --to-ports 3128
iptables -A FORWARD -m iprange --src-range $iprange3 -p udp --dport 53  -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 21 -j MASQUERADE
iptables -A FORWARD -m iprange --src-range iprange1 -m time $timerange -p tcp --dport 21 -j ACCEPT

6、下班后控制

    

iptables -A FORWARD -s 192.168.2.0/24 -m time $timerange1 -j ACCEPT
iptables -A FORWARD -s 192.168.2.0/24 -m time $timerange2 -j ACCEPT
iptables -t nat -A PREROUTING -m time $timerange1 -p tcp --dport 80 -j REDIRECT --to-ports 3128
iptables -t nat -A PREROUTING -m time $timerange2 -p tcp --dport 80 -j REDIRECT --to-ports 3128
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 3389 -j DNAT --to 192.168.3.100
iptables -t filter -A FORWARD -d 192.168.3.100 -p tcp --dport 3389 -j ACCEPT

iptables控制较复杂案例相关推荐

  1. 关于nginx信号控制的“故障”案例

    关于nginx信号控制的"故障"案例 最近几天发现nginx的日志老切割不成功,遂来查找问题. 最开始以为是logrotate的脚本问题,遂手动切割,运行以下的命令 logrota ...

  2. 10.15 iptables filter表小案例10.16/10.17/10.18 iptables nat表应用

    2019独角兽企业重金招聘Python工程师标准>>> 10.15 iptables filter表小案例 iptables 命令.语法总结 iptables-nvL //查看ipt ...

  3. iptables nat表含义_十(4)iptables语法、iptables filter表小案例、iptables nat表应用

    iptables语法 filter表: INPUT链:作用于进入本机的包 OUTPUT链:作用于送出本机的包 FORWARD链:作用于和本机无关的包 nat表: PREROUTING链:作用是包在刚刚 ...

  4. Java基础重温_02:运算符、三元运算符案例(2只老虎、3个和尚)、键盘录入(Scanner类)、控制流程语句、控制流程语句案例(奇偶数、考试奖励)

    摘要 Java基础重温_02: 运算符(算术运算.+操作.赋值运算.自增自减.关系运算(比较).逻辑运算.短路逻辑运算.三元运算) 三元运算符案例(2只老虎:2个变量比较.三个和尚:3个变量比较) 键 ...

  5. linux iptables 防火墙高级应用案例分享

    笔者对iptables常用的高级案例进行了一些分享,本文不是基础的iptables教程,主要是对一些数通领域常用的方案进行了一些分享,如需要详细了解一些方案的细节,可以联系笔者. 1.多网口路由转发方 ...

  6. 基于海康SDK开发文档分析+云台控制实现+经典案例

    基于海康SDK开发文档分析+云台控制实现+经典案例 上一篇:海康威视java开发+demo运行+调用dll动态库坑 一.准备 海康的SDK下载 https://www.hikvision.com/cn ...

  7. 嵌入式 iptables防火墙实际使用案例解析

    一.代理服务器架设的位置 实验环境如下: 1)局域网网段:192.168.1.0/24,该网段内有2台服务器和1台客户端 (1)WEB服务器:192.168.1.3/24 (2)FTP服务器:192. ...

  8. 重建控制文件的案例(RESETLOGS模式和NORESETLOGS模式)

    本案例分两种情况:归档模式和非归档模式.在每种模式下采用两种重建方式,即resetlogs和noresetlogs. 一.archived模式下: SQL> archive log list 数 ...

  9. 怎样用Netfilter/IPtables控制P2P流量

    今年4月,看到一则报道说尽管某宽带公司现有技术可以容纳的网络用户容量为400至600万用户,可是目前,在容纳了45万用户的情况下,网络已经拥挤不堪,时常出现断网情况,一到上网高峰,网速就会急剧下降. ...

最新文章

  1. Go 语言 Excel
  2. 【实验】 策略路由配置案例
  3. LeetCode 11 盛最多水的容器
  4. SQL Editor and reconnect【mysql(workbench)更新数据时候的一个异常】【Error Code:1175】
  5. 暴走大侠找不到服务器了,《暴走大侠》常见问题汇总(图文)
  6. jquery 获得table 行数
  7. mac mongodb可视化工具_github项目推荐|2019 冠状病毒疫情爬虫。疫情数据可视化
  8. jquery.autocomplete 使用解析
  9. 引入log4j日志包为何会自动导入额外两个包(门面模式)
  10. java vscode跳转类定义_快速使用 vscode 进行 Java 编程
  11. mac的spotlight搜索系统文件
  12. FastQC 与 质控
  13. 如何制作CHM帮助文件
  14. php数组数据量过大时报错的问题
  15. 2017年蓝桥杯A组 跳蟋蟀 (BFS)
  16. mysql locate不走索引_索引失效的情况及原因定位
  17. [USACO13NOV]Crowded Cows
  18. 用友开发者社区 - http://udn.yonyou.com
  19. 从调制到LTE通信系统
  20. STM32F0——GPIO详解

热门文章

  1. 设计模式-结构型模式-装饰模式
  2. phpcms网站搬家至服务器
  3. UVA 11039.Building designing
  4. java数据类型和运算优先级
  5. 判断Python输入是否为数字
  6. BZOJ2081 [Poi2010]Beads
  7. [芯片] 2、接口技术·实验二·定时/计数器8253
  8. C#4.0 命名参数可选参数
  9. 设置笔记笔触摸区(Vista)
  10. C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):目录