华三VXLAN集中式网关实战指南:Spine多活网关 + 双活接入(M-LAG)
一、方案架构与拓扑设计
1.1 设计思路
本方案采用Spine-Leaf两层架构,Spine层双机部署作为集中式VXLAN IP网关,Leaf层双机通过M-LAG实现双活接入。该架构的核心优势在于:
- · 集中式网关部署在Spine设备上,所有三层流量均经过Spine设备处理,便于流量控制和策略部署
- · Leaf层M-LAG双活接入,两台物理设备虚拟成一台逻辑设备作为VTEP,避免单点故障
- · Spine多活网关:两台Spine通过BGP EVPN建立对等关系,实现网关冗余和负载分担
1.2 逻辑拓扑
text
┌─────────────────────────────────────┐
│ 外部网络 (Internet/WAN) │
└──────────┬──────────┬───────────────┘
│ │
┌──────────┴──┐ ┌───┴──────────┐
│ Spine-1 │ │ Spine-2 │
│ (集中式网关) │ │ (集中式网关) │
│ VTEP │ │ VTEP │
└──┬───┬───┬──┘ └──┬───┬───┬───┘
│ │ │ │ │ │
┌────────┘ │ └────────┘ │ └────────┐
│ │ │ │
│ ┌───────┴───────┐ ┌──────┴────────┐ │
│ │ Leaf-1 │ │ Leaf-2 │ │
│ │ VTEP │ │ VTEP │ │
│ │ (M-LAG成员) │ │ (M-LAG成员) │ │
│ └───────┬───────┘ └──────┬─────────┘ │
│ │ peer-link │ │
│ └────────────────┘ │
│ │ │
│ ┌───────┴───────┐ │
└────────────┤ Server/Eth-Trunk (M-LAG) │
└────────────────────────────┘
1.3 设备角色说明
|
设备 |
角色 |
功能 |
|
Spine-1/Spine-2 |
集中式VXLAN IP网关 |
处理所有跨VNI三层转发及VXLAN访问外部网络流量 |
|
Leaf-1/Leaf-2 |
M-LAG VTEP |
二层VXLAN隧道端点,通过M-LAG双活接入服务器 |
1.4 关键地址规划
|
项目 |
地址/编号 |
|
Spine-1 Loopback0 (VTEP) |
1.1.1.1/32 |
|
Spine-2 Loopback0 (VTEP) |
1.1.1.2/32 |
|
Leaf-1 Loopback0 (VTEP) |
2.2.2.1/32 |
|
Leaf-2 Loopback0 (VTEP) |
2.2.2.2/32 |
|
VXLAN VNI |
5010 |
|
BD ID |
10 |
|
VLAN |
10 |
|
网关IP (VSI-Interface) |
10.1.1.1/24 |
|
M-LAG系统MAC |
0000-0000-0001 |
|
Leaf-1 M-LAG system-number |
1 |
|
Leaf-2 M-LAG system-number |
2 |
|
M-LAG system-priority |
150 |
|
AS号 (Spine) |
65001 |
|
AS号 (Leaf) |
65002 |
注意:当VXLAN集中式网关场景下Spine上行链路故障时,用户侧流量可能无法转发而被丢弃,需通过monitor-link或路由联动机制解决。
二、各设备配置范例
2.1 Underlay网络配置(以OSPF为例)
Spine-1 Underlay配置:
text
system-view
sysname Spine-1
# 配置Loopback0作为VTEP源地址
interface LoopBack0
ip address 1.1.1.1 32
quit
# 配置与Leaf-1互联接口
interface Ten-GigabitEthernet 1/0/1
port link-mode route
ip address 10.0.1.1 30
quit
# 配置与Leaf-2互联接口
interface Ten-GigabitEthernet 1/0/2
port link-mode route
ip address 10.0.2.1 30
quit
# 配置OSPF实现三层互通
ospf 1 router-id 1.1.1.1
area 0.0.0.0
network 1.1.1.1 0.0.0.0
network 10.0.1.0 0.0.0.3
network 10.0.2.0 0.0.0.3
quit
quit
Spine-2 Underlay配置: 类似配置,Loopback0为2.2.2.2/32,互联地址对应调整。
Leaf-1 Underlay配置:
text
system-view
sysname Leaf-1
interface LoopBack0
ip address 2.2.2.1 32
quit
interface Ten-GigabitEthernet 1/0/1
port link-mode route
ip address 10.0.1.2 30
quit
interface Ten-GigabitEthernet 1/0/2
port link-mode route
ip address 10.0.3.1 30
quit
ospf 1 router-id 2.2.2.1
area 0.0.0.0
network 2.2.2.1 0.0.0.0
network 10.0.1.0 0.0.0.3
network 10.0.3.0 0.0.0.3
quit
quit
Leaf-2 Underlay配置: 类似配置,Loopback0为2.2.2.2/32。
2.2 Spine集中式网关配置(BGP EVPN方式)
Spine-1配置:
text
# 1. 全局使能L2VPN和VXLAN
l2vpn enable
vxlan tunnel mac-learning disable
vxlan tunnel arp-learning disable
# 2. 配置VXLAN硬件资源模式(三层网关模式)
hardware-resource vxlan l3gw24k
# 3. 配置BGP EVPN
bgp 65001
peer 2.2.2.1 as-number 65002
peer 2.2.2.1 connect-interface LoopBack0
peer 2.2.2.2 as-number 65002
peer 2.2.2.2 connect-interface LoopBack0
#
address-family l2vpn evpn
peer 2.2.2.1 enable
peer 2.2.2.2 enable
undo policy vpn-target
quit
quit
# 4. 配置VSI(VXLAN实例)
vsi vxlan10
vxlan 5010
tunnel 2.2.2.1
tunnel 2.2.2.2
quit
quit
# 5. 配置VXLAN IP网关(集中式网关核心)
interface Vsi-interface 10
ip address 10.1.1.1 24
l3-vni 5010
quit
# 6. 配置BD与VSI关联
vlan 10
quit
interface Vsi-interface 10
quit
Spine-2配置: 与Spine-1类似,主要区别为Loopback0地址(1.1.1.2)和BGP Router ID。两台Spine通过EVPN对等体实现网关路由同步。
2.3 Leaf M-LAG双活接入配置
Leaf-1 M-LAG配置:
text
# 1. 配置M-LAG系统参数
m-lag system-mac 0000-0000-0001
m-lag system-number 1
m-lag system-priority 150
# 2. 配置peer-link(建议使用聚合口)
interface Bridge-Aggregation 1
port link-type trunk
port trunk permit vlan all
link-aggregation mode dynamic
quit
interface Ten-GigabitEthernet 1/0/10
port link-aggregation group 1
quit
interface Ten-GigabitEthernet 1/0/11
port link-aggregation group 1
quit
# 3. 配置DFS Group关联VXLAN
m-lag mad exclude interface Vlan-interface 4094
# 4. 配置用户侧M-LAG接口
interface Bridge-Aggregation 10
port link-type trunk
port trunk permit vlan 10
link-aggregation mode dynamic
m-lag 1
quit
interface Ten-GigabitEthernet 1/0/20
port link-aggregation group 10
quit
# 5. 配置VXLAN
l2vpn enable
vsi vxlan10
vxlan 5010
tunnel 1.1.1.1
tunnel 1.1.1.2
quit
quit
# 6. 将M-LAG接口关联到VSI
interface Bridge-Aggregation 10
quit
Leaf-2 M-LAG配置: 与Leaf-1类似,主要区别:m-lag system-number 2。
关键说明:两台Leaf的M-LAG接口对应的VBDIF接口需要具有相同的IP地址和MAC地址。如需防止上行链路故障时流量丢弃,可配置monitor-link关联上行接口和下行接口,当上行出口DOWN时下行接口状态也变为DOWN。
2.4 服务器侧配置(Linux Bonding示例)
# /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
TYPE=Bond
BONDING_MASTER=yes
BOOTPROTO=static
IPADDR=10.1.1.100
NETMASK=255.255.255.0
GATEWAY=10.1.1.1 # 指向Spine双活网关
BONDING_OPTS="mode=802.3ad miimon=100 lacp_rate=1"
#
# /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
#
# /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
TYPE=Ethernet
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
三、M-LAG流量转发机制
3.1 正常转发路径
- · 跨VNI流量:VM → Leaf(M-LAG双活)→ Spine(集中式网关)→ 三层转发 → 目标VNI → 目标Leaf → 目标VM
- · VXLAN访问外部:VM → Leaf → Spine(集中式网关)→ 外部网络
- · 对称IRB转发:入口和出口网关均执行三层路由转发,外层IP头源IP为入口VTEP地址,目的IP为出口VTEP地址
3.2 故障切换场景
|
故障场景 |
切换机制 |
收敛时间 |
|
Leaf-1上行链路故障 |
M-LAG将流量切换到Leaf-2的VXLAN隧道 |
< 1s |
|
Leaf-1整机故障 |
M-LAG peer-link同步,流量全部切换到Leaf-2 |
< 1s |
|
Spine-1故障 |
BGP EVPN路由撤销,Spine-2接管网关 |
取决于BGP收敛 |
|
Spine上行链路故障 |
利用M-LAG机制将流量切换到对端VXLAN隧道 |
需配合联动机制 |
注意:当Spine VXLAN隧道故障时,需确保M-LAG双活网关配置正确且对端VXLAN隧道状态为UP,否则需通过BGP EVPN同步隧道状态信息,触发流量重新路由。
四、网络调试详细步骤
4.1 基础连通性检查
步骤1:检查Underlay三层可达性
text
# 在Spine-1上ping Leaf-1的Loopback0
ping -a 1.1.1.1 2.2.2.1
# 检查OSPF邻居状态
display ospf peer
# 检查IP接口状态
display ip interface brief
步骤2:检查VXLAN隧道状态
text
# 查看VXLAN隧道信息(关键命令)
display l2vpn vsi verbose
# 查看隧道接口详细状态
display interface Tunnel 1
# 检查隧道源/目的地址
display vxlan tunnel
正常输出应显示隧道状态为Up,Tunnel source和destination地址正确。
步骤3:检查VSI与VXLAN ID绑定
text
# 查看VSI状态和VXLAN ID
display l2vpn vsi name vxlan10 verbose
# 验证VNI与BD映射
display vxlan vni
需确认两端VSI名称不同但VXLAN ID相同(正确配置),且同一VTEP上不同VSI未使用相同VXLAN ID。
4.2 BGP EVPN检查
text
# 检查BGP EVPN对等体状态
display bgp peer l2vpn evpn
# 查看接收到的EVPN路由
display bgp l2vpn evpn
# 查看IMET路由(用于头端复制)
display evpn auto-discovery imet
# 查看MAC/IP路由
display evpn auto-discovery mac-ip
4.3 ARP抑制配置与检查
text
# 在Spine集中式网关上开启ARP泛洪抑制
vsi vxlan10
arp suppression enable
quit
# 查看ARP抑制表项
display arp suppression vsi vxlan10
ARP泛洪抑制功能可有效避免ARP请求报文占用核心网络带宽,VTEP从本地或VXLAN隧道接收ARP报文后建立抑制表项。
4.4 常见故障排查流程
故障1:VXLAN隧道Down
排查步骤:
1. display ip interface brief → 确认源IP正确
2. display ospf peer → 确认底层路由可达
3. ping -a [源VTEP] [目的VTEP] → 验证底层IP连通性
4. 检查UDP端口号是否一致(display current-configuration | include vxlan udp-port)
故障2:隧道UP但业务不通
排查步骤:
1. 确认两端VNI一致:display vxlan vni
2. 检查AC服务实例匹配:display l2vpn vsi name vxlan10 verbose
3. 确认泛洪抑制未误配:检查flooding disable all命令
4. 检查MAC地址表学习:display mac-address vsi vxlan10
故障3:集中式网关Ping不通
排查流程:
1. 检查VXLAN隧道是否为UP → 若DOWN则修改隧道和路由配置
2. 检查VXLAN IP网关接口状态 → 若DOWN则修改网关接口配置
3. 检查是否存在网关IP对应的ARP表项 → 若不存在则修改ARP相关配置
4.5 硬件资源模式检查
text
# 查看VXLAN硬件资源模式
display hardware-resource vxlan
# 如果模式不正确,重新配置(需重启生效)
hardware-resource vxlan l3gw24k
对报文进行三层转发的VXLAN IP网关设备上,需要配置VXLAN硬件资源模式为l3gw模式。多台设备形成IRF堆叠时,VXLAN硬件资源模式必须保持一致。
五、注意事项
5.1 硬件资源模式
- · Spine设备作为集中式网关,必须配置三层网关模式:hardware-resource vxlan l3gw24k
- · Leaf设备作为VTEP(二层网关),配置二层网关模式即可
- · 修改硬件资源模式后需要重启设备才能生效
5.2 IRF堆叠注意事项
- · 如果Leaf层采用IRF堆叠而非M-LAG,堆叠前需确保各成员设备的VXLAN硬件资源模式一致
- · IRF Domain ID通常默认为0,需要根据网络规划手动配置
- · 堆叠设备间建议配置BFD MAD检测,MAD检测接口需关闭STP协议
5.3 M-LAG部署关键点
- · peer-link建议使用聚合口,避免单链路故障导致M-LAG协商异常
- · M-LAG接口下建议配置基于源/目的IP+端口的哈希算法,增加负载分担粒度
- · M-LAG主备设备需要同时作为三层网关,必须保证M-LAG成员接口对应的VBDIF接口具有相同的IP和MAC地址
- · 密切关注peer-link状态,若出现拥塞或协商异常,M-LAG双活机制可能退化
5.4 集中式网关部署注意
- · 集中式网关场景下所有三层流量经Spine处理,Spine设备压力较大,不适合大规模网络
- · 建议在Spine上部署ARP泛洪抑制,减少广播报文对核心网络的影响
- · 注意:FE、FX类型单板用作集中式VXLAN IP网关时,不能同时用作接入本地站点的VTEP设备
- · 交换机工作模式必须设置为standard模式
5.5 隧道与路由注意
- · 确保两端设备UDP端口号一致(默认4789)
- · Loopback口需发布32位路由,确保VTEP源地址可达
- · BGP EVPN需正确配置RT(Route Target)以控制路由的发布与接收
5.6常见翻车点
1. Peer-Link未放行业务VLAN:Peer-Link必须port trunk permit vlan all或至少包含所有业务VLAN,否则M-LAG裂开时业务中断。
2. 忘记配置link-aggregation mode dynamic:M-LAG成员口和Peer-Link都必须使用动态LACP模式,静态聚合无法协商M-LAG状态。
3. Keepalive链路不通:Keepalive建议使用独立三层链路或带外管理网,若ping不通会导致M-LAG状态异常。
4. M-LAG裂开后Secondary设备接口Error-Down:裂开后Secondary设备所有非排除接口会被置为Error-Down,默认300秒恢复,可通过m-lag restore-delay调整。
5. 单台设备重启后角色为None:当只有一台设备在线时,需配置m-lag auto-recovery reload-delay加速恢复。
6. 一致性检查导致配置失败:生产环境建议开启一致性检查,但调试时可临时关闭m-lag consistency-check disable。
7. 服务器ARP学习问题:双活网关场景下,服务器可能只从一个网卡发ARP,导致另一台Spine学不到ARP。可在Leaf配置arp smart-discover enable主动探测。
六、验证与测试
6.1 基本验证命令汇总
|
验证项 |
命令 |
|
VXLAN隧道状态 |
display interface Tunnel [n] |
|
VSI状态与VXLAN ID |
display l2vpn vsi verbose |
|
VXLAN VNI映射 |
display vxlan vni |
|
BGP EVPN对等体 |
display bgp peer l2vpn evpn |
|
EVPN路由 |
display bgp l2vpn evpn |
|
IMET路由 |
display evpn auto-discovery imet |
|
ARP抑制表项 |
display arp suppression vsi [name] |
|
VXLAN硬件资源 |
display hardware-resource vxlan |
6.2 业务测试步骤
1. 同VNI二层互通测试:同一Leaf下不同VM互ping
2. 跨VNI三层互通测试:不同VNI的VM经过Spine网关互ping
3. VXLAN访问外部测试:VM ping外部网络地址(如8.8.8.8)
4. M-LAG切换测试:断开Leaf-1上行链路,验证流量自动切换到Leaf-2
5. Spine网关切换测试:断开Spine-1,验证Spine-2接管网关功能

浙公网安备 33010602011771号