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

这是我的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和所有其他stream量正在通过…请告知如何只允许端口8080和端口2222连接,并放弃其他一切。

网络图

iptables规则正在FedoraRouter机器上设置。 而这个FedoraRouter机器分别在端口8080和2222上运行Apache和SSH。

客户端FedoraClientWinXP-Client需要访问这些服务。 我不能通过IP阻止他们,因为我将来会添加更多的计算机,除了HTTP和SSH通信之外,其他任何东西都需要被删除。

根据当前的设置 – 它允许DHCP数据包到路由器,路由器实际上运行DHCP,我需要阻止它。

谢谢!

ISC dhcpd ,因为各种令人讨厌的原因使用原始套接字执行它的networkingI / O。 由于其他技术原因 ,原始套接字绕过iptables处理(包括不适当的命名raw表),这使得iptables在防火墙和主机位于同一台机器上时无法过滤DHCP服务器通信。

你可以在这里阅读关于原始套接字http://www.linuxchix.org/content/courses/security/raw_sockets

无论如何,DHCPstream量都是广播的,要在每个客户端的基础上封锁它并不容易。 那你为什么不关掉dhcpd守护进程呢?