基于这答案是,阻止端口 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
端口 67 UDP 是 DHCP 服务器使用的端口,因此我想在启动 DHCP 服务器之前验证该端口确实被阻止,以便我可以在沙箱中进行实验。
问题
由于它是 UDP 并且低于 1024,我如何确认它被阻止了?
答案1
您可以使用像 netcat 这样的工具(在服务器echo test | nc -u <other IP> 67
和另一台机器上nc -u -l -p 67
,或者使用 Wireshark 或类似工具)并查看是否弹出消息。
答案2
我确信您可以使用 Nmap 的 UDP 端口扫描来指定协议和端口。语法如下:
$ sudo nmap -sU -p port target
答案3
端口 67 UDP 是 DHCP 服务器使用的端口,因此我想在启动 dhcp 服务器之前验证该端口确实已关闭,以便我可以可以在沙箱中进行实验。
测试 DHCP 服务器应隔离在 VLAN 中,或配置不与现有 DHCP 范围重叠的拆分范围。如果测试和生产位于同一广播域中,则两者都可能收到广播,这可能会导致意外行为。请参阅:一个网络上有 2 个 DHCP 服务器
另外,您可以限制 dhcpd 监听此沙盒网络的接口。如果没有中继代理,它将看不到其他网络上的 DHCPDISCOVER 消息。