一般情况下,可以使用ping命令简单了解某台远程服务器的延迟情况,以便大概了解访问速度情况。
但有时候会发现,当ping某台服务器的IP时,可能会出现ping不通的情况,但是却可以访问,这个是怎么回事?其实是这台服务器设置经用ping命令。
如果你使用的是centos7系统,不想别人ping你的主机话,可以通过设置禁用ping命令来实现,具体方法如下。
临时禁用ping
将/proc/sys/net/ipv4/icmp_echo_ignore_all文件里面的0临时改为1,从而实现禁止ICMP报文的所有请求,达到禁止Ping的效果。
这样网络中的其他主机Ping该主机时会显示“请求超时”的错误,但该服务器此时是可以Ping其他主机的。
永久禁用ping
#编辑配置
vim /etc/sysctl.conf
#设置禁ping(如果有无需重复添加)
net.ipv4.icmp_echo_ignore_all = 1
#刷新配置
sysctl -p
#启用ping
net.ipv4.icmp_echo_ignore_all = 0
IPTABLES防火墙禁ping
经用ping
iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -j DROP
启用ping
iptables -D INPUT -p icmp --icmp-type 8 -s 0/0 -j DROP
#参数备注
-A:添加防火墙规则
INPUT:入站规则
-p icmp:指定包检查的协议为ICMP协议
--icmp-type 8:指定ICMP类型为8
-s:指定IP和掩码,“0/0”表示此规则针对所有IP和掩码
通过以上配置之后,内部ping也将失效,而通过防火墙方式禁止ping后,可以ping自己内部网络。
设置好之后,再次通过命令ping我的IP或者www.appjzw.com 域名就会出现类似下图的错误。
原文地址:https://blog.51cto.com/14345315/2481567