Linux 禁用或丢弃/阻止所有 ping 数据包
问:如何禁用或丢弃所有 ping 数据包?
A. 一般可以使用iptables来阻止或者允许ping请求。
您可以设置内核变量以丢弃所有 ping 数据包。在 shell 提示符下输入以下命令:
# echo “1” > /proc/sys/net/ipv4/icmp_echo_ignore_all
这指示内核忽略所有 ping 请求(ICMP 类型 0 消息)。要启用 ping 请求,请输入以下命令:
echo “0” > /proc/sys/net/ipv4/icmp_echo_ignore_all
您可以将以下行添加到 /etc/sysctl.conf 文件:
# vi /etc/sysctl.conf
附加以下行:
net.ipv4.icmp_echo_ignore_all = 1
保存并关闭文件。
有时 ping 请求对于测试您自己的服务器很方便。您可以在防火墙中禁用 ICMP 类型 0 消息,以便本地管理员继续对自己的服务器使用 ping 命令。以下命令阻止所有 ICMP 数据包(包括 ping 请求):
# iptables -A INPUT -p icmp -j DROP