通过互连的 EVPN-MPLS WAN 网关配置 EVPN-VXLAN 数据中心拼接
您可以通过运行 EVPN-MPLS 的 WAN 网关设备无缝拼接以太网 VPN 虚拟可扩展 LAN (EVPN-VXLAN) 数据中心。
拓扑学
下图显示了使用网关模型通过 EVPN-MPLS WAN 连接的两个 EVPN-VXLAN 数据中心。每个网关都配置了一个 EVPN MAC-VRF 路由实例。每个 MAC-VRF 实例都使用 VXLAN 封装,每个 MAC-VRF 实例内的互连也使用 MPLS 封装。
EVPN-VLXAN 到 EVPN-MPLS WAN
配置
是否支持某项功能取决于您使用的平台和版本。使用 功能浏览器 查看您使用的平台是否支持某项功能。
user@device> show configuration routing-instances evpn-vxlan
instance-type mac-vrf;
protocols {
evpn {
encapsulation vxlan;
default-gateway no-gateway-community;
extended-vni-list all;
interconnect {
vrf-target target:2:2;
route-distinguisher 100:110;
esi {
00:0a:0b:0c:0d:0a:0b:0c:0d:0a;
all-active;
}
interconnected-vlan-list [ 51 52 ];
encapsulation mpls;
}
}
}
vtep-source-interface lo0.0;
service-type vlan-aware;
interface et-0/0/7.0;
interface et-0/0/9.0;
route-distinguisher 100:11;
vrf-target target:1:1;
vlans {
bd51 {
vlan-id 51;
l3-interface irb.51;
vxlan {
vni 501;
}
}
bd52 {
vlan-id 52;
l3-interface irb.52;
vxlan {
vni 502;
}
}
}
user@device> show configuration routing-instances evpn-vxlan
instance-type mac-vrf;
protocols {
evpn {
encapsulation vxlan;
default-gateway no-gateway-community;
extended-vni-list all;
interconnect {
vrf-target target:2:2;
route-distinguisher 200:210;
esi {
00:aa:bb:cc:dd:aa:bb:cc:dd:aa;
all-active;
}
interconnected-vlan-list [ 51 52 ];
encapsulation mpls;
}
}
}
vtep-source-interface lo0.0;
service-type vlan-aware;
interface et-0/0/7.0;
interface et-0/0/9.0;
route-distinguisher 200:21;
vrf-target target:3:3;
vlans {
bd51 {
vlan-id 51;
l3-interface irb.51;
vxlan {
vni 501;
}
}
bd52 {
vlan-id 52;
l3-interface irb.52;
vxlan {
vni 502;
}
}
}
对于多宿主网关设备,必须在全局级别包含以下语句:
set protocols evpn interconnect-multihoming-peer-gateways VTEP-IP-of-each-DCI-GW-peer-in-local-DC
您无法在路由实例中配置上述语句。
此外,该语句 interconnect-multihoming-peer-gateways 在 Junos OS 24.2R1 版中已重命名,以支持 multihoming-peer-gateways 在多种用例中识别多宿主对等设备。从 Junos OS 和 Junos OS 演化版 24.4R1 版开始,我们专门为互连用例恢复了 interconnect-multihoming-peer-gateways 语句名称。我们还为其他功能用例实现了其他语句,您将无法再在 Junos OS CLI 中看到该 multihoming-peer-gateways 语句。
有关多宿主的完整讨论超出了本文档的讨论范围。有关多宿主的更多信息,请参阅 EVPN 多宿主概述。
验证
确认路由显示在 mpls.0 中。
user@DC1Spine1> show route table mpls.0 protocol evpn | grep "Egress"
102 *[EVPN/7] 00:21:22, routing-instance evpn-vxlan, route-type Egress-MAC, vlan-id 51, ESI 00:aa:bb:cc:dd:aa:bb:cc:dd:aa
103 *[EVPN/7] 00:21:22, remote-pe 10.200.22.22, routing-instance evpn-vxlan, route-type Egress-MAC, vlan-id 51
104 *[EVPN/7] 00:21:22, routing-instance evpn-vxlan, route-type Egress-MAC, vlan-id 52, ESI 00:aa:bb:cc:dd:aa:bb:cc:dd:aa
105 *[EVPN/7] 00:21:22, remote-pe 10.200.22.22, routing-instance evpn-vxlan, route-type Egress-MAC, vlan-id 52
106 *[EVPN/7] 00:21:22, remote-pe 10.200.22.21, routing-instance evpn-vxlan, route-type Egress-MAC, vlan-id 51
107 *[EVPN/7] 00:21:22, remote-pe 10.200.22.21, routing-instance evpn-vxlan, route-type Egress-MAC, vlan-id 52
108 *[EVPN/7] 00:21:22, remote-pe 10.200.22.21, routing-instance evpn-vxlan, route-type Egress-IM, vlan-id 51
109 *[EVPN/7] 00:21:22, remote-pe 10.200.22.21, routing-instance evpn-vxlan, route-type Egress-IM, vlan-id 52
110 *[EVPN/7] 00:21:22, remote-pe 10.200.22.22, routing-instance evpn-vxlan, route-type Egress-IM, vlan-id 51
111 *[EVPN/7] 00:21:22, remote-pe 10.200.22.22, routing-instance evpn-vxlan, route-type Egress-IM, vlan-id 52
{master}[edit]
user@DC1Spine1> show route table mpls.0 protocol evpn | grep "Ingress"
99 *[EVPN/7] 00:21:29, routing-instance evpn-vxlan, route-type Ingress-MAC, vlan-id 51
[EVPN/7] 00:21:29, routing-instance evpn-vxlan, route-type Ingress-Aliasing, vlan-id 51
100 *[EVPN/7] 00:21:29, routing-instance evpn-vxlan, route-type Ingress-MAC, vlan-id 52
[EVPN/7] 00:21:29, routing-instance evpn-vxlan, route-type Ingress-Aliasing, vlan-id 52
112 *[EVPN/7] 00:21:28, routing-instance evpn-vxlan, route-type Ingress-IM, vlan-id 51
113 *[EVPN/7] 00:21:28, routing-instance evpn-vxlan, route-type Ingress-IM, vlan-id 52
确认 VXLAN VNI 正在 EVPN 数据库中填充。
user@DC1Spine1> show evpn database mac-address 00:00:11:11:51:01 extensive
Instance: evpn-vxlan
VN Identifier: 501, MAC address: 00:00:11:11:51:01
State: 0x0
Source: 00:11:12:11:11:11:11:11:11:11, Rank: 1, Status: Active
Remote origin: 10.11.1.11
Remote state: <Mac-Only-Adv>
Remote origin: 10.11.1.12
Remote state: <Mac-Only-Adv>
Mobility sequence number: 0 (minimum origin address 10.11.1.11)
Timestamp: Jun 28 22:51:12.147619 (0x649c6c08)
State: <Remote-To-Local-Adv-Done>
MAC advertisement route status: Not created (no local state present)
Interconn advertisement route status: DCI route created
IP address: 10.100.51.1
Remote origin: 10.11.1.11
Remote state: <Sent-to-l2ald>
Remote origin: 10.11.1.12
Remote state: <Sent-to-l2ald>
Interconn advertisement route status: DCI route created
History db:
Time Event
Jun 28 22:51:09.533 2023 00:11:12:11:11:11:11:11:11:11 : Created
Jun 28 22:51:09.541 2023 00:11:12:11:11:11:11:11:11:11 : Remote peer 10.11.1.12 created
Jun 28 22:51:09.546 2023 Updating output state (change flags 0x1 <ESI-Added>)
Jun 28 22:51:09.546 2023 Active ESI changing (not assigned -> 00:11:12:11:11:11:11:11:11:11)
Jun 28 22:51:09.547 2023 00:11:12:11:11:11:11:11:11:11 : 10.100.51.1 Selected IRB interface nexthop
Jun 28 22:51:09.547 2023 00:11:12:11:11:11:11:11:11:11 : 10.100.51.1 Reject remote ip host route 10.100.51.1 in L3 context VRF-100 since no remote-ip-host-routes configured
Jun 28 22:51:09.733 2023 00:11:12:11:11:11:11:11:11:11 : 10.100.51.1 Selected IRB interface nexthop
Jun 28 22:51:09.733 2023 00:11:12:11:11:11:11:11:11:11 : 10.100.51.1 Reject remote ip host route 10.100.51.1 in L3 context VRF-100 since no remote-ip-host-routes configured
Jun 28 22:56:46.300 2023 00:11:12:11:11:11:11:11:11:11 : 10.100.51.1 Selected IRB interface nexthop
Jun 28 22:56:46.300 2023 00:11:12:11:11:11:11:11:11:11 : 10.100.51.1 Reject remote ip host route 10.100.51.1 in L3 context VRF-100 since no remote-ip-host-routes configured
确认 IRB 的 MAC 表条目。
user@DC1Spine1> show ethernet-switching table 00:00:11:11:51:01
MAC flags (S - static MAC, D - dynamic MAC, L - locally learned, P - Persistent static
SE - statistics enabled, NM - non configured MAC, R - remote PE MAC, O - ovsdb MAC,
B - Blocked MAC)
Ethernet switching table : 33 entries, 33 learned
Routing instance : evpn-vxlan
Vlan MAC MAC GBP Logical SVLBNH/ Active
name address flags tag interface VENH Index source
bd51 00:00:11:11:51:01 DR esi.11802 00:11:12:11:11:11:11:11:11:11
user@DC1Spine1> show ethernet-switching mac-ip-table 00:00:11:11:51:01
MAC IP flags (S - Static, D - Dynamic, L - Local , R - Remote, Lp - Local Proxy,
Rp - Remote Proxy, K - Kernel, RT - Dest Route, (N)AD - (Not) Advt to remote,
RE - Re-ARP/ND, RO - Router, OV - Override, Ur - Unresolved,
RTS - Dest Route Skipped, RGw - Remote Gateway, GBP - Group Based Policy,
RTF - Dest Route Forced, SC - Static Config, P - Probe, NLC - No Local Config)
Routing instance : evpn-vxlan
Bridging domain : bd51
IP MAC Flags GBP Logical Active
address address Tag Interface source
10.100.51.1 00:00:11:11:51:01 DR,K,RT esi.11802 00:11:12:11:11:11:11:11:11:11
user@DC1Spine1> show route forwarding-table destination 00:00:11:11:51:01 vpn evpn-vxlan
Routing table: evpn-vxlan.vpls
VPLS:
Destination Type RtRef Next hop Type Index NhRef Netif
00:00:11:11:51:01/48 user 0 indr 11809 1 .local..56
comp 11802 1
comp 11795 1 vtep.32773
indr 6323 1
sftw 19002 1 et-0/0/1.0
10.11.11.1 ucst 1014 1 et-0/0/1.0
comp 11796 1 vtep.32775
indr 6324 1
sftw 19004 1 et-0/0/3.0
10.12.11.1 ucst 1001 1 et-0/0/3.0
user@DC1Spine1> show arp no-resolve | grep 10.100.51.1 00:00:11:11:51:12 10.100.51.12 irb.51[ et-0/0/9.0 ] permanent remote