iT邦幫忙

11

如何在iptables的防火牆上終止一個進行中的TCP連線?...Part 2 of 2

接續上一次的分享,測試過cutter但是沒有達到預期的功能,想一想,既然是用iptables所建立的防火牆,那netfilter本身有沒有提供類似的功能軟體呢?那就找一找吧www.netfilter.org看看!!果不出其所然,有,就是conntrack-tools這個專案,趕緊試試吧!!
照例我也錄製了一段影片好與cutter作一個比較
上次提到利用cutter中斷正在進行中的TCP連線,但是結果不甚滿意。因為如果程式開另一個port,且是能夠接續前一傳輸的,那是無法完全斷絕的。為了這個問題,又再次上網尋求解答,突然念頭一閃,"iptables是Netfilter的,搞不好Netfilter會有解答!!!"。果然在Netfilter有一個專案conntrack-tools就可以符合我的需求:真的中斷進行中的TCP連線。一樣的,我又錄製一段影片以便說明。
安裝conntrack-tools只要照著網站上的說明安裝就可以了,缺什麼library就裝什麼library,很簡單。
利用這個工具中斷進行中的TCP連線原理很簡單:
"Delete one entry, this can be used to block traffic",就是將進行中的連線紀錄自iptables的資料中移除,這樣這筆連線就會在iptables的資料中找不到可依循的規則,自然形同中斷。要達到這個效果還必須設定/proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_be_liberal為"0"。
以下的影片與part 1一樣利用wget去下載CentOS 5.3的iso檔:
<object height="544" width="635"><param name="movie" value="http://www.youtube.com/v/XIvaCerhDYE&hl=zh_TW&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed allowfullscreen="true" allowscriptaccess="always" height="544" src="http://www.youtube.com/v/XIvaCerhDYE&hl=zh_TW&fs=1" type="application/x-shockwave-flash" width="635"></embed></object>
從影片中可以看到連線在傳輸到9%被中斷後就不會再繼續了,這就達到我的要求了!!


尚未有邦友留言

立即登入留言