基于这个答案,阻塞端口 67 UDP 传出应该是
firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 0 -p udp -m udp --dport=67 -j ACCEPT
firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 1 -j DROP
firewall-cmd --reload
UDP 67 端口是 DHCP 服务器使用的端口,所以我想在启动 DHCP 服务器之前验证该端口是否确实被阻塞,所以我可以在沙箱中进行试验。
问题
既然是 UDP 且低于 1024,我如何确认它被阻止了?
您可以使用 netcat 之类的工具(在服务器
echo test | nc -u <other IP> 67
上和另一台机器上nc -u -l -p 67
,或使用 Wireshark 或类似工具)并查看是否弹出消息。我很确定您可以使用 Nmap 的 UDP 端口扫描来指定协议和端口。语法如下:
测试 DHCP 服务器应在 VLAN 中隔离或配置不与现有 DHCP 范围重叠的拆分范围。如果测试和生产在同一个广播域中,任何一方都可能获得广播,这可能会导致意外行为。请参阅:一个网络上的 2 台 DHCP 服务器
此外,您可以限制 dhcpd 正在侦听此沙箱网络的接口。如果没有中继代理,它不会在其他网络上看到 DHCPDISCOVER 消息。