如何允许您的机器使用 icmp?

如何允许您的机器使用 icmp?

我想允许我的服务器使用 icmp (ping)。我正在阅读有关 IPTables 的内容,并了解到要允许 ping 到您的计算机,您需要具有 INPUT 规则和 FORWARD 规则。由于 INPUT 仅处理输入和 ping 路由,因此您需要在 FORWARD 链上启用它。

同事告诉我,我们用iptables来配置权限。所以我假设我们使用 ipv6。我被告知有一个 INPUT 规则,但仍然 ping 不通。那时我想知道它是否也需要相应的 FORWARD 规则。有办法解决这个问题吗?

谢谢。

答案1

首先:我猜“服务器”是指基于 GNU/Linux 的服务器,而“ping”是指传统的 IPv4 ICMP 回显请求?

通常默认情况下允许 Ping。

要检查基于 GNU/Linux 的服务器上是否启用了 IPv4 ping 转发器,请在服务器上运行以下命令:

cat /proc/sys/net/ipv4/icmp_echo_ignore_all

它应该输出0这意味着 ping 是已启用,即 IPv4 ICMP 回显请求不会被忽略。

  • 但在不太可能的情况下,它确实输出了1(这意味着 ping 是残疾人),在您的服务器上运行以下命令作为根用户:

    sysctl -w net.ipv4.icmp_echo_ignore_all=0
    

    您的服务器现在应该响应 IPv4 ping。如果您希望它在重新启动后永久存在,请将此行添加到/etc/sysctl.conf

    net.ipv4.icmp_echo_ignore_all=0
    

PS IPv6 ping 是一头不同的野兽,需要iptables配置来驯服。

相关内容