没有禁ping却ping不通的情况如何排查

  • by

客户端ping服务器ping不通

分析原因:
可能是服务器系统内部防火墙策略对客户端进行了ban设置。

解决办法:

这里用[$Eth0_IP]表示eth0网卡的IP地址,用[$Server_IP]为服务器的公网IP地址。

我们输入命令

tcpdump -i eth0 host [$Eth0_IP] | grep ICMP

来进行抓包准备

然后在客户端输入下面命令

ping [$Server_IP]

我们在服务器中可以看到,服务端没有发出响应包:

所有很可能是防火墙或第三方安全软件进行了ban设置

接着查看防火墙的配置信息,输入:

iptables -nL --line-number

这时可以看到防火墙对客户端的数据包采用了了DROP策略,所有服务器无法对客户端的数据包进行响应。

那么接下来,有两种解决方法:
第一是关闭防火墙
第二是删除对应的屏蔽规则

1、临时关闭防火墙,命令如下:

systemctl stop firewalld

2、删除屏蔽规则,命令如下:([$Client_IP]为客户端IP地址。)

iptables -D INPUT -s [$Client_IP] -j DROP

接着我们就可以ping一下服务器验证结果了。