两台服务器要ping通,核心就三步:确认IP地址可达、中间路由没丢包、两边防火墙都放行ICMP协议。 大多数情况下,问题不是出在物理链路,而是出在防火墙规则或路由表上。
服务器ping不通怎么排查?先看这三层
拿到两台服务器,先别急着敲命令,咱们把排查思路拆成三层:网络层、防火墙层、服务层,多数场景下,ping不通都是网络层或防火墙层的问题。
网络层:先确认IP和路由是否可达
在一台服务器上ping另一台服务器的内网IP或公网IP,如果完全不回包,先看IP是不是同一个网段。
- 同一网段:直接看ARP条目,用
arp -a查看对端MAC是否解析出来,解析不出来,说明二层不通,检查交换机端口和VLAN。 - 跨网段:需要经过网关或路由器,此时在服务器上执行
traceroute(Linux)或tracert(Windows),看看数据包走到哪一跳断了,如果第一跳就是网关,第二跳没响应,问题出在网关或路由策略。 - 检查本地路由表:
ip route(Linux)或route print(Windows),确保默认网关正确,通往目标网段的下一跳地址存在。
行业共识认为,超过70%的ping不通案例,根源在防火墙而非物理链路,所以网络层没发现明显断点,就转向防火墙。
防火墙层:Linux和Windows规则不同
Linux服务器最常见的坑是firewalld或iptables默认拒绝ICMP,Windows服务器则要检查”文件和打印机共享(回显请求)”是否启用,后面会分节专门讲操作。
服务层:ping通了但业务访问不了
如果ping通了,但SSH、网站、数据库连不上,那就不是ping的问题,此时用telnet IP 端口或nc -vz IP 端口测试目标端口是否开放,记住一点:ping通只代表网络层通,不代表应用层通。
两台服务器跨网段ping通要配什么
两台服务器不在同一个网段时,要ping通,关键在中间设备的路由表,作为服务器端的配置,主要看网关和静态路由。
场景:内网跨VLAN的两台服务器
假设服务器A在192.168.1.0/24,服务器B在192.168.2.0/24,它们各自网关指向核心交换机或路由器。
- 在A上执行:
ping 192.168.2.10(B的IP) - 如果超时,先ping自己的网关:
ping 192.168.1.1,通了说明本地链路正常。 -
再ping对端网关:
ping 192.168.2.1,通了说明中间三层设备间路由正常。 - 最后ping B,如果对端网关通但B不通,检查B的防火墙是否禁ping,以及B是否配置了回程路由。回程路由经常被忽略B收到ICMP请求后,如果不知道如何回应A的网段,就会静默丢弃。
场景:公网IP的两台服务器
两台服务器都有公网IP,互相ping不通,先检查云服务商的安全组或防火墙策略,简米云、酷番云、华为云的服务器,即使系统内防火墙放行了ICMP,安全组入方向规则里没有放通”ICMP(以简米云为例)”或”全部ICMP”,一样ping不通。
| 位置 | 常见默认状态 | 放行方法 |
|---|---|---|
| 云平台安全组 | 入方向默认拒绝ICMP | 控制台添加入方向规则,协议选ICMP |
| Linux系统防火墙 | firewalld默认放行,iptables默认拒绝 | 根据实际情况调整 |
| Windows系统防火墙 | 默认阻止回显请求 | 启用”回显请求”规则 |
| 物理机房防火墙 | 通常由机房策略控制 | 提交工单或自行配置策略 |
Linux服务器禁ping怎么设置?临时放行的方法
运维人员经常故意禁ping来隐藏服务器,但事后自己都忘了,如果你发现两台服务器ping不通,而其中一台是Linux,大概率是禁ping了。
查看当前ICMP策略
sysctl net.ipv4.icmp_echo_ignore_all
输出为0表示允许ping,输出为1表示禁ping,如果为1,执行下面命令临时放开:
sysctl -w net.ipv4.icmp_echo_ignore_all=0
注意,这条命令重启后失效,要永久生效,编辑/etc/sysctl.conf文件,添加或修改:
net.ipv4.icmp_echo_ignore_all = 0
然后执行sysctl -p使配置生效。
是firewalld还是iptables在管?
以CentOS 7以上为例,系统内置firewalld,检查ICMP是否被拒绝:
firewall-cmd --list-all
如果看到icmp-block-inversion或者block-icmp相关操作,执行:
firewall-cmd --permanent --add-icmp-block-inversion firewall-cmd --reload
如果用的是iptables,先查看规则:
iptables -L -n | grep icmp
有DROP或REJECT的匹配项,就删除它:
iptables -D INPUT -p icmp --icmp-type echo-request -j DROP
最后保存规则:service iptables save(仅适用于sysvinit系统)。
其他禁用ICMP的方式
部分安全软件也会拦截ping,比如安装了宝塔面板,可能在系统防火墙里单独屏蔽了ping,登录面板,在”安全”页面检查是否开启了禁ping开关。
服务器ping延时高怎么定位瓶颈
ping通但延时大,比如从1ms涨到200ms,这不是通不通的问题,而是质量差,常见原因有三种:链路绕路、带宽拥塞、服务器负载高。
用ping的连续输出判断
执行长ping:
ping -c 100 目标IP
观察min/avg/max/mdev四个值,如果avg正常但mdev波动特别大,说明链路抖动明显,如果avg整体偏高,先ping网关对比:
- 到网关延时高:说明本机所在的局域网有问题,可能是网卡协商速率错误或交换机拥塞。
- 到网关正常,到对端网关高:说明广域网链路或运营商中间节点存在丢包,用
traceroute看每一跳的延时。
两台服务器ping不通但业务必须通的时候
有些服务器禁ping是为了防扫描,但你不能因此放弃验证连通性,此时改用TCP ping工具,比如tcping:
tcping 目标IP 22
只要TCP端口能正常握手,就说明网络链路是通的,Linux下可以用nc -zv IP 端口代替,这样绕过了ICMP限制,直接验证应用端口。
云服务器场景的额外检查
很多云服务器默认禁ping,尤其是高防IP和高防源站,如果你租用的服务器是防DDoS的,机房可能会在防火墙上丢弃ICMP包来减轻攻击压力,这种情况下,不要执着于ping通,改用TCP端口测试更实际,正如业内专家指出的,ping不通不等于服务器不可用,关键看业务端口是否响应。
服务器ping不通怎么解决?按这两个案例操作
简米云服务器之间ping不通
问题描述:买了两台简米云ECS,同一账号同一地域,私网IP互相ping不通。
操作步骤:
- 登录简米云控制台,进入”ECS实例”,点击目标实例的”安全组”。
- 找到入方向规则,点击”手动添加”。
- 协议类型选”ICMP”,源地址填另一台ECS的私网IP,例如
格式,动作允许。/32
- 保存后,在服务器内部再次执行ping命令。
大多数情况下,这一步就能解决,如果还是不通,检查两台ECS是否在同一VPC下,不在同一VPC时,需要创建云企业网或使用VPC对等连接,并配置路由。
公司内部两台物理服务器ping不通
问题描述:两台物理服务器通过同一台交换机连接,IP为192.168.10.10和192.168.10.11,互相ping不通。
排查步骤:
- 检查网线物理连接状态,看交换机端口指示灯是否亮起。
- 在A服务器上
ping 192.168.10.10(本机IP),通说明网卡和IP配置正常。 - 查看B服务器防火墙是否开启,CentOS 7执行
systemctl status firewalld,如果运行中,执行systemctl stop firewalld测试。 - 如果停掉防火墙后通了,则添加放行规则:
firewall-cmd --permanent --add-rich-rule='rule protocol value=icmp accept'
- 如果依然不通,用
ethtool检查网卡协商速度:
ethtool eth0
看到Speed: 100Mb/s而交换机和网线都支持千兆时,更换网线通常能解决。
Q&A:两台服务器之间ping相关高频问题
问:两台服务器禁ping了,还有必要让它们互相ping通吗?
没有绝对必要,如果业务不依赖ICMP,禁ping可以降低被扫描到的概率,但建议保留内网IP之间的ICMP放行,方便运维排障,公网IP可以继续禁ping,两边业务访问走TCP端口即可。
问:ping通了但丢包严重是怎么回事?
多数情况下,这是链路拥塞或中间防火墙限速导致,先ping局域网网关,如果网关也丢包,检查网络带宽和交换机流量,如果网关正常而对端丢包,大概率是运营商链路或对端机房防火墙做了ICMP限速策略,换个时间段再测,如果持续丢包,提交工单给网络服务商,并附上ping -c 1000的输出记录。
问:Windows服务器怎么允许ping而不关闭防火墙?
打开”Windows Defender防火墙”,点击”高级设置”,在”入站规则”里找到”文件和打印机共享 (回显请求 – ICMPv4-In)”,右键启用该规则即可,如果找不到,也可以新建一条自定义入站规则,协议类型选择ICMPv4,操作选”允许连接”,这样系统防火墙保持开启,但ping请求能够正常通过。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/739228.html





