号主:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部
这个问题,80%的新人网工都遇到过,
能 ping 通网关,但网页打不开、应用不通、RDP 连不上……
很多人第一反应就是“是不是防火墙拦了”,
但老网工通常只用三条命令就能快速判断出方向。
这篇文章就不绕了,直奔主题。
一、第一条:tracert(或 traceroute)
作用:看请求有没有走出本地,卡在哪一跳
tracert www.baidu.com
或
traceroute www.baidu.com
你会看到一条从本机出发,跳过多个网关,最终到达目标 IP 的路径。 如果只走到网关就断了,那就是出网口或上游出了问题。
常见症状:
- tracert 停在第二跳:可能是出口 NAT 没配 / 下一跳路由有问题
- tracert 一路 * * * :多数是 DNS 成功解析,但实际链路不通
别看 ping 通网关,就以为能上网,tracert 一试,路还没走出第一站。
二、第二条:display arp / arp -a
作用:确认设备是不是找对了网关,ARP 正常不正常
在交换机/路由器上:
display arp | include 192.168.1.1
在 PC 上:
arp -a
你要看的是:ARP 表里有没有目标 IP 对应的 MAC 地址?
- 如果 ping 通但 ARP 没有 → 说明可能是 ICMP 走的是其他接口
- 如果 MAC 地址是错的 → 有可能中间存在错误代理 / 网络环路 / 错位 NAT
有时候设备双网卡,ARP 表更新不及时,也会导致只有某协议通,其他协议不通。
三、第三条:display acl / display session / display nat session
作用:确认业务包是不是被防火墙 / ACL 拦截了
如果你用的是华为设备,可以用这几条组合命令排查:
display acl 3000
看 ACL 命中计数有没有变化。
display session table
看会话有没有建立,源/目的 IP 和端口对不对。
display nat session
看 NAT 表有没有翻译成功。
经典误区:
- ping 通因为没经过 NAT 或被特殊放行了
- 真实 HTTP/HTTPS 流量没 NAT 或 ACL 拦了
- 会话建立了但没有回包,说明出口或回程有问题
📌 看 ACL 命中数,是判断“包有没有打进来”的最快方式。 如果 ACL、NAT、Session 都没记录,那流量根本没到设备上。
补一招:curl 是神器
curl -v https://www.baidu.com
- 能看到 DNS 有没有解析成功
- 看连接有没有被重置 / 无响应
- 可区分是 DNS 问题、连接问题,还是应用层超时
适合排查 HTTPS、REST 接口不通这类问题。
别被 ping 通骗了,要看“业务流量”走没走对
ping 通网关,只能说明 IP 层到达,真正能不能打开网页,还得看链路、NAT、ACL 有没有放行。
老网工排障流程:
- tracert 看走没走出本地
- ARP 表看地址对不对
- ACL + NAT + session 看有没有被拦
- curl 看是不是 DNS 或 HTTPS 问题
最后补充一波ping命令的用法们,上经典老图。
原创:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部