对于L3VPN改造成EVPN L3VPN场景,在改造过程中,网络中会出现EVPN L3VPN和L3VPN网络共存的状态。为了避免网络改造对通信造成影响,即确保EVPN L3VPN和L3VPN两类组网间可以相互通信,此时需要配置EVPN拼接L3VPN功能。
背景信息
如图3-125所示,该网络中原先已经部署了L3VPN功能。如果客户需要将该网络改造部署EVPN L3VPN功能,则改造过程中会出现EVPN L3VPN和L3VPN网络共存的状态。为了确保EVPN L3VPN和L3VPN两类组网间可以相互通信,用户需要在NPE1上配置普通L3VPN拼接EVPN L3VPN功能。
图3-125 EVPN拼接L3VPN组网图
前置任务
在配置EVPN拼接L3VPN之前,需完成以下任务:
在NPE1、NPE2和UPE上配置MPLS的基本功能。
在NPE1、NPE2和UPE上配置IGP,实现路由连通。
在NPE1和NPE2之间已经配置BGP EVPN对等体关系。
在NPE1和UPE之间已经配置基本BGP/MPLS IP VPN或配置基本BGP/MPLS IPv6 VPN。
操作步骤
- 在NPE1和NPE2上配置生成和发布EVPN的IP前缀路由信息功能
对于IPv4业务,请进行如下配置。
执行命令ip vpn-instance vpn-instance-name,创建VPN实例,并进入VPN实例视图。
执行命令ipv4-family,使能VPN实例IPv4地址族,并进入VPN实例IPv4地址族视图。
执行命令vpn-target vpn-target &<1-8> [ both | export-extcommunity | import-extcommunity ] evpn,为VPN实例IPv4地址族配置用于与EVPN实例交叉的VPN-Target属性。
执行命令evpn mpls routing-enable,使能EVPN生成和发布IP前缀路由和IRB路由的功能。
(可选)执行命令tnl-policy policy-name evpn,配置交叉进入VPN实例IPv4地址族的EVPN路由能够与隧道策略进行关联。
执行命令quit,退出VPN实例IPv4地址族视图。
执行命令quit,退出VPN实例视图。
执行命令commit,提交配置。
对于IPv6业务,请进行如下配置。
执行命令ip vpn-instance vpn-instance-name,创建VPN实例,并进入VPN实例视图。
执行命令ipv6-family,使能VPN实例IPv6地址族,并进入VPN实例IPv6地址族视图。
执行命令vpn-target vpn-target &<1-8> [ both | export-extcommunity | import-extcommunity ] evpn,为VPN实例IPv6地址族配置用于与EVPN实例交叉的VPN-Target属性。
执行命令evpn mpls routing-enable,使能EVPN生成和发布IP前缀路由和IRB路由的功能。
(可选)执行命令tnl-policy policy-name evpn,配置交叉进入VPN实例IPv6地址族的EVPN路由能够与隧道策略进行关联。
执行命令quit,退出VPN实例IPv6地址族视图。
执行命令quit,退出VPN实例视图。
执行命令commit,提交配置。
- 配置NPE1向VPNv4/VPNv6对等体(UPE)发布EVPN地址族重新生成后的路由
- 执行命令bgp { as-number-plain | as-number-dot },进入BGP视图。
- 执行命令l2vpn-family evpn命令,进入BGP-EVPN地址族视图。
- 执行命令peer { ipv4-address | group-name } import reoriginate,使能从BGP EVPN对等体收到的路由打上重生路由标记功能。
- 执行命令quit,返回到BGP视图。
- 执行命令ipv4-family vpnv4或ipv6-family vpnv6命令,进入BGP-VPNv4/VPNv6地址族视图。
- 执行命令peer { ipv4-address | group-name } reflect-client,指定UPE为BGP VPNv4/VPNv6反射器的客户端,用于反射由EVPN路由重生成后的BGP VPNv4/VPNv6路由。
- 执行命令peer { ipv4-address | group-name } advertise route-reoriginated evpn { mac-ip | ip | mac-ipv6 | ipv6 },配置向BGP VPNv4/VPNv6对等体发布EVPN地址族重新生成后的路由。
配置peer { ipv4-address | group-name } advertise route-reoriginated evpn { mac-ip | ip | mac-ipv6 | ipv6 }命令后,对于从NPE2收到的EVPN路由进行重生成,经过NPE1重新生成后,NPE1会向UPE发布MPLS封装的BGP VPNv4/VPNv6路由。
- 执行命令quit,返回到BGP视图。
- 执行命令quit,退出BGP视图。
- 执行命令commit,提交配置。
- 配置NPE1向BGP EVPN对等体(NPE2)发布VPNv4/VPNv6地址族重新生成后的路由。
- 执行命令bgp { as-number-plain | as-number-dot },进入BGP视图。
- 执行命令ipv4-family vpnv4或ipv6-family vpnv6命令,进入BGP-VPNv4/VPNv6地址族视图。
- 执行命令peer { ipv4-address | group-name } import reoriginate,使能从VPNv4/VPNv6对等体收到的路由打上重生路由标记功能。
- 执行命令quit,返回到BGP视图。
- 执行命令l2vpn-family evpn命令,进入BGP-EVPN地址族视图。
- 执行命令peer { ipv4-address | group-name } reflect-client,指定NPE2为BGP EVPN反射器的客户端,用于反射由BGP VPNv4/VPNv6路由重生成后的BGP EVPN路由。
- 执行命令peer { ipv4-address | group-name } advertise route-reoriginated { vpnv4 | vpnv6 },配置向BGP EVPN对等体发布VPNv4/VPNv6地址族重新生成后的路由。
配置peer { ipv4-address | group-name } advertise route-reoriginated { vpnv4 | vpnv6 }命令后,对于从UPE收到的MPLS封装的VPNv4/VPNv6路由进行重生成,经过NPE1重新生成,NPE1会向NPE2发布MPLS封装的EVPN路由。
- 执行命令quit,返回到BGP视图。
- 执行命令ipv4-family vpn-instance vpn-instance-name或ipv6-family vpn-instance vpn-instance-name命令,进入BGP-VPN实例IPv4/IPv6地址族视图。
- 执行命令advertise l2vpn evpn,配置将VPN实例中的主机IP路由发布成为EVPN的IP前缀路由。
- 执行命令quit,返回到BGP视图。
- 执行命令quit,退出BGP视图。
- 执行命令commit,提交配置。
检查配置结果
- 使用display bgp evpn all routing-table命令查看NPE2从UPE收到EVPN路由信息。
- 使用display ip routing-table vpn-instance vpn-instance-name或display ipv6 routing-table vpn-instance vpn-instance-name命令查看NPE2或UPE从远端收到的私网路由信息。