号主:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部
“网络不通”是咱工作中最常面对的问题,但这句话背后可能隐藏着几十种原因:
是网线松了?IP配错了?路由器没路由?还是应用服务挂了?
不少新手排错时“凭感觉”操作:
先ping一下,不通就重启设备,再不行就找厂家……
结果耗时耗力,问题却反复出现。
真正高效的排错,需要一套系统化的方法论。
今天就来跟大家讲讲 “网络排错四步法” —— 像“剥洋葱”一样,快速定位根本原因。
一、原则:自下而上,逐层验证
网络通信是分层协作的结果。
上层依赖下层,下层不通,上层必然失败。
因此,排错必须从最底层的物理层开始,逐层向上验证,避免“跳跃式”猜测。
✅ 正确顺序:物理层 → 数据链路层 → 网络层 → 应用层
❌ 错误做法:直接查DNS或防火墙(第7层和第3/4层)
二、物理层 —— “通电了吗?线插好了吗?”
目标:确认物理连接正常,信号可达。
检查项:
-
✅ 终端网卡指示灯是否亮起(绿灯/黄灯闪烁)
-
✅ 交换机端口指示灯是否正常(Link/Act灯)
-
✅ 网线是否松动、损坏(尝试更换网线)
-
✅ 光模块、光纤是否正常(光功率、收发对接)
-
✅ 设备是否上电,电源模块是否故障
关键命令:
# 查看接口物理状态(华为/华三/Cisco通用)
<Huawei> display interface GigabitEthernet 0/0/1
# 关注输出:
# Current state: UP → 物理层UP
# Line protocol current state: UP → 数据链路层UP
📌 如果物理层DOWN:
→ 检查线缆、端口、设备供电
→ 使用测线仪检测网线通断
三、数据链路层 —— “能够和邻居说话吗?”
目标:确认二层通信正常,MAC地址可学习。

常见问题:
-
交换机未学习到终端的MAC地址
-
VLAN配置错误,终端不在正确VLAN
-
启用了端口安全、MAC地址绑定等策略
-
存在二层环路,STP阻塞了端口
检查方法:
- 在接入交换机上查看MAC地址表:
<Huawei> display mac-address | include <终端MAC>
# 示例输出:
# 5489-980e-3bca 10 GE0/0/5 Dynamic
# → 表示MAC已学习,且在正确端口(GE0/0/5)
- 检查VLAN配置:
<Huawei> display port vlan | include GE0/0/5
# 确认端口属于预期VLAN
- 检查STP状态(如端口被阻塞):
<Huawei> display stp brief | include GE0/0/5
# 状态为"DIS"(Discarding)→ 被STP阻塞
📌 如果MAC未学习或VLAN错误:
→ 检查端口VLAN配置、端口隔离、MUX VLAN等策略
四、网络层 —— “我能找到去目的地的路吗?”
目标:确认IP通信正常,路由可达。
排查流程:
-
检查本机IP配置:
-
IP地址、子网掩码、默认网关是否正确
-
是否获取到IP(DHCP?静态?)
-
-
测试本地网关连通性:
ping 192.168.1.1 # 网关IP
- ✔️ 通 → 本机到网关路径正常
- ❌ 不通 → 问题在二层或本机配置
- 测试远端目标连通性:
ping 8.8.8.8
- ✔️ 通 → 网络层基本正常
- ❌ 不通 → 检查路由表
- 查看路由表:
# Windows
route print
# Linux / 华为设备
display ip routing-table
# 检查是否有到目标网段的路由
- 使用traceroute定位中断点:
tracert 8.8.8.8 # Windows
traceroute 8.8.8.8 # Linux/设备
→ 查看在哪一跳中断,精准定位故障设备
五、应用层 —— “服务真的开着吗?”
目标:确认上层应用服务正常,端口可访问。

常见问题:
-
服务器防火墙阻止了访问
-
应用服务未启动(如Web、DNS)
-
端口被占用或配置错误
-
DNS解析失败
检查方法:
- 测试端口连通性(比ping更精准):
# 使用telnet测试TCP端口(如Web 80)
telnet 192.168.1.100 80
# 成功 → 出现空白界面或HTTP提示
# 失败 → 连接超时或拒绝 → 服务未开或防火墙拦截
# Linux可用nc(netcat)
nc -zv 192.168.1.100 80
- 检查DNS解析:
nslookup www.example.com
# 或
ping www.example.com
# 如果IP能ping通,域名ping不通 → DNS问题
- 在服务器上检查服务状态:
# Linux
systemctl status httpd
netstat -tulnp | grep :80
# Windows
任务管理器 → 服务 → 查看IIS或Apache是否运行
六、经典排错流程图
开始:用户报告“网络不通”
↓
物理层检查 → 指示灯、线缆、接口状态(display interface)
↓ 是UP?
↓
数据链路层 → 查MAC表、VLAN、STP(display mac-address)
↓ MAC已学习?
↓
网络层 → ping网关 → ping远端 → traceroute → 查路由表
↓
应用层 → telnet端口 → nslookup域名 → 检查服务状态
↓
定位并修复
总结、四步法 = 结构化思维

原创:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部

被折叠的 条评论
为什么被折叠?



