一、内核参数设置(默认允许 ping)
修改icmp_echo_ignore_all文件的内容,该文件内容只有 1 个字符,0 为允许 ping,1 为禁止 ping,修改后立即生效;
[root@localhost ~]# echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all
//临时修改,重启会失效
或:
[root@localhost ~]# echo "net.ipv4.icmp_echo_ignore_all = 1" >> /etc/sysctl.conf
[root@localhost ~]# sysctl -p //使新配置立即生效
//永久修改,重启不会失效
二、防火墙设置(二选一)
1、使用Iiptables:
[root@localhost ~]# iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -j DROP
[root@localhost ~]# service iptables save //保存防火墙配置
命令注释:
-A INPUT :向INPUT规则链末尾添加条目
-p icmp :指定要匹配的数据包协议类型为icmp
--icmp-type 8:拒绝icmp类型为8的数据包,即请求包(Echo request),Linux收到需要回应请求,也就是常说的ping请求
-s:指定要匹配的数据包源ip地址为所有;
-j DROP:匹配到的数据包为丢弃
2、使用Firewalld(添加富规则,禁止icmp协议):
[root@localhost ~]# firewall-cmd --permanent --add-rich-rule='rule protocol value=icmp drop'
[root@localhost ~]# firewall-cmd --reload //重新加载防火墙,让配置立即生效