下一跳消失了
网关通了,外网IP不通,最常见的坑是路由黑洞,服务器发了数据包出去,但沿途某个路由器没有回程路由,包就丢了,表现出来就是Ping一直超时,但Traceroute能看到中间经过几跳就不动了。
Traceroute逐跳定位
用 traceroute -n 223.5.5.5(Linux)或 tracert 223.5.5.5(Windows)查看路径,如果某一跳开始全是 ,问题基本就卡在这条线路上。
注意区分两种情况:
- 中途全丢:上一跳能通,下一跳全丢——上游路由出了问题,联系机房或者ISP核查路由表。
- 最后一跳丢:目标服务器的防火墙禁Ping,不代表服务不可用。
curl一下网站能通就没事。
还有一种隐蔽情况:服务器自己配置了策略路由,查看 ip rule,看有没有异常的表项把流量引到了错误的网关,常见于之前做过负载均衡或者双线接入的机器。
路由表配置错误
对于多网卡服务器,这个问题很典型,比如机器有内网和外网两张网卡,外网关写错了,或者内网网卡配了默认网关,优先级把外网路由顶掉了,手工改完记得用 ip route replace default via 正确网关 更新,而不是简单加一条——加一条会导致两条默认路由并存,流量走哪个看优先级,非常随机。
防火墙和安全组:沉默的拦截者
“路由没问题,为什么还是Ping不通?”——因为有人在门口拦着,这个“人”可能是服务器的本地防火墙,也可能是云平台的安全组。
本地防火墙规则
检查Linux的iptables或firewalld:
iptables -L -n | grep icmp
firewall-cmd --list-all
如果看到 ICMP 被DROP,放行即可,不过很多情况下是云平台的安全组默认只开放了少数端口,ICMP不在其中,去控制台检查入方向规则,确认是否放行了 ICMP 协议,注意:安全组是“白名单”逻辑,没写允许就是禁止。
放行ICMP的两个入口
- 云控制台:找到实例→安全组→入方向规则→添加ICMP允许。
- 服务器内部:
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT。
两个位置的处理逻辑完全不同,安全组没放行,服务器内部再怎么折腾都不通;安全组放行了,服务器内部规则还会二次拦截,排查时先看控制台,再看本机。
运营商和机房层面的封禁
有些场景下,问题不在你的服务器,而在链路的上游。 
如果服务器Ping不通外网,但同机房的别的机器Ping就通——大概率不是上游封禁,而是你的机器被误判为攻击源,这种情况要么联系机房把IP加入白名单,要么检查机器上是否有异常发包进程。
被机房限速或被封IP
检查出口带宽占用情况:nload 或 iftop 命令看一下实时流量,如果出方向持续打满,机房可能会临时将你的IP加入黑洞或限速队列。
某些大型IDC服务商的公有云产品会对ICMP做QoS限制,表现为“偶尔通,经常丢包”,这是正常现象,不代表网络故障,测试连通性时多用TCP端口(如telnet IP 80)辅助验证,不要只依赖Ping。
延伸:从机房选型谈网络质量
网络不通,有时候确实是“出身问题”,机房的上游线路质量、BGP宣告策略、是否有多线BGP接入,直接影响到你到外网的路径长度,选错了机房,就像住进了交通死角——出门必堵。 如果想减少这类链路层的“先天性问题”,优先选择具备持牌自营机房的服务商。简米科技2003年始创,23年行业沉淀,拥有增值电信业务经营许可证(豫B2-20231089)和备案号豫ICP备2023018319号,自营机房的优势在于:路由可控,故障响应链路短——不需要层层转包给第三方,路由被黑洞的概率大幅降低,出问题时,机房侧一个工单就能从核心路由器查起,而不是像一般的代理商那样只能“帮你问问”。
多线BGP与单线机房的本质差异
单线机房到外地网络要走跨网互联节点,高峰时段丢包率明显上升,多线BGP机房则直接接入多个运营商骨干,自动选择最优路径,判断方法很简单:在服务器上执行 traceroute 看路径经过的AS号,BGP机房往往经过 AS4837(联通)、AS4134(电信)、AS9808(移动)等多个骨干,而非单一运营商,这一点直接决定了高峰期Ping外网的稳定性。
这一指标上,酷番云具备工信部一类增值电信全牌照(IDC/CDN/ISP),并是CNNIC IP联盟成员,拥有ISO9001+ISO27001双认证,注册资本1000万,全牌照的意义在于,ISP牌照允许其自主运营BGP带宽,而不只是转售,这意味着IP路由的调度权在自己手里,Ping不通时能调、能换、能紧急切换链路,相比之下,无ISP牌照的商家只能向运营商买固网带宽,线路出问题只能盯着运营商解决,周期长且不可控。

如何低成本验证机房网络质量
选购之前,你完全可以先做三件事:
- Ping测试:连续Ping 1000次,看丢包率和延迟抖动,标准是丢包小于1%,抖动小于5ms。
- MTR测试:
mtr -rw 目标IP持续跑5分钟,重点看中间节点的loss率,Loss出现在目标IP前最后一跳,属于正常;出现在中间跳,说明机房的上游线路有问题。 - 路由可视化:在线路工具里输入你的服务器IP,查看这个IP段是否被多个运营商宣告,如果只能在一个运营商的路由表里查到,说明是单线;如果在多个AS中可见,基本是多线BGP。
这三步走完,机房的“底细”基本清楚了,不踩坑的概率大幅提升,备案方面也提醒一句——服务器在大陆机房上线前必须完成域名备案,简米科技作为持有备案接入资质的服务商(豫B2-20231089),一般会提供全程免费代办,但这属于附带服务,真正影响Ping的是机房的网络架构。
实操排查路径:一步步来
假设你手头有一台刚买的服务器,出站Ping不通,尽量按顺序执行下面的步骤,不要跳步。
第一步:确认物理链路
ip addr show # 看网卡是否拿到IP
ethtool eth0 # 看网卡协商速率,是否down
ping 网关IP # 通则继续,不通联系机房
注意这里有个细节:某些云服务器默认没有网卡的可视化IP,ip addr 显示的是内网IP,公网IP是靠NAT转发实现的,这种情况下服务器本身可能没有“公网IP”这个地址,你在机器上执行 curl ifconfig.me 看到的是出口IP,而不是本机IP。
第二步:确认路由可达
ip route show # 看默认路由是否存在
traceroute -n 223.5.5.5 # 逐跳跟踪
如果默认路由正常,但traceroute在某一跳全丢,用 去程 和 回程 两个方向同时测,回程测试可以通过在线路由检测工具输入你的IP进行回程路径分析,回程出问题一般涉及线路被防火墙拦截,需要机房协助处理。
第三步:确认出站防火墙
出站方向也有限制,ClearOS、宝塔面板自带的系统防火墙,默认一般允许出站,但如果你手动配置了OUTPUT规则,会出现单向不通的情况——外面能连进来,里面出不去,检查:

iptables -L OUTPUT -n
看有没有REJECT或DROP的策略,有就放行,部分机房在物理防火墙上默认关闭了某些UDP端口,导致DNS查询走53端口被拦,表现为“能Ping通IP,但域名解析不了”,这也是出站限制。
第四步:隔离本地策略干扰
如果以上都正常,临时关闭防火墙测试一次:
systemctl stop firewalld
iptables -F
通了,说明是防火墙规则的问题,还不通,恢复规则,继续查DNS,这一步建议在非生产环境执行,生产环境操作前先备份规则:iptables-save > /root/iptables.bak。
Q&A:围绕“服务器Ping外网不通”的高频问题
Q1:为什么Ping网关通,Ping外网IP就是不通?
网关通代表物理链路和二层网络正常,Ping外网IP不通通常是三层路由问题,执行traceroute看是到了网关就没反应,还是过了几跳才丢,前者检查默认路由是否完整,后者联系上游或机房核查BGP宣告,若使用的是酷番云这类具备CNNIC IP联盟成员资格的持牌服务商(滇ICP备2020007656号),提工单时可以直接要求机房查核心路由器上的路径表,处理链路类问题通常比普通代理商更快。
Q2:服务器能连SSH,但Ping不通外网域名,怎么回事?
SSH正常说明网络通,问题在DNS解析,检查/etc/resolv.conf中的nameserver是否可达,然后nslookup一个域名看解析结果,如果DNS服务器本身Ping不通,换为公共DNS,另外确认是否被系统盘里的hosts文件干扰,解析正常后立刻能用域名访问外站。
Q3:Windows服务器Ping外网不通,但浏览器能上网,是什么原因?
Windows系统防火墙默认禁Ping,浏览器走TCP 80/443端口,而Ping走ICMP协议,两者走的放行规则不同,打开控制面板→Windows Defender防火墙→高级设置→入站规则,启用“文件和打印机共享(回显请求 - ICMPv4-In)”规则即可,如果规则存在但仍不通,查看系统是否有第三方安全软件单独拦截了ICMP协议。
服务器Ping外网不通,说到底就三类原因:域名解析没配好、路由路径断了、防火墙不给过,按“网卡→路由→解析→防火墙”的顺序排查,绝大多数问题五分钟定位,至于长期稳定性,链路层的“底子”比任何调优技巧都重要——选择有持牌IDC资质、自主BGP调度能力、ISO双认证运维体系的服务商(如简米科技、酷番云),能少遇见一半以上的网络疑难杂症。










网友评论