资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

Iptables+l7+squid的应用-创新互联

Iptables+l7+squid的应用

坚守“ 做人真诚 · 做事靠谱 · 口碑至上 · 高效敬业 ”的价值观,专业网站建设服务10余年为成都岗亭小微创业公司专业提供成都企业网站定制营销网站建设商城网站建设手机网站建设小程序网站建设网站改版,从内容策划、视觉设计、底层架构、网页布局、功能开发迭代于一体的高端网站建设服务。

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

    Layer7  能使iptables基于应用层过滤

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

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

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

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

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

经理办  http qq 都可以使用

下班后,没用任何限制。

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

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

Eth0  192.168.101.166

Eth2  192.168.2.253

Eth3  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 eth2 -j MASQUERADE

4、控制

(1) 允许ftp

iptables -t filter -A FORWARD -m iprange --src-range 192.168.2.1-192.168.2.100 -m time --timestart 08:00 --timestop 20:00 --weekdays Mon,Tue,Wed,Thu,Fri -p tcp --dport 21 -j ACCEPT

iptables -t filter -A FORWARD -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT

--允许转发的通过

(2)禁用QQ 、迅雷(不写规则也是可以的,默认是拒绝的,加强一下)

iptables -t filter -A FORWARD -m iprange --src-range 192.168.2.1-192.168.2.200 -m time --timestart 08:00 --timestop 20:00 --weekdays Mon,Tue,Wed,Thu,Fri -m layer7 --l7proto qq  -j DROP

iptables -t filter -A FORWARD -m iprange --src-range 192.168.2.1-192.168.2.200 -m time --timestart 08:00 --timestop 20:00 --weekdays Mon,Tue,Wed,Thu,Fri -m layer7 --l7proto xunlei  -j DROP

(3)squid的控制

Vim  /etc/squid/squid.conf  修改和添加如下几行如下:

919   http_port 3128  transparent

2994  visible_hostname 192.168.2.253

4134  dns_nameservers 222.88.88.88 222.85.85.85

重启squid,以上是squid的基本配置,下面的是控制配置

(4) iptables控制

iptables -t nat -A PREROUTING  -m time --timestart 08:00 --timestop 20:00 --weekdays Mon,Tue,Wed,Thu,Fri  -m connlimit --connlimit-above 5  --connlimit-mask 32 -p tcp --dport 80 -j REDIRECT --to-port 3128

--80端口重定上到3128,来实现透明代理

iptables -t filter -A OUTPUT -m state  --state EASTABLISHED -j ACCEPT

iptables -t nat -A POSTROUTING -m iprange --src-range 192.168.2.101-192.168.2.210 -m time --timestart 08:00 --timestop 20:00 --weekdays Mon,Tue,Wed,Thu,Fri -p udp --dport 53 -j MASQUERADE --DNS解析进行NAT(这一条规则好像没用流量匹配)

iptables -t filter -A FORWARD -m iprange --src-range 192.168.2.101-192.168.2.210 -m time --timestart 08:00 --timestop 20:00 --weekdays Mon,Tue,Wed,Thu,Fri -p udp --dport 53 -j ACCEPT  --

iptables -t filter -A OUTPUT -p tcp --dport 80 -s 192.168.101.166 -j ACCEPT

iptables -A INPUT -m state --state  ESTABLISHED -j ACCEPT

iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT  --允许squid代理的查询

iptables -t filter -A FORWARD -m iprange --src-range 192.168.2.101-192.168.2.200 -m layer7 --l7proto pplive -j DROP

市场部的squid控制

Iptables+l7+squid的应用

重启squid

Iptables+l7+squid的应用

iptables -t filter -R FORWARD 8  -m iprange --src-range 192.168.2.201-192.168.2.210 -o eth2 -j ACCEPT

服务器发布

iptables -t nat -A POSTROUTING -s 192.168.3.66/32 -o eth2 -j SNAT --to 192.168.101.166

5)下班后无限制

iptables -t filter -A  FORWARD   -m iprange --src-range 192.168.2.201-192.168.2.210 -o eth2 -j ACCEPT

(星期六、日不允许的是。)功能以实现!!!!

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


名称栏目:Iptables+l7+squid的应用-创新互联
路径分享:http://www.cdkjz.cn/article/ejedd.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220