本文档以实战的形式介绍 RHEL7 禁止和开启 ping 的方法
一、内核参数设置
1、允许ping设置
临时
echo 0 >/proc/sys/net/ipv4/icmp_echo_ignore_all
永久
echo net.ipv4.icmp_echo_ignore_all=0 >> /etc/sysctl.conf
sysctl -p # 执行这条命令使更改后的 /etc/sysctl.conf 配置文件生效
注意:如果 /etc/sysctl.conf 配置文件里已经有 net.ipv4.icmp_echo_ignore_all 字段了,那么直接用 vim 进去更改对应的值即可。
2、禁止ping设置
临时
echo 1 >/proc/sys/net/ipv4/icmp_echo_ignore_all
永久
echo net.ipv4.icmp_echo_ignore_all=1 >> /etc/sysctl.conf
sysctl -p # 执行这条命令使更改后的 /etc/sysctl.conf 配置文件生效
注意:如果 /etc/sysctl.conf 配置文件里已经有 net.ipv4.icmp_echo_ignore_all 字段了,那么直接用 vim 进去更改对应的值即可。
二、防火墙设置
注:使用以下方法的前提是内核配置是默认值,也就是内核没有禁ping
1、允许PING设置
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT
2、禁止PING设置
iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -j DROP
--icmp-type 8 echo request 表示回显请求(ping请求)
0/0 表示所有 IP
总结
以上方法选择其中一种即可,希望能给大家带来帮助!