详解Linux服务器禁止ping以及开启ping的方法--内核

2019-07-24 栏目:技术知识 查看()

基于安全考虑,很多服务器是禁ping的,那怎么实现服务器IP禁ping呢?

Linux默认是允许Ping响应的,系统是否允许Ping由2个因素决定的:A、内核参数,B、防火墙,需要2个因素同时允许才能允许Ping,2个因素有任意一个禁Ping就无法Ping。

具体的配置方法如下。

内核参数设置

1、允许PING设置

1)临时允许PING操作的命令为:#echo 0 >/proc/sys/net/ipv4/icmp_echo_ignore_all

2)***允许PING配置方法

/etc/sysctl.conf中增加一行


  1. net.ipv4.icmp_echo_ignore_all=0 

如果已经有net.ipv4.icmp_echo_ignore_all这一行了,直接修改=号后面的值即可的(0表示允许,1表示禁止)。

修改完成后执行sysctl -p使新配置生效。

 

 

2、禁止Ping设置

1)临时禁止PING的命令为:#echo 1 >/proc/sys/net/ipv4/icmp_echo_ignore_all

2)***允许PING配置方法

/etc/sysctl.conf 中增加一行


  1. net.ipv4.icmp_echo_ignore_all=1 

如果已经有net.ipv4.icmp_echo_ignore_all这一行了,直接修改=号后面的值即可的。(0表示允许,1表示禁止)

修改完成后执行sysctl -p使新配置生效。

 

 

ps:这种禁止ping的方式,会导致本地服务ping其它服务器的ip也ping不同。

防火墙设置(前提是内核配置是默认值,也就是没有禁止Ping)

这里以 iptables 防火墙为例,其他防火墙操作方法可参考防火墙的官方文档。

1、允许ping设置


  1. iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT 
  2. iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT 

或者也可以临时停止防火墙:


  1. service iptables stop 

2、禁止ping设置


  1. iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -j DROP 

实验过程中发现配置的策略不起作用,通过命令iptables -L查看,发现如下策略:

 

 

这条策略,需要注释掉,上述配置才有效。这条策略的配置如下:


  1. -A INPUT -p icmp -j ACCEPT 

上面主要讲了从内核参数和防火墙设置来设置服务器是否禁ping操作,对安全方面有要求的可以参考设置。

扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/安全交流

蔓捷信息