Security

無法阻止 INPUT 鏈上的 DHCP 和其他流量

  • October 4, 2016

這是我的iptables-save命令的輸出。最後一條規則和預設策略是丟棄任何不匹配的數據包。

Generated by iptables-save v1.4.9 on Wed Aug 3 21:00:05 2011
*filter
:INPUT DROP [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [76:6239]
-A INPUT -p -m tcp --dport 8080 -j ACCEPT
-A INPUT -p -m tcp --dport 2222 -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -j DROP

但令人驚訝的是,DHCP 和其他所有流量都通過了……請告知如何只允許埠 8080 和埠 2222 上的連接,並丟棄其他所有內容。

網路圖

iptables 規則正在FedoraRouter機器上設置。這FedoraRouter台機器分別在 8080 和 2222 埠上執行 Apache 和 SSH。

客戶FedoraClientWinXP-Client需要訪問這些服務。我無法通過 IP 阻止它們,因為我將來會添加更多電腦,通常需要刪除 HTTP 和 SSH 流量以外的任何內容。

根據目前設置 - 它允許 DHCP 數據包到路由器,路由器實際上正在執行 DHCP,我需要阻止它。

謝謝!

ISC dhcpd,出於各種相當煩人的原因,使用原始套接字來執行它的網路 I/O。由於其他技術原因,原始套接字繞過iptables處理(包括不恰當命名的raw表),當防火牆和主機在同一台機器上時,這使得 iptables 無法過濾 DHCP 伺服器流量。

您可以在此處閱讀有關原始套接字的資訊http://www.linuxchix.org/content/courses/security/raw_sockets

無論如何,DHCP 流量都是廣播的,並且很難在每個客戶端的基礎上阻止它。那麼為什麼不直接關閉 dhcpd 守護程序呢?

引用自:https://serverfault.com/questions/297383