我是艾西,在我们搭建网站或做某些程序时,不少人会问禁ping是什么意思,怎么操作的对于业务有哪些好处等,今天艾西一次给你们说清楚。
禁PING的意思是:不允许电脑、设备或服务器使用PING功能。一般情况下电脑、防火墙、服务器都是允许PING功能的,不需要特别设置不禁止PING,但是远程的服务器(比如某个网站会禁止PING功能也是根据自己业务的属性来去选择)
服务器禁ping的好处与坏处:
好处:一定程度上在互联网上隐藏自己防止一些批量扫描软件探测主机,减少被入侵的几率
坏处:无法使用常用的ping或者监控软件来检测站点是否正常,服务器是否在线,当别人PING用户的时候会耗费用户的连接资源。
所以利用禁止PING功能,去限制这方面的弊端,PING发送一个ICMP请求消息给目的地,并报告是否收到ICMP回话或者应答。
ping的影响因素
在物理链路连通和路由设置正确的情况下,使用Ping命令仍然ping不通,可能有以下几个问题:
1、网线刚插到交换机上就Ping通网关,忽略了生成树的收敛时间。当然,较新的交换机都支持快速生成树,或者有的管理员把用户端口(accessport)的生成树协议关掉那么问题就解决了。
2、不管中间经过了多少个节点,只要有节点(包括端节点)对ICMP信息包进行了过滤,Ping不通是正常的,最常见的就是防火墙的行为。
windows系统的相对来说还好操作些,艾西今天为大家普及一下linux系统禁ping命令以及禁ping如何解除!
Linux默认是允许Ping响应的,系统是否允许Ping由2个因素决定的:
内核参数
防火墙
需要2个因素同时允许才能允许Ping,2个因素有任意一个禁Ping就无法Ping,具体的配置方法如下:
内核参数设置
1、允许ping设置
1)临时允许PING操作的命令为:
#echo 0 >/proc/sys.NET/ipv4/icmp_echo_ignore_all
2)永久允许PING配置方法
/etc/sysctl.conf中增加一行
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 中增加一行
net.ipv4.icmp_echo_ignore_all=1
如果已经有net.ipv4.icmp_echo_ignore_all这一行了,直接修改=号后面的值即可的。(0表示允许,1表示禁止)
修改完成后执行sysctl -p使新配置生效。
特别注意:这种禁止ping的方式,会导致本地服务ping其它服务器的ip也ping不同。
二、防火墙设置
注:使用以下方法的前提是内核配置是默认值,也就是内核没有禁ping
1、允许PING设置
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT
或者也可以临时停止防火墙:
service iptables stop
2、禁止PING设置
iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -j DROP
--icmp-type 8 echo request 表示回显请求(ping请求)
0/0 表示所有 IP