公司网络里VLAN多,生成树老是阻塞错端口,导致流量走弯路,甚至有时候链路断了切换还慢,咋整?

这其实是典型的单生成树(STP/RSTP)痛点:所有VLAN共用一棵树,没法针对不同VLAN做路径优化。

这时候,救星 MSTP(多生成树协议) 就该登场了!今天我就结合一张经典的拓扑图,手把手教大家如何配置MSTP,实现VLAN负载分担毫秒级故障切换。建议收藏,干活时随时翻出来看!

 场景分析:我们要解决什么问题?

先来看看咱们今天的“作战地图”:

  • 核心层:LSW1 和 LSW2 是两台核心交换机,它们之间做了链路聚合(Eth-Trunk),并且都要往上连路由器(AR1)。
  • 接入层:LSW3 下挂着 PC1 和 PC2。
  • 业务需求
    1. VLAN规划:PC1 属于 VLAN 10,PC2 属于 VLAN 20。
    2. 带宽翻倍:核心交换机之间要聚合链路。
    3. 负载分担(重点!):我们希望 VLAN 10 的流量走左边(LSW1为主)VLAN 20 的流量走右边(LSW2为主)。而不是像传统STP那样,一条路堵死,另一条路闲置。
    4. 高可用:网关要冗余(VRRP),链路断了能自动切。

核心思路:MSTP 域与实例映射

MSTP 的核心逻辑就是把多个 VLAN 映射到不同的实例(Instance)中。

  • Instance 0 (CIST):默认实例,包含所有未映射的VLAN。
  • Instance 1:我们可以把 VLAN 10 扔进去,让它以 LSW1 为根桥。
  • Instance 2:把 VLAN 20 扔进去,让它以 LSW2 为根桥。

这样,LSW1 和 LSW2 就分别成为了不同流量的“主心骨”,完美实现负载分担!


💻 实战配置步骤(华为命令体系)

第一步:基础打通(VLAN与Trunk)

先把物理链路通起来,这是基本功。在 LSW1、LSW2、LSW3 上都要配。

# 创建VLAN
vlan batch 10 20

# 配置连接PC的接口(Access模式)
interface GigabitEthernet0/0/1  # 假设连PC1
 port link-type access
 port default vlan 10
# ... LSW3对应连PC2的口配 vlan 20 ...

# 配置交换机互联接口(Trunk模式,放行所有VLAN)
interface GigabitEthernet0/0/2
 port link-type trunk
 port trunk allow-pass vlan all

第二步:链路聚合(Eth-Trunk)

为了让 LSW1 和 LSW2 之间的带宽翻倍,我们配置 LACP 模式的 Eth-Trunk。

# 在 LSW1 和 LSW2 上操作
interface Eth-Trunk 1
 mode lacp-static        # 启用LACP静态模式,更稳
 trunkport GigabitEthernet 0/0/3  # 将物理口加入聚合组
 trunkport GigabitEthernet 0/0/4
 port link-type trunk
 port trunk allow-pass vlan all

第三步:配置 MSTP(重头戏来了!)

这是最关键的一步,注意,同一个 MSTP 域内的所有交换机,域名、修订级别、VLAN-实例映射必须完全一致!

1. 全局开启并进入域配置视图(三台交换机都要敲)
stp mode mstp               # 开启MSTP模式
stp region-configuration    # 进入域配置视图
 region-name huawei         # 设置域名,大家都要一样
 revision-level 1           # 设置修订级别,大家都要一样
 instance 1 vlan 10         # 【关键】VLAN 10 映射到实例 1
 instance 2 vlan 20         # 【关键】VLAN 20 映射到实例 2
 active region-configuration # ⚠️千万别忘了激活配置!
2. 指定根桥(Root Bridge)

我们要让 LSW1 成为 VLAN 10 (实例1) 的老大,LSW2 成为 VLAN 20 (实例2) 的老大。

在 LSW1 上配置:

stp instance 1 root primary   # 实例1的主根桥(优先级自动变0)
stp instance 2 root secondary # 实例2的备用根桥(优先级自动变4096)

在 LSW2 上配置:

stp instance 2 root primary   # 实例2的主根桥
stp instance 1 root secondary # 实例1的备用根桥

💡 提示:
配置完后,你可以用 display stp brief 查看。你会发现:

  • 在 LSW1 上,Instance 1 的端口都是指定端口(DP)或根端口(RP),没有阻塞。
  • 在 LSW2 上,Instance 2 的端口畅通无阻。
    这就实现了不同 VLAN 走不同路径!

第四步:配置 VRRP(网关 redundancy)

为了防止单点故障,我们在 LSW1 和 LSW2 的 VLANIF 接口上配置 VRRP。

LSW1 (作为 VLAN 10 的 Master,作为 VLAN 20 的 Backup):

interface Vlanif 10
 ip address 192.168.10.252 24
 vrrp vrid 10 virtual-ip 192.168.10.254
 vrrp vrid 10 priority 120   # 优先级高,抢占Master

interface Vlanif 20
 ip address 192.168.20.252 24
 vrrp vrid 10 virtual-ip 192.168.20.254

LSW2 (作为 VLAN 10 的 Backup,作为 VLAN 20 的 Master):

interface Vlanif 10
 ip address 192.168.10.253 24
 vrrp vrid 10 virtual-ip 192.168.10.254
 # 默认优先级100,不用配

interface Vlanif 20
 ip address 192.168.20.253 24
 vrrp vrid 10 virtual-ip 192.168.20.254
 vrrp vrid 10 priority 120   # 优先级高,抢占Master

验证与排错

  1. 检查 MSTP 摘要信息
    display stp region-configuration
    确保三台交换机的 Digest 也就是摘要值是一致的,如果不一致,说明配置没同步,会出大问题。

  2. 检查端口角色
    display stp brief
    观察 Instance 1 和 Instance 2 中,端口的 Role 是否为 Root 或 Designated。如果有 ALTE (Alternate) 或 BACK (Backup),说明那条路被阻塞了,检查一下是否符合你的预期。

  3. 测试连通性
    在 PC1 上长 ping 网关,然后拔掉 LSW1 的上行线,看看是不是只丢一两个包就通了(VRRP + MSTP 切换通常很快)。


总结

通过这张图和这套配置,我们实现了:
✅ 链路聚合:物理链路带宽叠加。
✅ MSTP 负载分担:VLAN 10 走左路,VLAN 20 走右路,互不干扰,资源利用率 100%。
✅ VRRP 网关冗余:网关挂了也不怕。

这就是企业网标准的“双核心”高可用架构。掌握了 MSTP,你的网络设计水平绝对能上一个台阶!

觉得有用的话,别忘了点赞、转发支持一下!如果你在配置过程中遇到什么坑,欢迎在评论区留言,咱们一起探讨!

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐