当前位置: > CentOS > CentOS入门 >

Centos5下安装iptables以及layer7协议(2)

时间:2014-08-25 13:00来源:linux.it.net.cn 作者:it

l7-filter 的語法與 iptables 類似, 在使用上差不多, 其格式大致如下:

iptables -t mangle -I POSTROUTING -m layer7 --l7proto http -j DROP

─┬── ───┬──── ──┬── ───┬───

使用 mangle 表格 │ 符合 Layer 7 的封包 │

使用 POSTROUTING 鏈 Layer 7 封包的通訊協定

其中比較需要注意的只有 --l7proto 參數後面所使用的 Layer 7 封包通訊協定, 它就是我們所要阻擋的封包類型。至於如何知道該填哪些名稱, 可由我們所安裝的 l7-filter 樣式檔得知。請檢視 /etc/l7-protocols 目錄下的 file_types、 protocols、weakpatterns、extra 及 malware 子目錄下附檔名為 pat 的檔案, 它們就是 l7-filter 的樣式檔。裡面有簡單的說明, 告訴您這個樣式檔可以過濾哪些類型網路軟體的封包, 以及它的過濾規則。而 --l7proto 參數後面僅需填樣式檔的名稱即可 (不含附檔名)。

過濾常見的即時通訊軟體

常見的即時通訊軟體有 MSN Messenger、Yahoo Messenger 和 ICQ, 若要擋下這些軟體, 所需要用到的 l7-filter 樣式檔有 /etc/l7-protocols/protocols/ 目錄下的 msnmessenger.pat、yahoo.pat 與 aim.pat。其中因為 ICQ 已經賣給 AOL (American online), 所以亦叫 AIM (AOL instant messenger)。

知道要使用哪些 l7-filter 樣式檔之後, iptables 的寫法如下:

# iptables -t mangle -I POSTROUTING -m layer7 --l7proto msnmessenger -j DROP

↑阻擋 MSN Messenger

# iptables -t mangle -I POSTROUTING -m layer7 --l7proto yahoo -j DROP

↑阻擋 Yahoo Messenger

# iptables -t mangle -I POSTROUTING -m layer7 --l7proto aim -j DROP

↑阻擋 ICQ

設定好後, 可如下檢視:

# iptables -t mangle -L POSTROUTING

↑檢視 mangle 表格的 POSTROUTING 鏈

Chain POSTROUTING (policy ACCEPT)

target prot opt source destination

DROP all -- anywhere anywhere LAYER7 l7proto aim

DROP all -- anywhere anywhere LAYER7 l7proto yahoo

DROP all -- anywhere anywhere LAYER7 l7proto msnmessenger

↑阻擋常見的即時通訊軟體

此後,只要使用者開啟即時通訊軟體時, 就會發現無法連上網路:

過濾常見的 P2P 軟體

常見的 P2P 軟體有 eMule、eDonkey、Kazaa 與 Bittorrent...等, 要擋這些軟體需要用到的 l7-filter 樣式檔有 /etc/l7-protocols/protocols 目錄下的 bittorrent.pat 與 fasttrack.pat

和 /etc/l7-protocols/weakpatterns 目錄下的 edonkey.pat 檔。

其中 bittorrent.pat 可以阻擋所有使用 bittorrent 通訊協定的軟體, 如 ABC、Bitcomet ...等。fasttrack.pat 可以阻擋 kazaa。edonkey.pat 可以阻擋所有使用 eDonkey 通訊協定的軟體, 如 eDonkey 與 eMule... 等。

設定方式如下:

# iptables -t mangle -I POSTROUTING -m layer7 --l7proto bittorrent -j DROP ←阻擋 bittorrent 通訊協定

# iptables -t mangle -I POSTROUTING -m layer7 --l7proto fasttrack -j DROP ←阻擋 kazaa

# iptables -t mangle -I POSTROUTING -m layer7 --l7proto edonkey -j DROP ←阻擋 eDonkey

檢視 mangle 表格的 POSTROUTING 鏈:

# iptables -t mangle -L POSTROUTING

Chain POSTROUTING (policy ACCEPT)

target prot opt source destination

DROP all -- anywhere anywhere LAYER7 l7proto edonkey

DROP all -- anywhere anywhere LAYER7 l7proto fasttrack

DROP all -- anywhere anywhere LAYER7 l7proto bittorrent

DROP all -- anywhere anywhere LAYER7 l7proto aim

DROP all -- anywhere anywhere LAYER7 l7proto yahoo

DROP all -- anywhere anywhere LAYER7 l7proto msnmessenger

這樣 P2P 軟體使用時會發生連線錯誤,日後也不能使用了。

l7-filter 還可以過濾很多的封包, 比方說可以限制傳輸 jpg 或 gif 格式的圖檔。當然還有其他更多的功能, 您可以自行閱讀 /etc/l7-protocols/ 目錄下的 l7-filter 樣式檔的說明以取得相關資訊

察看目前使用的模块

# lsmod

八、测试

uname -r 显示内核版本

iptables -V 显示iptables版本

ulimit -a 显示最大打开文件等参数

top 选择1 看多cpu支持情况

通过长篇文章的介绍,我们知道了Centos5下安装iptables以及layer7协议,希望对大家有所帮助!

(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容