4. VXLAN EVPN实验环境搭建

VXLAN EVPN的实验环境搭建,本质上是把“控制平面(BGP EVPN)”和“数据平面(VXLAN隧道)”两套机制放到同一张拓扑里跑通。很多初学者一上来就急着敲VXLAN配置,结果BGP邻居没起来、Loopback不可达、Underlay路由缺失,最后排查半天发现是底层IP没通。因此本节按照“拓扑规划 → 设备选型 → Underlay IP与路由 → BGP EVPN邻居 → 验证”的顺序展开,每一步都给出可观察的判断依据。

一、拓扑规划:先定角色,再定链路

一个最小可用的VXLAN EVPN实验拓扑,至少需要两台Leaf、两台Spine,以及两台主机(或两台模拟PC)。Leaf作为VTEP(VXLAN隧道端点),负责VXLAN封装/解封装;Spine只做IP转发,不参与VXLAN封装,但必须与Leaf建立BGP EVPN邻居以交换MAC/IP路由。主机分别接入两台Leaf,处于同一VXLAN网段,用于验证跨Leaf的二层互通。

链路规划上,推荐采用“Leaf-Spine全互联”的CLOS结构:每台Leaf与两台Spine各有一条三层互联链路。这样任意两台Leaf之间至少有两条等价路径,便于后续观察BGP选路和ECMP。地址规划建议按“设备角色+链路编号”分配,例如Spine1与Leaf1之间用10.0.1.0/30,Spine1与Leaf2之间用10.0.1.4/30,Spine2与Leaf1之间用10.0.2.0/30,Spine2与Leaf2之间用10.0.2.4/30。Loopback地址统一用10.255.0.X/32,X按设备编号递增,作为BGP Router-ID和VXLAN隧道的源地址。

VXLAN EVPN 最小实验拓扑(Leaf-Spine CLOS) Spine1 Lo:10.255.0.1/32 Spine2 Lo:10.255.0.2/32 Leaf1 (VTEP) Lo:10.255.0.11/32 AS 65001 Leaf2 (VTEP) Lo:10.255.0.12/32 AS 65001 Host1 192.168.10.1/24 Host2 192.168.10.2/24 10.0.1.0/30 10.0.2.0/30 10.0.1.4/30 10.0.2.4/30 VXLAN Tunnel (VNI 10010) BGP EVPN 邻居 (AS 65001) Underlay IP链路 VXLAN隧道 主机接入

二、设备选型:模拟器与物理设备的取舍

eNSP对VXLAN EVPN的支持有限,主要适合验证Underlay IP和基础BGP,VXLAN封装能力较弱,不建议作为EVPN实验主力。EVE-NG配合Nexus 9000v、vIOS、vEOS等镜像可以完整支持BGP EVPN和VXLAN,是当前最常用的选择。物理设备则最接近生产环境,但成本高、组网周期长。教学实验推荐EVE-NG + Nexus 9000v(或vEOS)组合,资源占用适中,命令体系与生产一致。

设备选型时需确认三点:镜像是否支持BGP EVPN地址族(address-family l2vpn evpn)、是否支持VXLAN接口(interface nve / vxlan)、是否支持EVPN的Type-2和Type-3路由。若使用vIOS,需注意其VXLAN支持不完整,只能做Underlay和BGP验证。

三、Underlay IP与路由配置

Underlay的目标是让所有Loopback地址互通。以Leaf1为例,先配置接口IP和Loopback:

interface Loopback0
 ip address 10.255.0.11 255.255.255.255
!
interface Ethernet1/1
 no switchport
 ip address 10.0.1.1 255.255.255.252
!
interface Ethernet1/2
 no switchport
 ip address 10.0.2.1 255.255.255.252

Spine侧对应配置10.0.1.2和10.0.2.2。随后运行OSPF或IS-IS,把Loopback和互联链路宣告进IGP。以OSPF为例:

router ospf 1
 router-id 10.255.0.11
 network 10.255.0.11 0.0.0.0 area 0
 network 10.0.1.0 0.0.0.3 area 0
 network 10.0.2.0 0.0.0.3 area 0

配置完成后,在Leaf1上执行show ip route 10.255.0.12,应能看到通过OSPF学到的/32路由,下一跳为Spine的接口地址。这是后续BGP邻居和VXLAN隧道能建立的前提。若路由缺失,优先检查接口是否up、OSPF邻居是否Full、network语句是否覆盖正确网段。

四、BGP EVPN邻居配置

Underlay通了之后,在Leaf和Spine之间建立iBGP(同一AS 65001)或eBGP。教学环境推荐iBGP,配置更简洁。Leaf1上配置:

router bgp 65001
 router-id 10.255.0.11
 neighbor 10.255.0.1 remote-as 65001
 neighbor 10.255.0.1 update-source Loopback0
 neighbor 10.255.0.2 remote-as 65001
 neighbor 10.255.0.2 update-source Loopback0
 !
 address-family l2vpn evpn
  neighbor 10.255.0.1 activate
  neighbor 10.255.0.2 activate

Spine侧需要作为路由反射器(RR),把Leaf1的EVPN路由反射给Leaf2,否则Leaf之间无法直接建立iBGP全互联。Spine配置neighbor 10.255.0.11 route-reflector-client和neighbor 10.255.0.12 route-reflector-client,并在l2vpn evpn地址族下激活。

验证BGP邻居状态:show bgp l2vpn evpn summary,应看到邻居状态为Established,且收到/发送的EVPN路由计数不为零。若邻居卡在Active或Idle,检查Loopback可达性、update-source是否正确、AS号是否匹配。

五、关键验证点与常见问题

实验环境搭建完成后,按以下顺序验证:第一,ping 10.255.0.12 source 10.255.0.11确认Underlay Loopback互通;第二,show bgp l2vpn evpn summary确认EVPN邻居Established;第三,show bgp l2vpn evpn查看是否收到Type-3(IMET)路由,这是VXLAN隧道自动建立的关键;第四,在Leaf上show nve peers确认VXLAN对等体状态为Up。

Type-3路由(Inclusive Multicast Ethernet Tag Route)携带VTEP的源IP,Leaf之间通过它自动发现对端VTEP并建立VXLAN隧道。如果show nve peers为空,优先检查EVPN地址族下是否收到对端的Type-3路由。
eNSP中部分镜像不支持address-family l2vpn evpn命令,若输入后报错,说明该镜像不具备EVPN能力,需更换为EVE-NG中的Nexus 9000v或vEOS。不要强行在eNSP上做完整EVPN实验,否则会把时间浪费在模拟器限制上。

最后,建议在实验前把地址规划、AS号、Router-ID、VNI编号整理成一张表,配置时逐项核对。VXLAN EVPN的排错成本很高,前期规划越清晰,后期定位越快。当Underlay、BGP EVPN邻居、Type-3路由、NVE对等体四个环节全部打通后,再进入VNI与二层映射的配置,才能保证实验顺利推进。