iptables+squid

案例:

公司有三個部門

工程部門 2.10--2.20

軟件部門 2.21-2.30

經理辦 2.31-2.40

上班時間 (週一---週五 08:20:00)

工程部門 ftp 下班後無限制

軟件部門 http 不允許非法站點sina ,不允許使用迅雷 ,連接數 最多3個不允許聊天 不允許下載電影,不允許瀏覽圖片 下班後無限制

經理辦公室 http qq 都可以,下班後無限制

dmz區域www服務器進行發佈

iptable+l7 +squid +透明代理

 

image

1:把規則設置成全部禁止之前要讓你這臺機器可以ssh上不然自己會掉,還要讓你機器的內部可以通訊
Iptables –t filter –A INPUT –s 192.168.101.80 –p tcp –-dport 22 –m state –-state NEW,ESTABLISHED –j ACCEPT
Iptables –t filter –A OUTPUT –d192.168.101.80 –p tcp –-sport 22 –m state –-state ESTABLISHED –j ACCEPT
Iptables –t filter -A INPUT –i lo –j ACCEPT
Iptables –t filter -A OUTPUT –o lo –j ACCEPT

2:把所有規則設置成全部禁止的
Iptables –P INPUT  DROP
Iptables –P OUTPUT  DROP
Iptables –P FORWARD  DROP
3:先寫軟件部門的
首先讓軟件部門可以上網(通過透明代理服務器),然後再進行限制
Iptables –t nat –A PREROUTING –m iprange –-src-range 192.168.2.21-192.168.2.30 –m time –-timestart 08:00 –timestop 20:00 –p tcp --dport 80 –j REDIRECT –-to-ports 3128
Iptables –t filter –A INPUT –p tcp --dport 3128 –j ACCEPT
Iptables –t filter –A OUTPUT –m state –-state ESTABLISHED,RELATED –j ACCEPT
Iptables –t filter –A OUTPUT –p tcp –-dport 80 –j ACCEPT
Iptables –t filter –A OUTPUT –p udp –-dport  53 –j ACCEPT
Iptables –t filter –A INPUT –m state –-state ESTABLISHED,RELATED –j ACCEPT
Iptables –t filter –A FORWARD –m iprange –src-range 192.168.2.21-192.168.2.30 –p udp –-dport 53 –m time –-timestart 08:00 –-timestop
20:00 –o eth0 –j ACCEPT 
Iptables –t filter –A FORWARD –m state –-state ESTABLISHED,RELATED –j ACCEPT 
Iptables –t nat –A POSTROUTING –s 192.168.2.0/24 –o eth0 –j MASQUERADE
4:下面對軟件部進行訪問控制,首先用squid進行控制
Vim /etc/squid/squid.conf
首先做透明代理
900行左右的http_port 3128後面加上transparent
裏面插入
acl ruanjianbu src 192.168.2.21-192.168.2.30/255.255.255.255
411 acl worktime time M T W H F 08:00-20:00
412 acl badsite url_regex -i sina
413 acl badcont urlpath_regex  -i \.jpg$
414 acl maxconn  maxconn 200
415 http_access deny ruanjianbu worktime badsite
接着用iptables對qq和xunlei控制
iptables -t filter -A FORWARD -m iprange --src-range 192.168.2.21-192.168.2.30 -m time --timestart 08:00 --timestop 20:00 -m layer7 --l7proto qq -j DROP
iptables -t filter -A FORWARD -m iprange --src-range 192.168.2.21-192.168.2.30 -m time --timestart 08:00 --timestop 20:00 -m layer7 --l7proto xunlei -j DROP
5:下面開始寫經理辦的
iptables -t nat -A PREROUTING -m iprange --src-range 192.168.2.31-192.168.2.40 -p tcp --dport 80 -j REDIRECT --to-ports 3128
iptables -t filter -A FORWARD  -m iprange --src-range 192.168.2.31-192.168.2.40 -p udp --dport 53 -o eth0 -j ACCEPT
iptables -t filter -A FORWARD -m iprange --src-range 192.168.2.31-192.168.2.40 -m time --timestart 08:00 --timestop 20:00 -m layer7 --l7proto qq -j ACCEPT
6:最後寫工程部的
iptables -t nat -A POSTROUTING -m iprange --src-range 192.168.2.10-192.168.2.20 -m time --timestart 08:00 --timestop 20:00 -p tcp --dport 21 -j MASQUERADE
iptables -t filter -A FORWARD -m iprange --src-range 192.168.2.10-192.168.2.20 -m time --timestart 08:00 --timestop 20:00 -p tcp --dport 21 -j ACCEPT
modprobe ip_nat_ftp加載ftp模塊
7:對下班時候做控制
iptables -t filter -A FORWARD -s 192.168.2.0/24 -m time --timestart 20:01 --timestop 23:59 -j ACCEPT
iptables -t filter -A FORWARD -s 192.168.2.0/24 -m time --timestart 00:00 --timestop 07:59 -j ACCEPT
iptables -t nat -A PREROUTING -m time --timestart 20:01 --timestop 23:59 -p tcp --dport 80 -j REDIRECT --to-ports 3128
iptables -t nat -A PREROUTING -m time --timestart 00:00 --timestop 07:59 -p tcp --dport 80 -j REDIRECT --to-ports 3128
iptables -t nat -A POSTROUTING -m time --timestart 20:01 --timestop 23:59 -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -m time --timestart 00:00 --timestop 07:59 -o eth0 -j MASQUERADE
8:寫DMZ區域的(用遠程登陸模擬)
iptables -t nat -A PREROUTING -d 192.168.101.40 -p tcp --dport 3389 -j DNAT --to 192.168.3.100
iptables -t filter -A FORWARD -d 192.168.3.100 -p tcp --dport 3389 -j ACCEPT

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章