新聞中心
Iptables+l7+squid的應(yīng)用
Iptables是網(wǎng)絡(luò)層防火墻 ,主要用于網(wǎng)絡(luò)層、傳輸層的過濾,對應(yīng)用層的過濾較少,但是支持的應(yīng)用比較多,如NAT轉(zhuǎn)換
Layer7 能使iptables基于應(yīng)用層過濾
Squid 是一個應(yīng)用層代理服務(wù)器,不僅可以過濾網(wǎng)絡(luò)層、還可以過濾應(yīng)用層,就是支持的應(yīng)用比較少。
所以iptables+l7+squid不愧是一個完美組合。下面就通過一個小案例來說明一下
一個公司有兩個部門和一個經(jīng)理部,要求對他們在上班時間(周一到周六 08:00--20:00)做如下的上網(wǎng)限制:
技術(shù)部:可以使用ftp來上傳和下載資料 ,不允許使用QQ聊天,不允許瀏覽網(wǎng)頁,不允許使用迅雷下載東西。
市場部:可以瀏覽網(wǎng)頁,但不允許訪問一些非法站點,如sina ,也不允許使用迅雷,和QQ聊天,不允許使用pplive,不允許瀏覽圖片,每個用戶的大連接數(shù)為5
經(jīng)理辦 http qq 都可以使用
下班后,沒用任何限制。
公司還要發(fā)布自己的www服務(wù)器
Linux防火墻的eth0網(wǎng)卡連接內(nèi)網(wǎng),eth2網(wǎng)卡連接外網(wǎng),eth3網(wǎng)卡連接DMZ
Eth0 192.168.101.166
Eth2 192.168.2.253
Eth3 192.168.3.253
技術(shù)部ip范圍 192.168.2.1----192.168.2.100
市場部ip范圍 192.168.2.101-----192.168.2.200
經(jīng)理辦ip范圍 192.168.2.201---192.168.2.210
www服務(wù)器ip地址為 192.168.3.66
拓撲圖就不畫了
分析:
ftp的控制我們使用iptables ,對于QQ的聊天、迅雷下載控制我們用L7控制,對于網(wǎng)頁瀏覽、禁止瀏覽非法站點,圖片信息我們用squid控制。
1、首先開啟數(shù)據(jù)包轉(zhuǎn)發(fā)功能
vim /etc/sysctl.conf
net.ipv4.ip_forward = 1 --修改為1即開啟轉(zhuǎn)發(fā)
sysctl -p --立即生效
2、設(shè)置默認拒絕所用
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
3、配置SNAT,使內(nèi)網(wǎng)用戶可以上網(wǎng)
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
--允許轉(zhuǎn)發(fā)的通過
(2)禁用QQ 、迅雷(不寫規(guī)則也是可以的,默認是拒絕的,加強一下)
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,來實現(xiàn)透明代理
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(這一條規(guī)則好像沒用流量匹配)
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控制
重啟squid
iptables -t filter -R FORWARD 8 -m iprange --src-range 192.168.2.201-192.168.2.210 -o eth2 -j ACCEPT
服務(wù)器發(fā)布
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
(星期六、日不允許的是。)功能以實現(xiàn)?。。。?/p>
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
分享文章:Iptables+l7+squid的應(yīng)用-創(chuàng)新互聯(lián)
網(wǎng)頁網(wǎng)址:http://fisionsoft.com.cn/article/ejedd.html