利用 Iptables 和 squid 來達到限制 MSN 存取限制
這個文件是2004寫的,如果 MSN Server IP 有變更的話請自行 netstat 找出來,squid.conf 應用方式應該都是差不多。
方法一:只使用
iptables
|
echo “1″ > /sbin/iptables -F /sbin/iptables -X /sbin/iptables -t nat -F /sbin/iptables -t nat -X /sbin/iptables -t nat -A POSTROUTING -s /sbin/iptables -t nat -A POSTROUTING -s /sbin/iptables -t nat -A POSTROUTING -s /sbin/iptables -t nat -A POSTROUTING -s /sbin/iptables -t nat -A POSTROUTING -s /sbin/iptables -t |
上面的 IP 是台灣 MSN 的 ip 網段,port 1863 是 msn 的 port,iptables rules 是有順序的,先要檔掉之後再去做 IP 偽裝的部分,不然一旦先下了偽裝規則之後再來檔就不會生效了,如果只要用iptables 來檔msn 的話,一樣要將內部允許使用的 ip 先寫在前面
方法二:iptables + squid
一樣,將上面那一串當作預設的 iptables rules,接下來就是 squid 的設定了。
Iptables rules
|
/sbin/iptables -t nat -A PREROUTING -p |
因為要使用 proxy 代理,而且 msn 無法使用 1863 port 出去之後會使用80 port 出去,所以存取控制要寫在 squid.conf 裡面
/etc/squid/squid.conf
|
acl seednetoffice src 192.168.100.0/255.255.255.0 #定義所有的內部ip acl SeednetofficeAllowMsnIP src “/etc/squid/SeednetofficeAllowMsnIP” #定義內部可以使用 msn 的 ip acl MsnIP src “/etc/squid/MsnIP” #MSN Server 的 ip acl msnmessenger url_regex -i gateway.dll #MSN 連結的網址 http://gateway.messenger.hotmail.com/gateway/gateway.dll? http_access allow SeednetofficeAllowMsnIP msnmessenger #允許 SeednetofficeAllowMsnIP 存取 msnmessenger http_access deny seednetoffice MsnIP #seednetoffice 不能存取 MnsIP http_access deny seednetoffice msnmessenger #seednetoffice 不能存取 msnmessenger http_access allow localhost http_access allow seednetoffice #允許 seednetoffice 上網 http_access allow deny all |
Squid.conf 的設定也是有順序的,以後只要有人要使用 MSN只要在 /etc/squid/SeednetofficeAllowMsnIP 加入 ip 即可,一行一個 ip




