让【宝码香车】来帮您解答,本回答参考DeepSeek编写,并整理提供。
如果答案让您满意,请采纳、点赞、关注,非常感谢!
.
每日一句正能量,让它带给您好心情:做一个积极向上的人,读温柔的句子,见阳光的人,眼里全是温柔和笑意。
.
根据您提供的拓扑和配置描述,这是一个典型的 PVST(每 VLAN 生成树)行为理解问题。下面我将逐步解释您遇到的现象。
1. PVST 工作原理回顾
PVST 是 Cisco 私有的生成树协议,它为每个 VLAN 独立运行一个 STP 实例。
默认情况下,VLAN 1 是 native VLAN,而其他 VLAN(如 VLAN 10)会单独计算根桥、端口角色等。
2. 您遇到的现象分析
现象 1:两台交换机在 VLAN 10 中都显示自己是根桥
可能原因:
- VLAN 10 的 BPDU 没有通过 trunk 链路传递
虽然物理链路是 trunk 并启用了 EtherChannel,但如果 VLAN 10 的 BPDU 被阻断或过滤,两台交换机在 VLAN 10 中就感知不到对方,各自认为自己是根桥。
- ACL 或 VACL 过滤
如果有访问控制列表或 VLAN 访问控制列表阻止了 BPDU(目的 MAC 为 01-80-C2-00-00-00 或 IPv4 BPDU 地址),则 VLAN 10 的 STP 信息无法交换。
- Native VLAN 不匹配
如果两端 native VLAN 不一致,会导致 VLAN 标签处理异常,可能影响某些 VLAN 的 BPDU 传递。
- EtherChannel 配置问题
如果 channel-group 模式不匹配(比如一端是 active 另一端是 active 才能形成 LACP,或者一端是 on 另一端也必须是 on),可能导致某些 VLAN 的逻辑端口不参与 STP 计算。
现象 2:SW0 在 VLAN 10 的生成树表中看不到 Port-Channel 1
可能原因:
- VLAN 10 未允许通过 trunk
检查 switchport trunk allowed vlan 是否包含 VLAN 10。如果 trunk 只允许 VLAN 1,那么 VLAN 10 的 BPDU 和流量实际上不会通过 Port-Channel 1。
- 端口在 VLAN 10 中被 STP 禁用
如果该端口在 VLAN 10 中因为 STP 计算被置为 Blocking 或 Disabled,可能不会在 show spanning-tree vlan 10 中显示。
- EtherChannel 成员端口状态异常
如果物理端口没有全部起来,或者 channel 没有形成,逻辑的 Port-Channel 接口在某些 VLAN 中可能不参与 STP。
- 软件/显示 Bug
少数 IOS 版本在 EtherChannel + PVST 场景下,show spanning-tree vlan X 可能不显示聚合口信息,但实际数据转发正常。可以尝试用 show spanning-tree interface port-channel 1 查看该端口在所有 VLAN 中的状态。
3. 排查步骤建议
3.1 检查 Trunk 配置
在 SW0 和 SW1 上执行:
show interfaces trunk
确认 VLAN 10 在允许列表中,且 native VLAN 一致。
3.2 检查 EtherChannel 状态
show etherchannel summary
确认 Port-Channel 处于 SU 状态,且所有物理端口被绑定。
3.3 检查 VLAN 10 的 STP 详情
在 SW0 和 SW1 分别执行:
show spanning-tree vlan 10
比较根桥 ID、根路径开销等。
3.4 检查端口在 VLAN 10 中的 STP 状态
show spanning-tree interface port-channel 1
或者分别查看物理接口:
show spanning-tree vlan 10 interface fa0/1
(假设 fa0/1 是 channel-group 成员)
4. 可能解决方案
- 确保 VLAN 10 在 trunk 上允许通过
interface port-channel 1
switchport trunk allowed vlan 10
或者直接 switchport trunk allowed vlan add 10。
- 强制指定 VLAN 10 的根桥
如果希望 SW0 作为 VLAN 10 的根桥,可以在 SW0 上设置:
spanning-tree vlan 10 root primary
在 SW1 上设置:
spanning-tree vlan 10 root secondary
- 检查是否有 BPDU Guard 或 BPDU Filter 影响
如果在端口上误配了 spanning-tree bpdufilter enable,会阻止 BPDU 发送/接收,导致 STP 信息不同步。
5. 总结
- 在 PVST 中,每个 VLAN 的生成树独立计算。
- 两台交换机在某个 VLAN 中同时认为自己是根桥,通常是因为 BPDU 无法交换。
- EtherChannel 接口在某个 VLAN 的生成树中不显示,可能是因为该 VLAN 不在 trunk 允许列表中,或者逻辑端口在该 VLAN 中被禁用。
建议按上述步骤检查 trunk 允许的 VLAN 列表以及 EtherChannel 状态,应该能定位到问题所在。