Linux下主机充当防火墙的巧妙应用之iptables(5)

问题:禁止访问包含sina的,却能访问?

解决:

1. 把该条目放到第一条

[root@gjp99 ~]# iptables -t filter -I FORWARD 1 -m iprange --src-range 192.168.2.21-192.168.2.30 -m time --timestart 08:00 --timestop 20:00 --weekdays Mon,Tue,Wed,Thu,Fri -m string --string "sina" --algo bm -j DROP

2. 删除原来存在的那个条目!

[root@gjp99 ~]# iptables -t filter -D FORWARD 5

3. 查看结果
[root@gjp99 ~]# iptables -L -v -n --line-number
Chain INPUT (policy DROP 14045 packets, 1362K bytes)
num   pkts bytes target     prot opt in     out     source               destination        
1     2878  203K ACCEPT     tcp  --  *      *       192.168.2.2          0.0.0.0/0           tcp dpt:22

Chain FORWARD (policy DROP 46 packets, 2887 bytes)
num   pkts bytes target     prot opt in     out     source               destination        
1        0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0           source IP range 192.168.2.21-192.168.2.30 TIME from 08:00:00 to 20:00:00 on Mon,Tue,Wed,Thu,Fri STRING match "sina" ALGO name bm TO 65535
2       20   906 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           source IP range 192.168.2.10-192.168.2.20 TIME from 08:00:00 to 20:00:00 on Mon,Tue,Wed,Thu,Fri tcp dpt:21
3     3605 2087K ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
4      172  9572 ACCEPT     all  --  *      eth1    192.168.2.0/24       0.0.0.0/0           TIME from 20:01:00 to 07:59:00
5        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           source IP range 192.168.2.21-192.168.2.30 TIME from 08:00:00 to 20:00:00 on Mon,Tue,Wed,Thu,Fri tcp dpt:80
6        0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0           source IP range 192.168.2.21-192.168.2.30 TIME from 08:00:00 to 20:00:00 on Mon,Tue,Wed,Thu,Fri udp dpt:53

Chain OUTPUT (policy DROP 46 packets, 3016 bytes)
num   pkts bytes target     prot opt in     out     source               destination        
1     1987  216K ACCEPT     tcp  --  *      *       0.0.0.0/0            192.168.2.2         tcp spt:22

4.测试

注意:时间在你的限制范围之内拒绝,不在这个时间之内都能访问~

[root@gjp99 ~]# date 091811272012
Tue Sep 18 11:27:00 CST 2012

image

2.不允许使用迅雷 ,连接数 最多3个 不允许聊天  不允许使用pplive ,下班后无限制

iptables网络层过滤,基于端口 协议  所以必须使用7层

内网qq登录成功!

image

阻止qq登录

[root@gjp99 ~]# iptables -I FORWARD 2 -m iprange --src-range 192.168.2.21-192.168.2.30 -mtime --timestart 08:00 --timestop 20:00 --weekdays Mon,Tue,Wed,Thu,Fri -m layer7 --l7proto qq -j DROP

image

禁止迅雷的使用!

[root@gjp99 ~]# iptables -I FORWARD 2 -m iprange --src-range 192.168.2.21-192.168.2.30 -mtime --timestart 08:00 --timestop 20:00 --weekdays Mon,Tue,Wed,Thu,Fri -m layer7 --l7proto xunlei -j DROP

同种方法,可禁止其他的,许多!例如pplive 电驴,msn 等等! 前提必须在这个目录下存在的!否则,不支持

shell> iptables -A FORWARD -m layer7 --l7proto msnmessenger -j DROP
shell> iptables -A FORWARD -m layer7 --l7proto msn-filetransfer -j DROP  //MSN聊天工具
shell> iptables -A FORWARD -m layer7 --l7proto xunlei -j DROP       //迅雷下载
shell> iptables -A FORWARD -m layer7 --l7proto edonkey -j DROP   //电驴下载
shell> iptables -A FORWARD -m layer7 --l7proto bittorrent -j DROP   //BT下载

[root@gjp99 protocols]# pwd
/etc/l7-protocols/protocols

控制最大连接数3(限制打开的窗口数量,一个窗口可能有多个连接)

[root@gjp99 protocols]# iptables -I FORWARD 2 -m iprange --src-range 192.168.2.21-192.168.2.30 -mtime --timestart 08:00 --timestop 20:00 --weekdays Mon,Tue,Wed,Thu,Fri -p tcp --syn --dport 80 -m connlimit --connlimit-above 3  -j DROP

linux

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/704ae07fd91a728e919b97b301281d74.html