第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 端口可达性

七、思考

  1. ping 127.0.0.1 不通是什么问题?
  2. ipconfig 看到 IP 是 169.254.100.50,说明了什么?
  3. 同网段 ping 不通,但网线指示灯正常,最可能的原因是什么?
  4. 能 ping 通 114.114.114.114 但打不开百度网页,可能是什么问题?
  5. Ping 显示 "Destination host unreachable" 和 "Request timed out" 的根本区别是什么?
  6. 某 PC 上午能上网,下午突然不能,ping 网关也超时,但检查网线灯亮,可能是什么原因?

下篇预告:第5篇《二层交换机原理_MAC地址表是如何学习的》——深入理解交换机MAC地址表的学习机制和数据帧转发过程。