Iptables+Layer7+squid的应用

Iptables是网络层防火墙 ,主要用于网络层、传输层的过滤,对应用层的过滤较少,但是支持的应用比较多,如NAT转换

Layer7  能使iptables基于应用层过滤

Squid 是一个应用层代理服务器,不仅可以过滤网络层、还可以过滤应用层,就是支持的应用比较少。

所以iptables+l7+squid不愧是一个完美组合。下面就通过一个小案例来说明一下

一个公司有两个部门和一个经理部,要求对他们在上班时间(周一到周六 08:00--20:00)做如下的上网限制:

技术部:可以使用ftp来上传和下载资料 ,不允许使用QQ聊天,不允许浏览网页,不允许使用迅雷下载东西。

市场部:可以浏览网页,但不允许访问一些非法站点,如sina ,也不允许使用迅雷,和QQ聊天,不允许使用pplive,不允许浏览图片,每个用户的最大连接数为5

经理办  http qq 都可以使用

下班后,没用任何限制。

公司还要发布自己的www服务器

Linux防火墙的eth0网卡连接内网,eth1网卡连接外网,eth2网卡连接DMZ

Eth0  192.168.101.166

Eth1  192.168.2.253

Eth2  192.168.3.253

技术部ip范围  192.168.2.1----192.168.2.100

市场部ip范围  192.168.2.101-----192.168.2.200

经理办ip范围  192.168.2.201---192.168.2.210

www服务器ip地址为 192.168.3.66

拓扑图就不画了

分析:

ftp的控制我们使用iptables ,对于QQ的聊天、迅雷下载控制我们用L7控制,对于网页浏览、禁止浏览非法站点,图片信息我们用squid控制。

1、首先开启数据包转发功能

vim /etc/sysctl.conf

net.ipv4.ip_forward = 1  --修改为1即开启转发

sysctl -p              --立即生效

2、设置默认拒绝所用

iptables -P INPUT DROP

iptables -P OUTPUT DROP

iptables -P FORWARD DROP

3、配置SNAT,使内网用户可以上网

iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -o eth1 -j MASQUERADE

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

转载注明出处:http://www.heiqu.com/8bf1e7da276e37d650d82ba890db4e88.html