有时候你ping一些服务器或网站,你会发现ping不通,这个是因为对方出于安全因素(security reason)或避免网络拥堵(avoid network congestion)等原因,禁用了ping。ping除了用在网络诊断上,还为网络攻击者查找潜在攻击目标提供了方便;不响应ping可以降低系统的安全风险。譬如Ping洪水攻击(Ping of Death)。下面总结了一下Linux平台或Windows平台如何禁用ping命令的一些方法。

 

 

 

 

Linux服务器

 

 

Linux系统可以通过系统内核参数或防火墙来禁止ping,下面我们先来看看如何通过内核参数禁止ping命令。

 

 

 

内核参数禁用ping

 

 

如果你想禁用ping,只需要设置内核参数icmp_echo_ignore_all,此参数如果设置为非0,Linux会忽略所有ICMP_ECHO请求包。

 

[root@DB-Server ~]# echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

 

clip_image001

 

 

这个命令会立即生效,如果需要启用ping命令,将这个参数设置为0即可。

 

[root@DB-Server ~]# echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all

 

 

clip_image002

 

 

当然,这个设置只对当前环境生效,如果服务器重启时,这个设置就会失效。如果要永久生效,那么可以在配置文件/etc/sysctl.conf 增加参数net.ipv4.icmp_echo_ignore_all = 1,然后使用sysctl -p使之生效。当然,你也可以使用下面命令实现:

 

禁止ICMP包通行

 

echo net.ipv4.icmp_echo_ignore_all=1 >>/etc/sysctl.conf

 

允许ICMP包通行

 

echo net.ipv4.icmp_echo_ignore_all=0 >>/etc/sysctl.con

 

Logo

更多推荐