数据中心EVPN-VXLAN与BGP生产运维实战
传统二层网络扩大后会遇到STP、广播域、网关扩展和多租户隔离问题。EVPN-VXLAN通过Underlay IP网络承载Overlay,并使用BGP EVPN分发MAC、IP和前缀信息。它提升扩展性,也把故障从单一VLAN变成Underlay、BGP、VTEP、VNI和路由类型的联合排查。
一、核心概念
- Underlay:Leaf-Spine三层IP网络;
- Overlay:通过VXLAN建立的逻辑二/三层网络;
- VTEP:封装和解封VXLAN的设备;
- VNI:24位网络标识;
- NVE:设备上的VXLAN隧道接口;
- EVPN:通过MP-BGP发布Overlay可达性;
- Anycast Gateway:多个Leaf提供相同网关;
- Route Distinguisher/Target:区分路由并控制导入导出。
二、典型Leaf-Spine
Spine1 Spine2
/ | \ / | \
Leaf1 Leaf2 Leaf3 Leaf4
| | | |
Server/Firewall/Storage
Underlay使用ECMP提供多路径。Leaf通常作为VTEP,Spine只转发Underlay或同时作为Route Reflector,取决于设计。
三、Underlay设计
可选择OSPF/IS-IS或eBGP。现代Fabric常使用eBGP Unnumbered或点到点地址。
要求:
- 所有VTEP Loopback可达;
- ECMP路径稳定;
- MTU足够容纳VXLAN额外头;
- BFD/Keepalive合理;
- 物理链路和邻居可观测;
- 故障收敛不会引起大规模抖动。
Overlay故障时先验证Underlay,不能直接从EVPN策略开始猜测。
四、MTU
VXLAN增加封装开销。若服务器仍使用1500字节,Underlay通常需要更大的MTU并端到端一致。
检查:
ping <remote-vtep> -M do -s <size>
交换机、端口通道、隧道和中间设备任一处MTU较小,都会出现大包丢失、存储异常或“Ping通但业务慢”。
五、BGP EVPN路由类型
常用:
- Type 1:Ethernet Auto-Discovery,用于多归属;
- Type 2:MAC/IP Advertisement;
- Type 3:Inclusive Multicast Ethernet Tag,用于BUM;
- Type 4:Ethernet Segment;
- Type 5:IP Prefix Route。
排障时确认本地是否产生、BGP是否传递、远端是否导入、最终是否安装到MAC/ARP/路由表。
六、L2VNI与L3VNI
- L2VNI映射VLAN/Bridge Domain,承载同网段二层;
- L3VNI关联VRF,承载租户三层路由。
需要统一规划VLAN、VNI、VRF、RD和RT。自动生成规则可减少人工冲突,但必须有Source of Truth和校验。
七、Anycast Gateway
所有Leaf可为同一网段提供相同网关IP和MAC,主机就近转发。
检查:
- Anycast MAC一致;
- SVI/IRB状态;
- ARP/ND学习;
- 网关路由;
- 对称/非对称IRB设计;
- 主机移动后的路由更新。
配置不一致会产生间歇性黑洞。
八、ARP/ND抑制
EVPN可在控制面分发MAC-IP绑定,减少Overlay广播。需要确认:
- Type 2携带IP;
- 本地邻居表;
- 代理ARP/ND;
- 老化时间;
- 主机静态地址;
- IPv6 ND行为。
错误绑定或未及时撤销可能导致流量送往旧VTEP。
九、BUM流量
Broadcast、Unknown Unicast、Multicast可通过Ingress Replication或组播Underlay复制。
Ingress Replication部署简单,但VTEP数量大时复制开销增加。组播模式需PIM等Underlay能力。监控BUM比例,异常未知单播可能说明MAC学习或控制面问题。
十、多归属与ESI
服务器、防火墙或下联交换机可双归属到两个Leaf。EVPN Multi-Homing通过ESI和Designated Forwarder避免环路并实现冗余。
检查:
- 两端ESI一致;
- LACP System ID;
- Type 1/4路由;
- DF选举;
- Split Horizon;
- All-Active或Single-Active模式;
- 单链路/单Leaf故障。
十一、Route Reflector
RR降低BGP全互联数量,但成为控制面关键组件。通常部署至少两个,并跨故障域。
监控:
- Peer状态;
- EVPN路由数量;
- CPU/内存;
- 更新延迟;
- Cluster ID;
- Add-Path或多路径行为;
- 配置一致性。
RR不一定在数据转发路径,但失效会影响新学习和收敛。
十二、路由目标与租户隔离
RT控制路由导入导出,错误配置可导致租户泄露或不可达。
变更前生成:
- 每VRF导入/导出RT;
- L2/L3 VNI;
- Shared Service策略;
- 防火墙服务链;
- 重叠地址处理。
通过自动校验防止不同租户误用相同RT。
十三、外部网络连接
Border Leaf连接WAN、互联网、防火墙或传统网络。
设计:
- Type 5路由;
- 默认路由;
- VRF泄露;
- 防火墙双机;
- NAT;
- ECMP;
- 对称路径;
- 传统VLAN迁移。
状态防火墙必须考虑流量对称性,Fabric ECMP可能让回程经过另一台设备。
十四、主机移动
EVPN使用MAC Mobility序列处理主机移动。频繁移动可能来自虚拟机迁移、环路、重复MAC或双活错误。
检查:
- Type 2路由的VTEP和序列;
- 本地MAC表;
- 虚拟化迁移日志;
- 重复地址;
- 接口Flap;
- 是否触发Duplicate Detection。
十五、典型排障路径
同网段主机不通:
- 主机网卡/VLAN;
- 接入端口;
- 本地MAC/ARP;
- L2VNI/NVE;
- Type 2/3路由;
- 远端VTEP;
- Underlay可达与MTU;
- ACL和安全组。
跨网段不通再增加:Anycast Gateway、VRF、L3VNI、Type 5、路由策略和防火墙。
十六、控制面与数据面验证
控制面存在路由不代表数据面正常。需要同时验证:
- BGP EVPN RIB;
- VRF路由表;
- MAC和ARP/ND;
- VTEP Peer;
- 隧道封装计数;
- ASIC/FIB安装;
- 端到端抓包。
抓包时区分原始帧与UDP 4789封装,检查VNI和外层VTEP地址。
十七、容量与规模
规划:
- MAC/IP路由数;
- VRF/VNI数量;
- BGP Peer;
- ECMP路径;
- TCAM/FIB;
- ARP/ND表;
- BUM复制;
- RR性能;
- 收敛时间。
设备支持某个Feature不代表在目标规模下仍满足收敛和性能要求。
十八、变更与自动化
使用NetBox等Source of Truth维护Fabric节点、接口、ASN、Loopback、VNI和租户。
流水线:
- Schema校验;
- 配置渲染;
- Batfish/厂商工具验证;
- 差异评审;
- 单Leaf灰度;
- 验证BGP、路由和业务;
- 按冗余组推进;
- 保存证据。
Spine或RR变更要更加谨慎,避免同时影响全Fabric。
十九、监控
- Underlay接口、邻居、丢包和MTU;
- BGP/EVPN Peer和路由数量;
- VTEP/NVE Peer;
- MAC/IP、ARP/ND、移动与重复;
- VNI和VRF状态;
- ECMP路径;
- BUM比例;
- ASIC资源;
- RR CPU和更新延迟;
- 端到端合成探测。
二十、上线检查清单
- [ ] Underlay到所有VTEP可达且MTU一致;
- [ ] ASN、Loopback、RD/RT、VNI有统一规划;
- [ ] RR至少双实例并跨故障域;
- [ ] Anycast Gateway和ARP/ND抑制已验证;
- [ ] 多归属ESI、DF和LACP行为一致;
- [ ] 租户RT隔离和Shared Service经过测试;
- [ ] Border Leaf、防火墙和回程路径明确;
- [ ] 控制面与数据面均有验证命令;
- [ ] 自动化配置具备差异、灰度和回滚;
- [ ] Leaf、Spine、RR、链路和主机移动故障已演练。
二十一、结语
EVPN-VXLAN不是把VLAN换成VNI这么简单,而是把二层学习、三层路由、多租户和故障收敛统一到BGP控制面。最有效的排障方式,是始终沿“主机—接入—本地VTEP—EVPN路由—Underlay—远端VTEP—目标主机”逐层验证,避免只盯某一条BGP邻居状态。
参考资料
- RFC 7432 BGP MPLS-Based Ethernet VPN:https://www.rfc-editor.org/rfc/rfc7432
- RFC 8365 Network Virtualization Overlay Solution Using EVPN:https://www.rfc-editor.org/rfc/rfc8365