![Linux 相当于“无 ICMP 不可达”和“无 ICMP 掩码应答”吗?](https://linux22.com/image/730809/Linux%20%E7%9B%B8%E5%BD%93%E4%BA%8E%E2%80%9C%E6%97%A0%20ICMP%20%E4%B8%8D%E5%8F%AF%E8%BE%BE%E2%80%9D%E5%92%8C%E2%80%9C%E6%97%A0%20ICMP%20%E6%8E%A9%E7%A0%81%E5%BA%94%E7%AD%94%E2%80%9D%E5%90%97%EF%BC%9F.png)
我有一台用作路由器的 Linux 机器。它安装了 quagga 并启用了 IP 转发。它与 3925 Cisco 路由器形成 OSPF 邻接。
我被要求确保这台 Linux 机器(运行 Redhat 6.8)不会发送任何 ICMP 无法到达通知。我知道在 Cisco 路由器上,我只需在任何需要它的接口上设置“no icmp unreachable”即可。但我如何确定它们在 Linux 机器上被禁用了?
我还被要求确保路由器不会发送任何“ICMP Mask Reply”消息。同样,我知道在 Cisco 路由器上会使用“no ip mask-reply”命令。Redhat 中是否有等效类型的设置?
谢谢你的帮助。
答案1
首先,我非常讨厌阻止 ICMP 消息的想法。这确实让事情变得很困难。
无论如何,我相信大多数人只是通过使用 netfilter(iptables/ip6tables)规则来处理这个问题,并根据需要阻止某些事情。
答案2
我了解到完成这些事情的唯一方法是使用防火墙/iptables 将它们过滤掉。
http://blogs.reliablepenguin.com/2009/11/17/iptables-filter-icmp-address-mask-reques