Linux 设置禁 ping
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

浙公网安备 33010602011771号