4. EVPN多活网关技术

在传统数据中心三层网关设计中,通常采用VRRP或HSRP实现网关冗余,但同一时刻只有一台设备转发流量,备用网关长期闲置,且故障切换依赖协议收敛,切换期间会出现秒级中断。EVPN多活网关(Distributed Anycast Gateway,分布式任播网关)改变了这一模式:多台Leaf交换机同时作为同一网段的网关,使用相同的虚拟MAC地址和相同的网关IP,每台Leaf独立完成本地接入主机的三层转发,无需将流量绕行到某台主网关。这样既消除了单点瓶颈,也把故障切换时间压缩到接近本地链路收敛的水平。

分布式任播网关的核心机制

分布式任播网关的关键在于“同一IP、同一MAC、处处可达”。每台Leaf交换机上都配置相同的网关IP(例如VLAN 10对应192.168.10.1/24)和相同的虚拟MAC地址(例如00:00:5e:00:01:01)。当主机A(连接Leaf-1)访问主机B(连接Leaf-2)时,主机A的默认网关是192.168.10.1,它发出的ARP请求由Leaf-1直接应答,Leaf-1用自己的虚拟MAC作为应答MAC,随后主机A将数据帧发给Leaf-1,Leaf-1查EVPN路由表后通过VXLAN封装转发到Leaf-2。整个过程不需要任何一台“主网关”参与,每台Leaf都是本地主机的第一跳网关。

虚拟MAC地址的选择需要全网统一。通常使用一个本地管理位为0、组播位为0的普通单播MAC,例如00:00:5e:00:01:01,并确保该MAC不会与任何物理接口MAC冲突。所有Leaf上的VLAN网关接口(SVI)都配置相同的IP和MAC,形成任播(Anycast)语义。主机无论接入哪台Leaf,看到的网关MAC和IP完全一致,因此主机侧无需感知网关位置变化。

EVPN分布式任播网关:同IP同MAC,本地转发 Spine / 核心层 EVPN路由反射器 · BGP EVPN Leaf-1 SVI: 192.168.10.1/24 虚拟MAC: 00:00:5e:00:01:01 VXLAN VNI 1010 本地网关 · 本地转发 Leaf-2 SVI: 192.168.10.1/24 虚拟MAC: 00:00:5e:00:01:01 VXLAN VNI 1010 本地网关 · 本地转发 主机A IP: 192.168.10.10/24 网关: 192.168.10.1 主机B IP: 192.168.10.20/24 网关: 192.168.10.1 VXLAN隧道 · EVPN路由交换 ARP/ND同步 本地ARP应答 + EVPN MAC/IP路由通告 主机A → Leaf-1(本地网关)→ VXLAN封装 → Leaf-2 → 主机B 无需绕行主网关,每台Leaf独立完成本地三层转发

ARP/ND同步与EVPN MAC/IP路由

多活网关要正常工作,必须解决一个关键问题:主机A的ARP请求由Leaf-1应答,但主机B的MAC地址Leaf-1可能并不知道。传统方案依赖泛洪,而EVPN多活网关通过控制平面同步来解决。每台Leaf将本地学习到的主机MAC/IP信息通过BGP EVPN的Type-2路由(MAC/IP Advertisement Route)通告给其他Leaf。当Leaf-1收到主机A的ARP请求并需要转发到主机B时,它已经通过EVPN路由表知道主机B的MAC和所在VTEP,直接封装VXLAN单播转发,无需泛洪。

对于网关自身的ARP/ND,每台Leaf都维护一份本地ARP表,并只应答本地接入主机的ARP请求。当主机A发送“谁是192.168.10.1”的ARP请求时,Leaf-1直接用自己的虚拟MAC应答,主机A的ARP缓存中网关MAC为00:00:5e:00:01:01。如果主机A迁移到Leaf-2下,Leaf-2同样用相同虚拟MAC应答,主机A的ARP缓存无需更新,业务不中断。IPv6场景下ND(Neighbor Discovery)机制同理,通过EVPN Type-2路由携带IPv6地址信息实现同步。

网关故障切换机制

分布式任播网关的故障切换分为两种场景。第一种是Leaf设备整体故障:当Leaf-1宕机时,其下挂主机需要重新接入。如果主机采用双归接入(如MLAG或ESI多活),主机链路会切换到Leaf-2,Leaf-2继续用相同虚拟MAC和IP提供网关服务,主机侧无感知。如果主机单归接入Leaf-1,则主机链路中断,需要依赖主机侧多网卡或链路聚合恢复,此时网关本身不是瓶颈。

第二种是网关接口或VXLAN隧道故障:Leaf-1的SVI接口Down或VXLAN隧道不可达时,Leaf-1会撤销对应的EVPN路由,其他Leaf收到撤销后更新转发表。对于本地主机,Leaf-1的SVI Down意味着本地网关不可用,主机需要重新选择路径。实际部署中通常结合BFD(Bidirectional Forwarding Detection)实现毫秒级故障检测,BFD会话Down后触发EVPN路由快速撤销,收敛时间可控制在200ms以内。

关键点:多活网关的故障切换不依赖VRRP主备选举,而是依赖EVPN路由收敛和主机侧链路冗余。因此,主机双归接入是多活网关发挥优势的前提条件。

多活网关部署实践

以下以一台Leaf-1为例,给出分布式任播网关的关键配置片段。假设VLAN 10对应VNI 1010,网关IP为192.168.10.1/24,虚拟MAC为00:00:5e:00:01:01,Leaf-1的VTEP地址为10.0.0.1,Leaf-2的VTEP地址为10.0.0.2。

! Leaf-1 分布式任播网关配置示例
vlan 10
  vn-segment 1010
!
interface Vlan10
  no shutdown
  ip address 192.168.10.1/24
  mac-address 0000.5e00.0101
  fabric forwarding mode anycast-gateway
!
interface nve1
  no shutdown
  source-interface Loopback0
  member vni 1010
    ingress-replication protocol bgp
!
router bgp 65001
  neighbor 10.0.0.2 remote-as 65001
  neighbor 10.0.0.2 update-source Loopback0
  address-family l2vpn evpn
    neighbor 10.0.0.2 activate
    advertise l2vpn evpn
!
evpn
  vlan 10
    rd auto
    route-target both 65001:1010

配置完成后,通过以下命令验证多活网关状态。首先检查本地SVI和虚拟MAC是否生效:

Leaf-1# show interface Vlan10
Vlan10 is up, line protocol is up
  Hardware is Ethernet SVI
  Internet address is 192.168.10.1/24
  MTU 1500 bytes, BW 1000000 Kbit
  MAC address is 0000.5e00.0101 (bia 0000.5e00.0101)

然后检查EVPN路由表,确认已学习到Leaf-2下挂主机的MAC/IP路由:

Leaf-1# show bgp l2vpn evpn
Route Distinguisher: 10.0.0.2:1010
  Network          Next Hop       Metric LocPrf Weight Path
  [2]:[0]:[0]:[48]:[0050.5680.0002]:[32]:[192.168.10.20]
                   10.0.0.2          0    100      0 i

该输出表示Leaf-1已通过EVPN Type-2路由学习到主机B(MAC 0050.5680.0002,IP 192.168.10.20)位于VTEP 10.0.0.2。此时从主机A ping主机B,流量路径为:主机A → Leaf-1(本地网关)→ VXLAN封装 → Leaf-2 → 主机B,全程不经过任何主网关设备。

部署检查清单

检查项 预期结果 验证命令
虚拟MAC全网一致 所有Leaf的SVI MAC相同 show interface Vlan10
网关IP一致 所有Leaf的SVI IP相同 show interface Vlan10
EVPN Type-2路由同步 能学到远端主机MAC/IP show bgp l2vpn evpn
VXLAN隧道可达 NVE peer状态Up show nve peers
ARP本地应答 主机ARP缓存网关MAC为虚拟MAC 主机侧arp -a
故障切换收敛 BFD Down后路由快速撤销 show bfd neighbors
注意:虚拟MAC地址必须在整个EVPN域内唯一且一致,不能与任何物理接口MAC冲突。如果不同VLAN使用不同虚拟MAC,需确保每个VLAN的虚拟MAC全网统一。此外,多活网关要求所有Leaf的VXLAN VNI和EVPN路由目标(Route Target)配置一致,否则Type-2路由无法正确导入。

总结来说,EVPN分布式任播网关通过“同IP同MAC”实现网关任播,通过EVPN Type-2路由实现ARP/ND同步,通过本地转发消除主备网关的流量绕行,通过BFD和EVPN路由收敛实现快速故障切换。部署时需重点关注虚拟MAC一致性、EVPN路由同步状态和主机双归接入设计,这三者共同决定了多活网关能否真正发挥高可用价值。