网络连通性异常时,排查顺序永远是先做通断测试,再查路由策略,前者解决“能不能到”,后者解决“该不该走”。 大部分情况下,跑几条简单的命令就能把问题圈定在很小的范围内,甚至直接定位,别急着重启设备,先按下面的思路走一遍。
网络连通性异常怎么排查?先分清通断测试与路由策略
通断测试,是验证数据包能不能从本机到达目标,路由策略,是决定数据包从哪条路径走,两者互相依赖,但出问题时的表现完全不同,你把通断测试当成“看路是否通”,把路由策略当成“看路是否选对了”。
- 通断测试工具:ping、tracert、arp、telnet
- 路由策略工具:route print、ip route、display ip routing-table、show ip route
通断测试:先确认链路是不是真的通
不要在报障时直接查配置,先按这个顺序ping一遍:
- ping 127.0.0.1 验证本机TCP/IP协议栈。
- ping 网关IP 验证局域网链路。
- ping 远端IP 验证跨网段路由和中间链路。
- ping 域名 验证DNS和出口连通性。
每一步都有明确含义,ping网关通,ping远端IP不通”,说明本机到网关没问题,问题出在路由器或上级链路,再比如“ping外网IP通,但ping域名不通”,多半是DNS配置错误,别去动路由。
路由策略:链路通了但包走错路
如果通断测试显示链路正常,但业务还是不通,就要查路由,典型场景:内网两个办公室的PC都能ping通各自的网关,但互相访问不了,查一下三层设备的路由表,发现办公室A的网段回程路由缺失,或者下一跳指向了错误设备,这时补一条静态路由,问题立刻解决。
路由策略还包括策略路由PBR和出接口的NAT关系,排查时要一并看,多数情况下,默认路由缺失和下一跳错误是最大的两个元凶。
ping通但无法上网是什么原因?大概率卡在路由策略
“能上内网,但打不开百度”这种报障很常见,先做通断测试:ping网关通,ping 223.5.5.5通,ping www.baidu.com 不通,那问题就出在DNS层面;如果ping 223.5.5.5都不通,就要查默认路由和NAT。

| 现象 | 可能原因 | 排查重点 |
|---|---|---|
| 内网互访正常,上不了外网 | 默认路由缺失或下一跳错误 | route print / ip route |
| ping外网IP通,域名不通 | DNS配置错误或DNS服务器故障 | nslookup / resolve.conf |
| 单向ping通,反向不通 | ACL拦截或反向路由检查 | 防火墙会话表 |
| 丢包严重 | 链路质量差或路由环路 | tracert 路径观察 |
内网互通但上不了网的典型原因
- 三层交换机没有配默认路由,出网流量没出口。
- 默认路由的下一跳写错,数据包被丢进黑洞。
- 防火墙安全策略没放行,导致内网能发请求、外网回包被丢弃。
举个例子,某公司新加了一台路由器连接外网,核心交换机上配的默认路由还是旧的网关地址,结果电脑和服务器之间通信正常,但所有人都上不了网,把核心交换机的默认路由改成新路由器的接口地址,业务立刻恢复,这就是典型的“通断正常、路由策略背锅”。
多路由设备串联时逐跳ping能快速缩小范围
网络层级多的时候,用tracert看每一跳的响应,Windows下执行 tracert -d 223.5.5.5,Linux下执行 traceroute -n 223.5.5.5,如果输出显示到第二跳正常、第三跳超时,问题就锁定在第二跳到第三跳之间,直接登录第二跳设备查路由表和ARP表,比在PC上反复ping高效得多。
实战排查:从通断测试到路由策略的具体操作
下面给出一套完整操作,适合大多数中小企业的办公室场景,以Windows电脑和华为交换机为例。
第一步:用ping和tracert定位故障层
在电脑上打开命令行,依次执行:
- ping 127.0.0.1
- ping 网关IP,例如ping 192.168.1.1
- ping 公网IP,例如ping 223.5.5.5
- tracert -d 223.5.5.5

如果网关通了,但公网IP不通,在路由器上再执行 ping 223.5.5.5,路由器能通而电脑不通,问题出在路由器下发给PC的默认网关或策略;路由器也不通,问题在出口链路或上级运营商。
注意,有些设备禁ping,会造成“通断测试失败”的假象,此时用 telnet 来测端口,telnet 223.5.5.5 53,能连上就说明链路是通的。
第二步:查路由表和策略路由
Windows下:route print
重点看0.0.0.0那一行,确认默认网关是否与实际出口一致,如果网关写错,运行 route change 0.0.0.0 mask 0.0.0.0 新网关 修正。
Linux下:ip route show
没有default行,就添加:ip route add default via 网关IP dev 出接口。
华为交换机上:display ip routing-table
确认有没有默认路由,以及到目标网段的精确路由,策略路由用 display ip policy-based-route 检查,重点看匹配规则和动作。
如果发现路由表里缺条目,加静态路由:
- 华为:ip route-static 192.168.20.0 255.255.255.0 192.168.10.2
- 思科:ip route 192.168.20.0 255.255.255.0 192.168.10.2
- Linux:ip route add 192.168.20.0/24 via 192.168.10.2
第三步:检查防火墙和NAT联动
路由正确、配置也保存了,但内网还是上不了外网,接着查出接口的NAT和防火墙规则,通过 display nat session 看有没有生成会话,通过 display firewall policy 看安全策略是否放行了内网到外网的流量,行业共识认为,相当一部分“ping通但无法上网”的案例,最终都指向防火墙策略把回包拦截了。
路由策略排查的进阶思路
当基础路由表没有异常,就要考虑策略路由PBR,策略路由能根据源IP、目的IP、端口甚至应用类型,强制指定下一跳,常用于双线接入和负载均衡场景。
静态路由和策略路由对比
| 维度 | 静态路由 | 策略路由 |
|---|---|---|
| 匹配依据 | 目的IP | 源IP、目的IP、端口、应用 |
| 匹配顺序 | 最长前缀匹配 | 按配置顺序逐条匹配 |
| 使用场景 | 简单组网 | 多出口选路、流量调度 |
策略路由的配置顺序很关键,两条策略如果顺序写反,流量就会走错线路,业内专家指出,多线接入环境下策略路由顺序错误,是导致间歇性断网和访问缓慢的常见原因。
多线接入时如何快速定位选路问题
比如公司接了电信和联通两条宽带,PC默认走联通,但视频会议系统必须走电信,如果策略路由没生效,视频会议就会卡顿甚至掉线,排查时先看策略规则命中了多少包:display policy-based-route,再手动指定源IP测试:ping -a 192.168.10.10 电信IP,对比走默认线路的延迟和丢包。
如果是静态路由导致的问题,检查接口的route-policy或ip policy-based-rule,确保目标流量被正确的下一跳接管。
连通性异常排查没那么玄乎,先通断测试缩小范围,再路由策略锁定原因,两步走下来,大多数问题都能当场定位,记住这个顺序,能少走很多弯路。
网络连通性异常排查常见问题解答
-
问:ping网关通,ping外网IP不通,怎么查?
答:先查默认路由和NAT配置,再用tracert看数据包从哪一跳开始消失,如果前两跳有响应,后面全无,问题大概率在路由器或防火墙的路由策略上。 -
问:ping外网IP通,但ping不通域名,是路由问题吗?
答:不是,能ping通公网IP说明链路和路由都正常,ping不通域名是DNS解析失败,检查系统DNS设置、hosts文件以及DNS服务器到互联网的连接,可以用 nslookup 域名 直接测试哪个DNS不可用。 -
问:重启路由器后连通性恢复,但不久又断,可能是什么原因?
答:可能是配置未保存或路由策略被动态协议覆盖,查看当前配置与运行状态,重点关注是否出现路由环路、物理链路闪断以及策略路由的生效条件,必要时用日志抓取丢包时刻的路径变化。
