2013-02-01 78 views
1

我正在創建一個腳本,允許您阻止IP,端口,某些IP和端口以及DNS服務器。它基本上獲得了一個名稱並阻止了該人的某些地址。 問題是,我阻止了8.8.8.8。無論我嘗試了什麼,我都無法阻止它!IPTABLES如何阻止8.8.8.8

這裏是我到目前爲止已經試過:

iptables -A OUTPUT -p tcp -d 8.8.8.8 --destination-port 53 -j DROP 
iptables -A OUTPUT -p udp -d 8.8.8.8 --destination-port 53 -j DROP 
iptables -A OUTPUT -p -s 8.8.8.8 -j DROP 

即使

iptables -A OUTPUT -p udp -o eth0 --dport 53 -j DROP 

執行ping任何其他網站無法正常工作,同時查驗8.8.8.8仍然工程...

我的政策全部設置爲允許。我應該改變它們嗎?

我對此有點新,道歉,如果這一切似乎奇怪。謝謝!

回答

3

您試圖阻止OUTPUT鏈中的SOURCE地址。 8.8.8.8將是輸出鏈中的DESTINATION。在輸出鏈中的數據包的源通常是你在運行這些規則的機器...試試這些:

-A INPUT -s 8.8.8.8 -j DROP 
-A OUTPUT -d 8.8.8.8 -j DROP 

規則#1將下降未來任何數據包到您的系統,它起源於谷歌的公共DNS。規則#2將放棄任何數據包離開您的系統註定相同。

至於ping,請記住ping使用ICMP協議。你只是試圖阻止UDP。還請記住,如果請求或響應需要多於1個udp數據包,則DNS請求CAN使用TCP。