无法阻止 INPUT 链上的 DHCP 和其他流量

无法阻止 INPUT 链上的 DHCP 和其他流量

以下是我的命令的输出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 并且我需要阻止它。

谢谢!

答案1

ISC dhcpd, 为了各种相当烦人的原因使用原始套接字执行网络 I/O。对于其他技术原因,原始套接字绕过iptables处理(包括不适当命名的raw表),这使得当防火墙和主机在同一台机器上时,iptables 无法有效过滤 DHCP 服务器流量。

您可以在此处阅读有关原始套接字的信息http://www.linuxchix.org/content/courses/security/raw_sockets

DHCP 流量无论如何都会被广播,并且很难针对每个客户端进行阻止。那么为什么不直接关闭 dhcpd 守护进程呢?

相关内容