1. 项目概述
这个实验笔记记录了我最近在ENSP Pro上完成的一个M-LAG双归接入三层网络的配置过程。作为一名网络工程师,我在实际工作中经常遇到需要构建高可靠性网络的场景,而M-LAG(Multichassis Link Aggregation Group)技术正是解决这类问题的利器。
这个实验完整实现了从接入层到核心层的冗余设计,结合了V-STP(Virtual Spanning Tree Protocol)、Monitor Link和OSPF(Open Shortest Path First)等多种协议,构建了一个真正意义上的高可用网络架构。整个配置过程涉及华为交换机的多个关键特性,对于想要深入理解企业级网络冗余设计的同行来说,这个实验具有很高的参考价值。
2. 核心需求解析
2.1 M-LAG技术背景
M-LAG是华为提供的一种跨设备链路聚合技术,它允许两台物理交换机在逻辑上表现为一台设备,与下游设备建立链路聚合。这种设计带来了几个关键优势:
- 消除单点故障:传统链路聚合只能在单台设备上实现,而M-LAG将聚合组扩展到两台设备
- 简化网络拓扑:对下游设备而言,它看到的只是一个标准的链路聚合组
- 提高带宽利用率:所有链路都可以处于转发状态,不像传统STP会阻塞冗余链路
在实际企业网络中,M-LAG常用于数据中心接入层或园区网的核心-汇聚层互联,为关键业务提供高可用保障。
2.2 实验拓扑设计
本次实验的网络拓扑包含以下关键组件:
- 两台M-LAG成员交换机(通常称为Peer设备)
- 一台双归接入的下游交换机
- 上游的三层网络设备
- 若干测试终端
关键链路设计:
- M-LAG Peer Link:用于同步两台成员交换机之间的状态信息
- M-LAG Keepalive链路:用于检测对端设备是否存活
- 双归接入链路:下游交换机通过两条链路分别连接到两台M-LAG成员
- 上行链路:M-LAG成员连接到核心网络
3. 详细配置步骤
3.1 基础环境准备
首先需要在ENSP Pro中搭建实验环境。我使用的是最新版本的ENSP Pro 2.0,模拟设备选择CE系列交换机。
bash复制# 设备清单
- 2台CE6850-48S6Q-HI (作为M-LAG Peer设备)
- 1台CE5850-48T4S-EI (作为下游接入交换机)
- 1台NE40E (作为核心路由器)
- 2台PC (用于测试)
注意:确保所有设备使用的VRP版本支持M-LAG功能。我在实验中使用的是V200R019C10版本。
3.2 M-LAG基础配置
在两台Peer设备上配置M-LAG的基本参数:
bash复制# 在Peer1上的配置
sysname Peer1
mlag system-mac 0001-0001-0001
mlag system-number 1
mlag system-priority 100
mlag keepalive destination 10.1.1.2 source 10.1.1.1
interface Eth-Trunk1
port link-type trunk
port trunk allow-pass vlan all
mlag group 1
quit
bash复制# 在Peer2上的配置
sysname Peer2
mlag system-mac 0001-0001-0001 # 必须与Peer1相同
mlag system-number 2 # 此编号必须不同
mlag system-priority 100 # 优先级相同
mlag keepalive destination 10.1.1.1 source 10.1.1.2
interface Eth-Trunk1
port link-type trunk
port trunk allow-pass vlan all
mlag group 1 # group ID必须相同
quit
关键点说明:
- system-mac在两台设备上必须完全一致,这是它们被视为一个逻辑设备的关键
- system-number用于区分两台Peer设备,必须不同
- keepalive链路建议使用独立的管理网口,不要与业务流量共用
3.3 V-STP配置
V-STP(Virtual STP)是M-LAG环境中的关键协议,它让两台Peer设备在STP计算中表现为一个虚拟桥:
bash复制# 在两台Peer设备上配置V-STP
stp mode rstp
stp region-configuration
region-name MLAG_REGION
revision-level 1
active region-configuration
quit
stp instance 0 priority 4096 # 两台设备配置相同的优先级
stp bridge-address 0001-0001-0001 # 与mlag system-mac一致
实测发现:如果不正确配置V-STP,可能会导致环路或链路被错误阻塞。我曾经因为忘记配置bridge-address导致一个端口被STP阻塞,排查了半天。
3.4 Monitor Link配置
Monitor Link用于监控上行链路状态,当下行设备检测到上行链路故障时,可以快速切换:
bash复制# 在下游接入交换机上配置
monitor-link group 1
port gigabitethernet 0/0/1 uplink
port gigabitethernet 0/0/2 uplink
port gigabitethernet 0/0/3 downlink # 连接终端设备的端口
quit
Monitor Link的工作机制:
- 当所有uplink端口都down时,自动关闭指定的downlink端口
- 任一uplink恢复,自动重新启用downlink
- 这种机制可以避免"孤岛"现象,即下游设备虽然工作正常,但已无法访问核心网络
3.5 OSPF网络配置
最后配置OSPF实现三层网络的连通性:
bash复制# 在Peer设备上的OSPF配置
interface Vlanif100
ip address 192.168.100.1 255.255.255.0
quit
router id 1.1.1.1
ospf 1
area 0
network 192.168.100.0 0.0.0.255
quit
# 在核心路由器上的配置
interface GigabitEthernet1/0/0
ip address 192.168.100.2 255.255.255.0
quit
router id 2.2.2.2
ospf 1
area 0
network 192.168.100.0 0.0.0.255
quit
OSPF的调优建议:
- 调整Hello和Dead定时器以加快收敛(企业网中常用1s和3s)
- 考虑配置BFD for OSPF进一步加快故障检测
- 确保两端MTU一致,否则可能导致邻接关系无法建立
4. 验证与测试
4.1 M-LAG状态验证
bash复制# 查看M-LAG状态
display mlag peer status
display mlag consistency status
# 预期输出应显示:
# Peer状态为Connected
# 关键参数一致(如system-mac、priority等)
# 无一致性错误
4.2 冗余切换测试
- 在PC上持续ping核心路由器接口地址(如192.168.100.2)
- 手动关闭Peer1的上行链路,观察ping中断时间
- 恢复Peer1链路,关闭Peer2链路,再次观察
在我的测试中,切换期间的丢包通常在3个以内(使用默认配置)。如果丢包过多,可能需要检查keepalive链路延迟或调整M-LAG故障检测定时器。
4.3 Monitor Link功能验证
- 在下游交换机上同时关闭两个uplink端口
- 观察指定的downlink端口是否自动关闭
- 恢复任一uplink,确认downlink自动恢复
5. 常见问题与解决方案
5.1 M-LAG协商失败
现象:display mlag peer status显示Disconnected
排查步骤:
- 检查物理链路状态
- 验证keepalive链路是否可达(ping测试)
- 确认system-mac和system-number配置正确
- 检查VRP版本兼容性
5.2 V-STP不生效
现象:下游交换机的某个端口被错误阻塞
解决方案:
- 确认两台Peer设备的bridge-address配置一致
- 检查STP优先级配置
- 使用
display stp brief查看端口状态
5.3 OSPF邻接关系无法建立
常见原因:
- 接口未加入OSPF进程
- 网络类型不匹配(如一边是广播一边是点对点)
- 认证配置不一致
- 区域ID不匹配
排查命令:
bash复制display ospf peer
display ospf error
6. 配置优化建议
根据实际部署经验,我总结了几点优化建议:
-
M-LAG Peer Link:
- 使用多条链路组成Eth-Trunk作为Peer Link
- 单独使用物理接口作为keepalive链路(不要与Peer Link共用)
- 为Peer Link配置更高的QoS优先级
-
故障检测优化:
bash复制# 调整M-LAG故障检测时间(单位毫秒) mlag detect-mode fast mlag detect-interval 100 -
Monitor Link调优:
bash复制# 设置延迟恢复时间(避免链路抖动) monitor-link group 1 restore-delay 30 -
OSPF优化:
bash复制# 配置BFD加速故障检测 bfd quit ospf 1 bfd all-interfaces enable quit
这个实验虽然基于ENSP Pro模拟器完成,但所有配置都与真实设备完全一致。在实际项目部署时,建议先在实验室完成全面测试,特别是故障切换场景的验证。我在第一次实际部署时就因为没测试Peer设备重启的场景,导致网络出现了短暂中断。后来通过增加重启测试和调整检测参数解决了这个问题。