企业网络拓扑梳理与二层故障排查复盘
本文根据一次真实网络调整过程整理。设备地址、域名、端口编号和业务名称均已泛化,仅保留可复用的排障思路。
一、问题背景
现场网络经过多次临时调整后,出现了几类相互交织的现象:
- 部分终端间歇性断网,故障难以稳定复现;
- 无线客户端偶尔获得服务器网段地址;
- 核心到出口的链路存在历史抖动记录;
- 服务器接入交换机出现大量 MAC 地址漂移;
- 实际物理拓扑与旧文档不一致,多个临时 Trunk 扩大了广播域。
这类问题不能只盯着某一根网线或某一个端口。正确做法是先重建事实,再按风险从低到高逐步处理。
二、排障边界
第一阶段严格采用只读方式:
- 只执行
display类命令; - 不进入
system-view; - 不保存配置;
- 采集前后都记录接口计数器和链路状态;
- 对不可达设备只记录现象,不通过重启等方式强行恢复。
这样可以把“采集造成的变化”和“网络自身变化”区分开,也方便后续建立可靠基线。
三、重新建立拓扑
通过 LLDP、LACP、MAC 地址表、ARP 表、Trunk VLAN 列表和现场接线信息交叉验证,最终将网络抽象为以下结构:
1 | |
重建拓扑时不能只相信接口描述。接口描述可能多年未更新,真正可靠的证据包括:
- LLDP 邻居的设备和端口信息;
- 聚合组两端的成员数量与 Selected 状态;
- 同一 MAC 在上下游端口的学习位置;
- 接口流量、错误计数和最近一次 Up/Down 时间;
- VLAN 是否同时存在于数据库、Trunk 列表和三层网关上。
四、发现的主要问题
4.1 Trunk 放行范围过大
服务器 VLAN 被一路放行到用户和无线方向,使无线侧有机会收到服务器网段的 DHCP 广播。结果就是无线客户端可能进入错误网段,服务器广播域也被无意义地扩展。
处理原则是:
- 无线业务使用独立办公 VLAN;
- POE/无线方向只保留管理 VLAN 和实际需要的业务 VLAN;
- 出口 Transit VLAN 只存在于核心与防火墙之间;
- Trunk 使用空闲 VLAN 作为 PVID,避免未打标签流量进入业务网。
4.2 聚合模型不一致
部分链路一端配置为动态聚合,另一端却表现为普通单链路。单条链路可能暂时可用,但配置模型不一致会留下扩容和故障切换风险。
聚合链路必须满足:
- 两端都使用 LACP,或两端都使用普通链路;
- 聚合成员的速率、双工、VLAN 和 PVID 保持一致;
- Selected 数量与现场接线数量一致;
- 不把一根普通链路误认为已经具备冗余能力。
4.3 STP 策略不统一
部分交换机启用了 STP,部分设备未配置,根桥也不是规划中的核心设备。这不一定立即造成中断,但在临时 Trunk、多级汇聚和服务器桥接并存的场景下,二层环路风险会被放大。
STP 调整应放在维护窗口内完成,并提前规划:
- 根桥和备根桥;
- 上联口、边缘口和聚合口角色;
- BPDU 防护与环路检测;
- 发生阻塞时的回退方案。
4.4 地址冲突与管理面异常
只读日志中发现过网关地址冲突,来源是一个承担光电转换或临时汇聚角色的设备。管理设备占用了业务网关地址后,会造成 ARP 抖动和间歇性不可达。
管理面应使用独立地址规划,任何新接入设备都要先核对:
- 管理 IP 是否唯一;
- 默认网关是否正确;
- 是否误配置了业务网关地址;
- 是否把管理 VLAN 扩展到了不需要的区域。
五、处理顺序
本次调整遵循“先缩小故障域,再处理根因”的顺序:
- 隔离无线侧不需要的服务器 VLAN;
- 修正地址冲突和明显不一致的 Trunk;
- 清理临时链路,只保留必要 VLAN;
- 对接口计数器进行定时差分,确认错误是否继续增长;
- 单独处理服务器多网口产生的 MAC 漂移;
- 最后规划 STP、环路保护和长期冗余架构。
不建议在证据不足时同时修改核心、汇聚、服务器和防火墙。一次只改变一个变量,才能判断哪个动作真正有效。
六、验证方法
每次调整后至少进行两轮采集,比较以下指标:
1 | |
最终观察中,核心聚合链路没有新增物理错误,主要链路保持 Up;无线侧 VLAN 范围得到收敛,后续问题集中到了服务器多网口和虚拟交换机配置上,为下一阶段整改提供了明确方向。
七、经验总结
- 拓扑文档必须用实时证据校准,不能只依赖接口描述;
- VLAN 同时存在于配置文本中,不代表它一定能端到端转发;
- “接口没有 CRC”只能说明物理层暂时正常,不能排除二层学习异常;
- MAC 漂移、广播增长、DHCP 串网通常是同一条故障链上的不同表现;
- 只读采集、计数器差分、单变量变更和自动回滚,是降低网络调整风险的关键。
