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

posted @ 2022-09-16 17:00  demoduan  阅读(220)  评论(0编辑  收藏  举报