Linux 设置禁 ping
kernel
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all(临时生效,重启后会恢复为0)
echo 'net.ipv4.icmp_echo_ignore_all=1' >>/etc/sysctl.conf ; sysctl -p(永久生效)
iptables
#1.拒绝客户端的 request
iptables -A INPUT -p icmp --icmp-type echo-request -j REJECT
此时客户端使用ping命令会显示:From xx.xx.xx.xx icmp_seq=x Destination Port Unreachable
#2.拒绝给客户端 reply
iptables -A OUTPUT -p icmp --icmp-type echo-reply -j REJECT
此时客户端使用 ping 命令会显示:PING xx.xx.xx.xx (xx.xx.xx.xx) 56(84) bytes of data.(如果不设置 ping 的次数或等待超时时间则会一直卡在这里)
#3.丢弃客户端的 request
iptables -A INPUT -p icmp --icmp-type echo-request -j DROP 或 iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -j DROP
此时客户端使用 ping 命令会显示:PING xx.xx.xx.xx (xx.xx.xx.xx) 56(84) bytes of data.(如果不设置 ping 的次数或等待超时时间则会一直卡在这里)
firewall
#1.添加icmp-block-inversion
firewall-cmd --add-icmp-block-inversion --permanent ; firewall-cmd --reload
#2.添加富规则
firewall-cmd --add-rich-rule='rule protocol value=icmp drop' --permanent ; firewall-cmd --reload