Linux 默认是允许 ping 响应的, 也就是说 ping 是开启的, 但 ping 有可能是网络不安全的开始, 所以关闭 ping 可以提高服务器的安全系数.
系统是否允许 ping 由 2 个因素决定的: 1, 内核参数, 2, 防火墙.
需要两个因素同时允许才能允许 ping, 有任意一个禁止, ping 就无法开启. 下面宵云网络就说下具体的配置方法:
1, 内核参数设置
允许 / 禁止 ping 设置 (默认允许 ping)
临时允许 / 禁止 ping 操作的命令为: 修改 /proc/sys.NET/ipv4/icmp_echo_ignore_all 文件的内容, 该文件内容只有 1 个字符, 0 为允许 ping,1 为禁止 ping, 无需重启服务器;
永久允许 / 禁止 ping 配置方法:
修改文件 /etc/sysctl.conf, 在文件末尾增加一行:
net.ipv4.icmp_echo_ignore_all = 1
如果已经有 net.ipv4.icmp_echo_ignore_all 这一行了, 直接修改 = 号后面的值即可的 0 表示允许, 1 表示禁止.
修改完成后执行 sysctl -p 使新配置生效 (重要).
2, 防火墙设置 (此处的方法的前提是内核配置是默认值, 也就是没有禁止 ping)
这里以 iptables 防火墙为例, 其他防火墙操作方法可参考防火墙的官方文档.
允许 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
禁止 ping 设置
iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -j drop
来源: http://www.bubuko.com/infodetail-3289663.html