免责声明: 本文档可能包含第三方产品信息,该信息仅供参考。阿里云对第三方产品的性能、可靠性以及操作可能带来的潜在影响,不做任何暗示或其他形式的承诺。
问题描述
服务器系统内核没有禁ping的情况下,客户端ping服务器ping不通。
问题原因
服务器系统内部防火墙策略对客户端进行了ban设置。
解决方案
开始排查
- 登录服务器,执行以下命令,进行抓包准备。
tcpdump -i eth0 host [$Eth0_IP] | grep ICMP
说明:[$Eth0_IP]为eth0网卡的IP地址。
- 登录客户端,执行以下命令,测试客户端和服务器的连通性。
ping [$Server_IP]
说明:[$Server_IP]为服务器的公网IP地址。
排查结果分析
- 在服务器中,出现以下抓包结果,可以看到客户端以5秒一次的频率进行数据包的发送动作,但是服务器端没有发出响应包。
- 分析可能是服务器的防火墙或第三方安全软件进行了ban设置。
- 登录服务器,执行以下命令,查看防火墙配置信息。
iptables -nL --line-number
以下是详细配置信息,可以看到防火墙对客户端的数据包采用了了DROP策略,因此服务器无法对客户端的数据包进行响应。
解决方法
本文提供了关闭防火墙和删除对应的屏蔽规则两种方法,以下是详细信息。
关闭防火墙
登录服务器,在现场环境条件允许的情况下,可执行以下命令,临时关闭防火墙。
systemctl stop firewalld
删除屏蔽规则
登录服务器,执行以下命令,删除防火墙中对应的屏蔽规则。
iptables -D INPUT -s [$Client_IP] -j DROP
说明:[$Client_IP]为客户端IP地址。
结果验证
- 登录客户端,执行以下命令,确认客户端可以成功ping通服务器。
ping [$Server_IP]
- 登录服务器,获取以下抓包信息,确认服务器已返回响应信息。
适用于
- 云服务器ECS