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.80

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 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
时间: 2024-10-17 13:06:44

iptables控制较复杂案例的相关文章

10.15 iptables filter表小案例;10.16—10.18 iptables nat

扩展: 1. iptables应用在一个网段: http://www.aminglinux.com/bbs/thread-177-1-1.html 2. sant,dnat,masquerade: http://www.aminglinux.com/bbs/thread-7255-1-1.html 3. iptables限制syn速率: http://www.aminglinux.com/bbs/thread-985-1-1.html 10.15 iptables filter表小案例 ipta

十(4)iptables语法、iptables filter表小案例、iptables nat表应用

                                    iptables语法 filter表: INPUT链:作用于进入本机的包 OUTPUT链:作用于送出本机的包 FORWARD链:作用于和本机无关的包 nat表: PREROUTING链:作用是包在刚刚到达防火墙时改变包的目标地址 OUTPUT链:改变本地产生的包的目标地址 POSTROUTING链:作用是在包将离开防火墙时改变包源地址 1.查看iptables规则 iptables -nvL  (此时默认查看filter表,

三十二、iptables filter表小案例、iptables nat表应用

一.iptables filter表小案例 需求:只针对filter表,预设策略INPUT链DROP,其他两个链ACCEPT,然后针对192.168.188.0/24开通22端口,对所有网段开放80端口,对所有网段开放21端口. 这个需求写一个脚本,内容如下: # vi /usr/local/sbin/iptables.sh #! /bin/bash ipt="/usr/sbin/iptables"      //ipt:定义了一个变量,应写绝对路径. $ipt -F $ipt -P

iptables filter 表小案例

案例1:放行 21 .22 .80 端口,且 22 端口只允许 192.168.5.0/24 这个 IP 段访问 #!/bin/bash ipt="/sbin/iptables" $ipt -F $ipt -P INPUT DROP $ipt -P OUTPUT ACCEPT $ipt -P FORWARD ACCEPT $ipt -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT # 注意这条必须要加 $ipt -A INP

iptables常用语法与案例

常用命令语法: [[email protected] ~]# iptables [-t tables] [-L] [-nv] 选项与参数: -t :后面接 table ,例如 nat 或 filter ,若省略此项目,则使用默认的 filter -L :列出目前的 table 的规则 -n :不进行 IP 与 HOSTNAME 的反查,显示讯息的速度会快很多! -v :列出更多的信息,包括通过该规则的封包总位数.相关的网络接口等 范例:列出 filter table 三条链的规则 [[email

html的textarea控制字数小案例

<h3>设计理念说明(200字以内)</h3> <textarea onkeyup="checkLen(this)"></textarea> <div>您还可以输入 <span id="count">200</span> 个文字</div> <script type="text/javascript"> function checkLen(

23.功率控制优化分析-案例

MCS门限是人为配置到基站中的,本来可以16QAM传输,结果测量以为只能传输QPSK,速率上不去.本来无线信道不良,只能使用16QAM传输,结果测量以为可以传输64QAM,发生大量误包. 出现误包:1.无线信道本身不好.2.MCS门限不合理.3.导频比数据区功率大太多 原文地址:https://www.cnblogs.com/sec875/p/11834059.html

10.15-10.18 iptables filter表案例 iptables nat表应用

七周四次课(3月22日) 10.15 iptables filter表案例 10.16/10.17/10.18 iptables nat表应用 扩展1. iptables应用在一个网段  http://www.aminglinux.com/bbs/thread-177-1-1.html2. sant,dnat,masquerade   http://www.aminglinux.com/bbs/thread-7255-1-1.html3. iptables限制syn速率  http://www.

Iptables+layer7+squid

Iptables+layer7+squid的应用 一.iptables+layer7+squid简介 (1)Iptables是网络层防火墙 ,主要用于网络层.传输层的过滤,对应用层的过滤较少,但是支持的应用比较多,如NAT转换 (2)Layer7  能使iptables基于应用层过滤 (3)Squid 是一个应用层代理服务器,不仅可以过滤网络层.还可以过滤应用层,就是支持的应用比较少. 二.iptables+layer7+squid应用实例 案例配置: 1.实施环境: RedHat 5.6(实现