企业中squid+iptables多模块的综合应用案例
?案例配置要求:?
公司有三個(gè)部門(mén):工程部門(mén)(2..10--2.20)、軟件部門(mén)?(?2.21--2.30)、經(jīng)理辦?(2.31--2.40)、
以及DMZ?區(qū)域(192.168.3.100)web服務(wù)器
上班時(shí)間?(周一---周五?08:00--18:00)?
??????工程部門(mén)???上班時(shí)間僅能登錄ftp,不能qq聊天,不允許http?,不能使用迅雷,下班后無(wú)限制
??????軟件部門(mén)??可以使用http,不允許站點(diǎn)sina?,不允許使用迅雷?,連接數(shù)?最多3個(gè),,不允許看圖片,不允許qq聊天,不允許使用pplive?,下班后無(wú)限制
??????經(jīng)理辦公室???http?、qq聊天都可以,下班后無(wú)限制
??????dmz區(qū)域:實(shí)現(xiàn)對(duì)www服務(wù)器的發(fā)布
周六、日任何部門(mén)都可以正常上網(wǎng)。
案例拓?fù)?/span>
案例分析:
1、針對(duì)工程部門(mén),通過(guò)iptables+l7等模塊實(shí)現(xiàn)控制;
2、軟件部門(mén)、經(jīng)理辦公室,根據(jù)要求要通過(guò)squid與iptables+L7等模塊結(jié)合實(shí)現(xiàn);
3、周一到周五上班時(shí)間通過(guò)squid透明代理實(shí)現(xiàn)上網(wǎng),下班后,通過(guò)nat實(shí)現(xiàn)上網(wǎng);
4、周六、周日也通過(guò)squid透明代理實(shí)現(xiàn)上網(wǎng),并不做任何限制。
注:squid透明代理實(shí)現(xiàn)過(guò)程:
當(dāng)我們?cè)诳蛻舳藶g覽器中打開(kāi)一個(gè)web請(qǐng)求,比如“http://liuyuan51.blog.51cto.com”,這時(shí)將陸續(xù)發(fā)生以下事件:
1.客戶端向DNS請(qǐng)求“liuyuan51.blog.51cto.com”,得到相應(yīng)的IP地址2.3.4.5。然后,客戶端使用某一端口(比如1066)向該IP地址的80端口發(fā)起web連接請(qǐng)求,請(qǐng)求web頁(yè)面。
2.當(dāng)該請(qǐng)求包通過(guò)透明代理服務(wù)器時(shí),被squid防火墻將該數(shù)據(jù)包重定向到代理服務(wù)器的綁定端口3128。于是,透明代理服務(wù)器用某一端口(比如1088)向2.3.4.5的80端口發(fā)起web連接請(qǐng)求,請(qǐng)求web頁(yè)面。
3.收到響應(yīng)的web頁(yè)面后,代理服務(wù)器把該數(shù)據(jù)傳送給客戶端。
4.客戶端瀏覽器顯示該頁(yè)面。
從liuyuan51.blog.51cto.com的角度看來(lái),連接是在192.168.101.111地1088端口和2.3.4.5的80端口之間建立的。從client的角度看來(lái),連接是在192.168.1.100的1066端口和2.3.4.5的80端口之間建立的。
案例配置過(guò)程:
1、地址規(guī)劃:
防火墻:eth0:?192.168.101.111/24
????????eth1:192.168.2.1/24
????????eth2:192.168.3.1/24
工程部門(mén)??192.168.2.10--192.168.2.20
軟件部門(mén)??192.168.2.21--192.168.2.30
經(jīng)理辦????192.168.2.31--192.168.2.40
DMZ????192.168.3.100????web服務(wù)器
2、首先開(kāi)啟路由功能
#?vim?/etc/sysctl.conf?
7?net.ipv4.ip_forward?=?1
#sysctl?-p?/etc/sysctl.conf???//加載配置文件使更改生效
3、配置一條規(guī)則SNAT規(guī)則,實(shí)現(xiàn)可以正常訪問(wèn)外網(wǎng)
iptables?-t?nat?-A??POSTROUTING??-s?192.168.2.0/24???-o?eth0?-j?MASQUERADE
#--設(shè)置filter表的默認(rèn)規(guī)則,拒絕所有---
iptables?-P?INPUT??DROP
iptables?-P?OUTPUT??DROR
iptables?-P?FORWARD??DROP
工程部門(mén)
???#僅允許訪問(wèn)外網(wǎng)ftp
iptables?-t?filter?-A?FORWARD?-m?iprange?--src-range?192.168.2.10-192.168.2.20?-m?time?--timestart?08:00??--timestop?18:00?--weekdays?Mon,Tue,Web,Thu,Fri??-p?tcp?--dport?21??-j?ACCEPT
???#針對(duì)狀態(tài),允許ftp數(shù)據(jù)包返回----
iptables?-t?filter?-A??FORWARD?-m?state?--state?ESTABLISHED,RELATED??-j?ACCEPT
???#----工作時(shí)間拒絕qq聊天-------
iptables?-t?filter?-A?FORWARD?-m?iprange??--src-range?192.168.2.10-192.168.2.20?-m?time?--timestart?08:00??--timestop?18:00?--weekdays?Mon,Tue,Web,Thu,Fri?-m?layer7?--l7proto?qq?-j?DROP
??#---下班后,因?yàn)槎际菬o(wú)限制,直接寫(xiě)一個(gè)網(wǎng)段---
iptables?-t?filter?-A?FORWARD?-s?192.168.2.0/24?-m?time?--timestart?18:01??--timestop?07:59?--weekdays?Mon,Tue,Web,Thu,Fri?-j?ACCEPT?
軟件部門(mén)、經(jīng)理辦
?#上班時(shí)間通過(guò)squid來(lái)整體控制192.168.2.21-40網(wǎng)段
#周一到周五
iptables?-t?nat?-A?PREROUTING?-m??iprange?--src-range?192.168.2.21-192.168.2.40?-m?time?--timestart?08:00?--timestop?18:00?-p?tcp?--dport?80?-j?REDIRECT?--to-port?3128
#周六、日
iptables?-t?nat?-A?PREROUTING?-m??iprange?--src-range?192.168.2.10-192.168.2.40?-m?time?--weekdays?Sun,Sat??-p?tcp?--dport?80?-j?REDIRECT?--to-port?3128
?#周一到周五允許客戶端dns查詢(xún)通過(guò)
iptables?-t?filter?-A?FORWARD?-m?iprange?--src-range?192.168.2.21-192.168.2.40?-m?time?--timestart?08:00?--timestop?18:00?--weekdays?Mon,Tue,Wed,Thu,Fri?-p?udp?--dport?53?-j?ACCEPT
#周六、日允許客戶端dns查詢(xún)通過(guò)
?iptables?-t?filter?-A?FORWARD?-m?iprange?--src-range?192.168.2.10-192.168.2.40?-m?time??--weekdays?Sat,Sun?-p?udp?--dport?53?-j?ACCEPT
#針對(duì)squid,iptables配置
#iptables?-t?filter?-A?INPUT?-p?tcp?--dport?3128?-j?ACCEPT
#iptables?-t?filter?-A?OUTPUT?-p?tcp?-m?state?--state?ESTABLISHED?-j?ACCEPT
#iptables?-t?filter?-A?OUTPUT?-p?tcp?--dport?80?-s?192.168.101.111?-j?ACCEPT
#iptables?-t?filter?-A?INPUT??-m?state?--state?ESTABLISHED?-j?ACCEPT
#iptables?-t?filter?-A?OUTUT?-p?udp?--dport?53?-j?ACCEPT???//dns查詢(xún)
#-----squid的透明代理配置,
#?vim?/etc/squid/squid.conf
929?http_port?3128?transparent
3004?visible_hostname???192.168.2.1
4138?dns_nameservers??222.88.88.88?222.85.85.85???//指明dns_nameserver
#------squid的控制部分
?590?acl?soft??src?192.168.2.21-192.168.2.30
?591?acl?worktime?time?MTWHF?08:00-18:00
?592?acl?p_w_picpaths?urlpath_regex?-i?\.jpg$
?593?acl?sina???url_regex?-i?sina
?594?acl?connumber?maxconn?3
?595?acl?jingli??src??192.168.2.31-192.168.2.40
?596?http_access?allow?soft?worktime?!p_w_picpaths?!sina??!connumber??//軟件部門(mén)
?597?http_access?allow?jingli??????????//經(jīng)理辦
?598?acl?suoyou??src?192.168.2.10-192.168.2.40
?599?http_access?allow?suoyou??
#?service?squid?start???啟動(dòng)squid服務(wù)
#-----允許經(jīng)理辦上班時(shí)間qq聊天
iptables?-t?filter?-A?FORWARD?-m?iprange??--src-range??192.168.2.31-192.168.2.40?-m?time?--timestart?08:00?--timestop?18:00?--weekdays?Mon,Tue,Web,Thu,Fri?-m?layer7?--l7proto?qq?-j?ACCEPT
?
DMZ區(qū)域web服務(wù)器發(fā)布
??#---Web服務(wù)器發(fā)布-----
#iptables?-t?nat?-A?PREROUTING??-d?192.168.101.111?-p?tcp?--dport?80?-i?eth0?-j?DNAT?--to?192.168.3.100
#iptables?-t?filter?-A?FORWARD?-d?192.168.3.100?-p?tcp?--dport?80?-i?eth0?-j?ACCEPT
案例結(jié)束。
轉(zhuǎn)載于:https://blog.51cto.com/colynn/1098217
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的企业中squid+iptables多模块的综合应用案例的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 时间显示软件SHOW_TIME的设计与实
- 下一篇: 教你如何取消GCD任务