Linux 默认是开启 ping 操作的,通过以下两种方式可以开启和关闭 ping 操作 。
1、修改内核参数
通过内核参数设置也有两种方式,一种是临时修改,一种是永久修改。
1.1 临时设置 PING 操作
# 禁止
echo 1 >/proc/sys/net/ipv4/icmp_echo_ignore_all
# 开启
echo 0 >/proc/sys/net/ipv4/icmp_echo_ignore_all
注意,icmp_echo_ignore_all 不是真实文件,因此不能通过 vim 来编辑修改。
1.2 永久设置 PING 操作
在 /etc/sysctl.conf 文件中增加一行:
# 禁止
net.ipv4.icmp_echo_ignore_all = 1
如果已经有 net.ipv4.icmp_echo_ignore_all 这一行了,直接修改 = 号后面的值即可(0表示允许,1表示禁止)
修改完成后执行 sysctl -p 使新配置生效。
2、设置防火墙
通过设置防火墙来关闭 ping 操作:
iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -j DROP
回车后直接生效无需重启 iptables。
这个命令只是针对 ping 操作来开启防火墙的,而不是完全开启防火墙。
当然,也可以通过设置防火墙来开启 ping 操作:
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT
或者直接关闭防火墙也可以:
service iptables stop
原创发布 @一像素 2018.07