我可以丢弃所有类型的 ICMP 数据包吗? IE iptables -I INPUT -p icmp -j DROP
。
除了一项服务之外,一切似乎都有效。我已经停止了这项服务。具体来说,我充当非退出 Tor 中继,但似乎已停止工作。在 2 天内我丢弃了 107K ICMP 数据包,这对我来说似乎太多了,不是吗?请注意,我运行一些其他服务(在开放端口上),例如比特币。
答案1
不,这不行。 ICMP 的存在是有原因的。例如,如果您丢弃所有 ICMP 数据包,您将无法通过 IP 与任何主机进行通信,而该主机的路由需要告诉您的机器对其发送的数据包进行分段。至少查看 ICMP 类型并仅删除那些您知道不需要的类型。
其他 StackExchange 站点对此进行了描述(按线索程度降序排列):
- https://serverfault.com/questions/84963/why-not-block-icmp
- https://superuser.com/questions/572172/what-are-reasons-to-disallow-icmp-on-my-server
- https://security.stackexchange.com/questions/22711/is-it-a-bad-idea-for-a-firewall-to-block-icmp
(还https://networkengineering.stackexchange.com/questions/2103/should-ipv4-icmp-from-untrusted-interfaces-be-blocked但只有一个答案,并且它承认存在一些偏见。它可能是标准知识,例如专业认证中的知识,因此它往往不会出现在专业网站上)。