NX-OS 到 NVUE EVPN 配置

Cumulus Linux 4.4 版本引入了一个名为 NVUE 的新 CLI;Cumulus Linux 的完整对象模型。NVUE 使第一次使用 Cumulus Linux 以及跨 Cumulus Linux 版本转换配置变得更加可靠。

本知识库文章介绍如何获取 EVPN 的基本 NX-OS 配置并将其转换为 NVUE。示例配置源自此 Cisco 配置示例

NX-OS 命令NVUE 命令注释
nv overlay evpnCumulus Linux 不需要显式启用功能
feature ospf
feature bgp
feature pim
feature interface-vlan
feature vn-segment-vlan-based
feature lacp
feature vpc
feature nv overlay
fabric forwarding anycast-gateway-mac 0001.0001.0001nv set system global anycast-mac 44:38:39:BE:EF:AA
ip pim rp-address 192.168.9.9 group-list 224.0.0.0/4NVIDIA 建议您对 EVPN 使用 Head End Replication,从而无需 PIM。横向扩展部署支持PIM 复制
ip pim ssm range 232.0.0.0/8
vlan 1,10,20,30,40nv set bridge domain br_default vlan 30,40以太网桥接
vlan 10第 3 层 VNI 不需要唯一的 VLAN 接口。
name L3-VNI-VLAN-10
vn-segment 10000010
vlan 30nv set bridge domain br_default vlan 30 vni 10000030
vn-segment 10000030使用 NVUE 的单个命令定义 vn-segmentvlan
vlan 40nv set bridge domain br_default vlan 40 vni 10000040
vn-segment 10000040
vpc domain 2nv set mlag backup 10.197.204.103Cumulus Linux 多机箱链路聚合 - MLAG 使用远程和本地对等连接以确保正常运行时间。
peer-keepalive destination 10.197.204.103nv set mlag peer-ip linklocal您可以使用链路本地地址自动确定本地对等 IP。
interface Vlan10第 3 层 VNI 不需要唯一的 VLAN 接口。
no shutdown
vrf member EVPN-L3-VNI-VLAN-10
ip forward
interface Vlan30
no shutdown默认情况下,接口已 no shut
vrf member EVPN-L3-VNI-VLAN-10nv set interface vlan30 ip vrf EVPN-L3-VNI-VLAN-10
ip address 172.16.30.1/24nv set interface vlan30 ip address 172.16.30.1/24
fabric forwarding mode anycast-gateway您无需在 NVUE 中为此设置指定显式命令。
interface Vlan40 
no shutdown
vrf member EVPN-L3-VNI-VLAN-10nv set interface vlan40 ip vrf EVPN-L3-VNI-VLAN-10
ip address 172.16.40.1/24nv set interface vlan40 ip address 172.16.40.1/24
fabric forwarding mode anycast-gateway
interface port-channel2 nv set interface bond2 bond member swp1此示例使用 swp1 而不是 NX-OS 端口 e1/13
switchport mode trunknv set interface bond2 bridge domain br_default vlan allbr_default 是默认网桥的名称。
vpc 2nv set interface bond2 bond mlag id 2
interface port-channel34nv set interface peerlink bond member swp49此示例使用 swp49 而不是 NX-OS 端口 e1/1
switchport mode trunk默认情况下,peerlink 是中继端口。
spanning-tree port type network默认启用。
vpc peer-link您可以使用名称 peerlink 执行此操作。
interface nve1NVUE 没有显式接口。
no shutdown
source-interface loopback2nv set nve vxlan source address 192.168.33.33您可以使用 nv set nve vxlan 命令全局配置 NVUE 接口设置。
host-reachability protocol bgp
member vni 10000010 associate-vrfnv set vrf EVPN-L3-VNI-VLAN-10 evpn vni 10000010
member vni 10000030您只需要关联 VRF VNI。
suppress-arpnv set nve vxlan arp-nd-suppress on
mcast-group 239.1.1.10NVIDIA 建议您使用 Head end Replication。
member vni 10000040
suppress-arp
mcast-group 239.1.1.20
interface Ethernet1/1
switchport mode trunk您在之前创建 bond 时定义了接口。
channel-group 34 mode active
interface Ethernet1/2
no switchport默认情况下,接口为第 3 层。
ip address 192.168.39.3/24NVIDIA 建议对底层网络使用 BGP Unnumbered,从而无需 IP 地址。
ip router ospf UNDERLAY area 0.0.0.0NVIDIA 建议使用 BGP Unnumbered。
ip pim sparse-modeNVIDIA 建议使用 Head End Replication。
no shutdown
interface Ethernet1/13此示例使用端口 swp1 而不是 e1/13
switchport mode trunk端口配置是 bond 定义的一部分。
channel-group 2 mode active
interface loopback2nv set interface lo ip address 192.168.33.33/32Cumulus Linux 使用单个环回 lo
ip address 192.168.33.33/32使用环回接口的创建定义。
ip address 192.168.33.34/32 secondarynv set nve vxlan mlag shared-address 192.168.33.34
ip router ospf UNDERLAY area 0.0.0.0NVIDIA 建议对底层网络和覆盖网络都使用 BGP。
router bgp 65000nv set router bgp autonomous-system 65000
address-family ipv4 unicast
address-family l2vpn evpn
neighbor 192.168.9.9 remote-as 100nv set vrf default router bgp neighbor swp51 remote-as external此命令使用 eBGP unnumbered 而不是基于 IP 的对等连接。
remote-as 65000此命令与上面的对等命令结合使用。
update-source loopback2BGP unnumbered 使用接口而不是环回源。
address-family ipv4 unicast
address-family l2vpn evpnnv set vrf default router bgp neighbor swp51 address-family l2vpn-evpn enable on
send-community extended默认启用。
vrf EVPN-L3-VNI-VLAN-10您可以通过之前的 nv set vrf 命令管理此项。
address-family ipv4 unicast
advertise l2vpn evpn
evpn
vni 10000030 l2
rd auto
route-target import auto
route-target export auto
vni 10000040 l2
rd auto
route-target import auto
route-target export auto 
完整的 NVUE 配置
nv set system global anycast-mac 44:38:39:BE:EF:AA
nv set bridge domain br_default vlan 30,40
nv set bridge domain br_default vlan 30 vni 10000030
nv set bridge domain br_default vlan 40 vni 10000040
nv set mlag backup 10.197.204.103
nv set mlag peer-ip linklocal
nv set interface vlan30 ip vrf EVPN-L3-VNI-VLAN-10
nv set interface vlan30 ip address 172.16.30.1/24
nv set interface vlan40 ip vrf EVPN-L3-VNI-VLAN-10
nv set interface vlan40 ip address 172.16.40.1/24
nv set interface bond2 bond member swp1
nv set interface bond2 bridge domain br_default vlan all
nv set interface bond2 bond mlag id 2
nv set interface peerlink bond member swp49
nv set nve vxlan source address 192.168.33.33
nv set vrf EVPN-L3-VNI-VLAN-10 evpn vni 10000010
nv set nve vxlan arp-nd-suppress on
nv set interface lo ip address 192.168.33.33/32
nv set nve vxlan mlag shared-address 192.168.33.34
nv set router bgp autonomous-system 65000
nv set vrf default router bgp neighbor swp51 remote-as external
nv set vrf default router bgp neighbor swp51 address-family l2vpn-evpn enable on