我想允许我的服务器使用 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
配置来驯服。