第4篇:Ping 不通怎么办——基础连通性排查思路
一、写在前面
Ping 是网络工程师最常用的命令,没有之一。
当你配好一台设备,或者排查故障时,第一件事就是敲 ping x.x.x.x。不通怎么办?很多人就开始乱试了——重启、换线、重装驱动……
本文提供一个标准化的排查思路,让你有条理地从底层往上排查,而不是靠猜。
二、Ping 的原理(一句话)
Ping 使用 ICMP 协议(Internet Control Message Protocol):
PC-A → 发送 ICMP Echo Request → PC-B
PC-A ← 回复 ICMP Echo Reply ← PC-B
如果 PC-B 回复了 Reply,说明: - 网络层:IP 可达 - 链路层:中间设备能转发 - 物理层:线缆没问题
Ping 的通不代表一切正常,但 ping 不通一定有问题。
三、标准化排查七步法
第一步:检查物理层
确认网线插好了,指示灯亮了。
| 检查项 | 怎么做 |
|---|---|
| 网线是否插紧 | 重新插拔,听到"咔" |
| 端口灯是否亮 | 绿灯/黄灯常亮或闪烁 |
| 端口灯不亮 | 换一根已知好的网线试 |
| 换端口测试 | 交换机的另一个端口 |
| 对端设备是否开机 | 对方的电源、端口状态 |
哲学:90% 的网络故障是物理层问题,90% 的物理层问题是网线问题。
第二步:检查本机 IP 配置
确认本机有合法的 IP 地址。
# Windows
ipconfig
# Linux
ip addr show
# Mac
ifconfig
正常情况下你应该看到: - IPv4 地址:不是 169.254.x.x(这是自动配置无效地址) - 子网掩码:正确 - 有默认网关(DHCP 分配或手动配置)
169.254.x.x 是 APIPA(自动私有 IP),表示 DHCP 请求失败,没有获取到有效 IP。
第三步:确认本地协议栈是否正常
Ping 127.0.0.1(本机回环地址)
ping 127.0.0.1
- ✔ 通 → TCP/IP 协议栈正常
- ✘ 不通 → 本机 TCP/IP 协议损坏(重装网卡驱动或 Winsock 重置)
Ping 本机 IP
ping 192.168.1.100 # 你的本机 IP
- ✔ 通 → 网卡驱动、IP 配置正常
- ✘ 不通 → 网卡或 IP 配置有问题(检查 IP 是否冲突)
第四步:Ping 同网段设备
Ping 同网段的另一台设备(不经过网关)
ping 192.168.1.1 # 网关
ping 192.168.1.200 # 同一网段的其他 PC
- ✔ 通 → 二层链路正常,ARP 解析正常
- ✘ 不通 → 物理层问题或 ARP 问题(往下查)
同网段也 ping 不通?查 ARP:
arp -a
如果目标设备 IP 在 ARP 表中显示为 "不完全"(Incomplete),说明没有收到 ARP 应答,原因可能是: - 物理链路不通 - 目标设备关机/防火墙阻止了 ICMP - VLAN 隔离 / 端口隔离
第五步:Ping 网关
Ping 默认网关
ping 192.168.1.1 # 你的网关
- ✔ 通 → 能到达网关,网关能为本地
- ✘ 不通 → 本机到网关的二层链路有问题(排查物理层 + VLAN 配置)
第六步:Ping 远端 IP
Ping 外网的一个 IP(比如 DNS)
ping 8.8.8.8 # Google DNS
ping 114.114.114.114 # 国内 DNS
- ✔ 通 → 三层路由可达,NAT 正常工作
- ✘ 不通 → 查路由 / NAT / 防火墙策略
如果 ping 网关通,ping 外网不通:
可能的原因: 1. 网关设备没有默认路由 — 路由器不知道把包往哪送 2. NAT 未配置 — 私网地址出公网必须做 NAT 3. 防火墙策略阻止 — 出方向或入方向 ACL 4. 运营商未放通 — 拨号未成功或欠费
第七步:Ping 域名
ping www.baidu.com
ping www.google.com
- ✔ 通 → DNS 解析正常,外网连通性全链路正常
- ✘ 不通但 ping IP 通 → DNS 问题
排查 DNS:
nslookup www.baidu.com
- 返回 IP → DNS 正常
- DNS request timed out → DNS 服务器不可达或配置错误
四、排查流程速查图
Ping 不通
│
▼
1. 物理层:网线插好了吗?灯亮了吗?
│
▼
2. 本机 IP:ipconfig 看 IP 是不是 169.254.x.x?
│
▼
3. 本机协议栈:ping 127.0.0.1 通吗?
│
▼
4. 同网段:ping 网关通吗?
│
├──通──→ 5. ping 外网 IP (8.8.8.8) 通吗?
│ │
│ ├──通──→ 6. ping 域名通吗?
│ │ │
│ │ ├──通 → 链路正常
│ │ └──不通 → DNS 问题
│ │
│ └──不通 → 路由/NAT/防火墙问题
│
└──不通 → 物理层 / VLAN / ARP 问题
五、常见故障场景与根因
场景 1:能 ping 通 IP,但上不了网
症状:ping 8.8.8.8 通,打开浏览器打不开网页
根因:DNS 配错了
解决:检查 DNS 服务器地址
场景 2:能 ping 通网关,但 ping 不通外网
症状:PC → 网关 OK; 网关 → 外网 OK(在网关设备上测试)
根因:NAT 没有配,或者路由表中没有默认路由
解决:检查防火墙/路由器的 NAT 策略和默认路由
场景 3:隔一段时间 ping 不通
症状:能通一会就断了,过一会又通
根因:IP 地址冲突(两台设备拿了同一个 IP)
解决:查 ARP 表,检查 DHCP 范围
场景 4:ping 出现"请求超时" vs "无法访问目标主机"
请求超时(Request timed out):
能发出去但没收到回复 → 对端有防火墙或路由不可达
无法访问目标主机(Destination host unreachable):
本机没有到达目标的路由 → 检查网关/路由表
场景 5:ping 延迟高或丢包
症状:time=200ms 或 request timeout 间歇出现
根因:链路质量差、带宽跑满、设备 CPU 高
解决:检查链路利用率、设备负载、光模块收发光
六、Windows 实用排查命令汇总
| 命令 | 作用 |
|---|---|
ipconfig /all |
查看完整 IP 配置 |
ping -t x.x.x.x |
持续 ping,观察稳定性 |
tracert x.x.x.x |
追踪路由路径(逐跳) |
pathping x.x.x.x |
路径 + 每一跳的丢包率 |
nslookup 域名 |
测试 DNS 解析 |
arp -a |
查看 ARP 缓存表 |
netstat -rn |
查看路由表 |
telnet x.x.x.x 端口 |
测试 TCP 端口可达性 |
七、思考
- ping 127.0.0.1 不通是什么问题?
- ipconfig 看到 IP 是 169.254.100.50,说明了什么?
- 同网段 ping 不通,但网线指示灯正常,最可能的原因是什么?
- 能 ping 通 114.114.114.114 但打不开百度网页,可能是什么问题?
- Ping 显示 "Destination host unreachable" 和 "Request timed out" 的根本区别是什么?
- 某 PC 上午能上网,下午突然不能,ping 网关也超时,但检查网线灯亮,可能是什么原因?
下篇预告:第5篇《二层交换机原理_MAC地址表是如何学习的》——深入理解交换机MAC地址表的学习机制和数据帧转发过程。