从端口对入手
定位漂移的抓手是「端口对」:同一个 MAC 反复出现在哪两个端口上。拿到这对端口之后,问题就变成判断这两个端口之间是否存在物理环路、是否属于同一个聚合组但转发异常、或者对端是不是一台同时从两张网卡转发的服务器。方向对了,剩下的就是逐条验证。
基本信息
| 关键证据 | 漂移 MAC 与交替出现的端口对 |
|---|---|
| 检查维度 | STP 角色、聚合成员状态、服务器侧网卡与桥接 |
| 辅助数据 | 端口广播速率、错包计数、拓扑变化日志 |
| 处置前提 | 先取全证据再动线缆,重启会让现象消失 |
定位步骤
- 记录漂移 MAC 与交替出现的端口对,确认漂移确实存在
- 检查端口对的 STP 角色与阻塞状态是否符合规划
- 检查这两个端口是否属于同一聚合组,成员是否双活且哈希异常
- 检查服务器侧网卡绑定或桥接是否造成同一帧多处转发
- 顺链路向上游核对,确认中间是否存在私接的小交换机
辅助命令
辅助命令
display stp brief # 华为:端口角色与状态
display stp interface GigabitEthernet0/0/24 # 华为:单口 STP 详情
display eth-trunk # 华为:聚合成员状态
display mac-address 5489-9811-2233 # 华为:确认 MAC 当前出口
display logbuffer | include MAC # 华为:漂移相关告警
show spanning-tree interface GigabitEthernet1/0/1 # 思科:单口生成树状态端口对判读
| 端口对关系 | 可能原因 | 验证方式 |
|---|---|---|
| 两个不同接入口的终端 | 环路或私接交换机 | 查端口速率与 MAC 数量 |
| 同一聚合组的成员口 | 聚合配置不一致或哈希异常 | 核对两端聚合模式与状态 |
| 上游冗余链路的两侧 | STP 未按预期阻塞 | 查 STP 角色与拓扑变化日志 |
| 同一台服务器两个网口 | 网卡双活同时转发 | 查服务器侧绑定与桥接 |
漂移 MAC 是网关虚拟 MAC 时,问题在网关侧的冗余状态而不在接入侧。先确认 MAC 属于哪类设备,再决定查证方向,可以省掉大量无效排查。
漂移链路检修期间故障可能自愈,重启或拔线之前先取全部证据:端口速率、MAC 表快照、日志时间点,缺一样事后都无法确认根因。