配置EVPN承载三层业务
在DCI和IPRAN组网中,用户可以通过配置EVPN功能承载三层业务。
应用环境
传统网络中,用户通常使用BGP/MPLS IP VPN功能承载三层业务,但是如果用户将来希望同时承载二层业务,则需要在现有网络中继续部署L2VPN功能,这样会增加用户的部署及运维成本。为了解决这个问题,用户可以在网络中部署EVPN功能来承载三层业务流量。这样如果用户希望扩展承载二层业务时,仅需要增加部分EVPN的配置即可同时承载二层业务和三层业务。
域内私网互访场景
如图12-7所示,Site1和Site2两个私有网络希望通过公有的MPLS网络实现相互通信。用户可以进行如下配置实现该功能:在PE上配置L3VPN实例,用于管理私网路由;
在PE间配置BGP EVPN功能,用于传递承载私网路由的EVPN路由;
配置PE和接入侧设备CE间的IGP协议或BGP协议,用于相互传输私网路由。
跨域私网互访场景
如图12-8所示,Site1和Site2两个私有网络希望通过公有的两个不同AS的MPLS网络实现相互通信。用户可以进行如下配置实现该功能:在PE上配置L3VPN实例,用于管理私网路由;
在PE和ASBR间配置IBGP EVPN功能,在ASBR之间配置EBGP EVPN功能,用于在PE间传递承载私网路由的EVPN路由;
配置PE和接入侧设备CE间的IGP协议或BGP协议,用于相互传输私网路由。
DCI场景
EVPN功能可以用于传统数据中心通过DCI网络互联。如图12-9所示,DC-GW设备与PE设备分设,PE将数据中心的DC-GW当作CE,通过私网三层路由协议接收数据中心发送的VM主机IP路由信息,保存并维护数据中心的VM主机IP路由信息。通过在DCI骨干网络上部署EVPN功能,使不同数据中心间可以传播VM主机IP路由信息,实现跨数据中心VM之间的通信。用户可以进行如下配置实现该功能:在PE上配置L3VPN实例,用于管理VM主机IP路由信息;
在PE间配置IBGP EVPN功能,用于传递承载VM主机IP路由信息的EVPN路由;
配置PE和DC-GW间的IGP协议或BGP协议,用于相互传输VM主机IP路由信息。
L2VPN接入L3VPN场景
在L2VPN接入L3VPN场景中,EVPN可用取代BGP VPNv4作为L3VPN网络的控制平面,其中L2VPN网络及拼接处设备的配置方法请参见L2VPN接入L3VPN配置,L3VPN网络的配置可以参考本章节。
前置任务
在配置EVPN承载三层业务之前,需完成以下任务:
IPv4网络三层路由可达。
配置L3VPN实例
通过配置L3VPN实例可以用来保存和管理接收到的私网路由或VM主机路由。
操作步骤
- 执行命令system-view,进入系统视图。
- 配置L3VPN实例。
对于IPv4业务,请配置IPv4 L3VPN实例。
执行命令ip vpn-instance vpn-instance-name,创建VPN实例,并进入VPN实例视图。
执行命令ipv4-family,使能VPN实例IPv4地址族,并进入VPN实例IPv4地址族视图。
执行命令route-distinguisher route-distinguisher,配置VPN实例IPv4地址族的RD。
执行命令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路由能够与隧道策略进行关联。
(可选)执行命令import route-policy policy-name evpn,将当前VPN实例IPv4地址族与一条入方向Route-Policy进行关联,该Route-Policy用来过滤从EVPN实例引入到当前VPN实例IPv4地址族的路由。如果需要更精确地控制从EVPN实例进入到当前VPN实例IPv4地址族的路由,可以执行此步骤指定入方向Route-Policy来过滤路由信息,以及为通过过滤条件的路由设置路由属性。
(可选)执行命令export route-policy policy-name evpn,将当前VPN实例IPv4地址族与一条出方向Route-Policy进行关联,该Route-Policy用来过滤当前VPN实例IPv4地址族发布到EVPN实例的路由。如果需要更精确地控制当前VPN实例IPv4地址族发布到EVPN实例的路由,可以执行此步骤指定出方向Route-Policy来过滤发布的路由信息,以及为通过过滤条件的路由设置路由属性。
执行命令quit,退出VPN实例IPv4地址族视图。
执行命令quit,退出VPN实例视图。
对于IPv6业务,请配置IPv6 L3VPN实例。
执行命令ip vpn-instance vpn-instance-name,创建VPN实例,并进入VPN实例视图。
执行命令ipv6-family,使能VPN实例IPv6地址族,并进入VPN实例IPv6地址族视图。
执行命令route-distinguisher route-distinguisher,配置VPN实例IPv6地址族的RD。
执行命令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路由能够与隧道策略进行关联。
(可选)执行命令import route-policy policy-name evpn,将当前VPN实例IPv6地址族与一条入方向Route-Policy进行关联,该Route-Policy用来过滤从EVPN引入到当前VPN实例IPv6地址族的路由。如果需要更精确地控制从EVPN实例进入到当前VPN实例IPv6地址族的路由,可以执行此步骤指定入方向Route-Policy来过滤路由信息,以及为通过过滤条件的路由设置路由属性。
(可选)执行命令export route-policy policy-name evpn,将当前VPN实例IPv6地址族与一条出方向Route-Policy进行关联,该Route-Policy用来过滤当前VPN实例IPv6地址族发布到EVPN的路由。如果需要更精确地控制当前VPN实例IPv6地址族发布到EVPN实例的路由,可以执行此步骤指定出方向Route-Policy来过滤发布的路由信息,以及为通过过滤条件的路由设置路由属性。
执行命令quit,退出VPN实例IPv6地址族视图。
执行命令quit,退出VPN实例视图。
- 执行命令interface interface-type interface-number.subinterface-number ,创建以太网子接口并进入以太网子接口视图。
- (可选)执行命令vlan-type dot1q vlan-id,指定以太网子接口关联的VLAN,并指定VLAN封装方式。
- 执行命令ip binding vpn-instance vpn-instance-name,将当前接口与VPN实例绑定。
- (可选)执行命令ipv6 enable,使能接口的IPv6能力。
- 执行命令ip address ip-address { mask | mask-length }或ipv6 address { ipv6-address prefix-length | ipv6-address/prefix-length },配置接口的IPv4/IPv6地址。
- 执行命令commit,提交配置。
配置PE与接入侧设备间路由交换
PE与接入侧设备之间的路由协议可以是BGP、静态路由(包括默认路由)和IGP。配置时根据实际情况选择其一即可。
操作步骤
- 用户可以根据实际组网规划在PE与接入侧设备之间采用的路由协议有BGP、IGP和静态路由(包括默认路由)中的一种,具体配置过程请参见配置PE和CE间路由交互或配置PE和CE间路由交互(IPv6)。
检查配置结果
配置EVPN承载三层业务后,可以查看到设备上收到EVPN路由和私网路由信息。
操作步骤
- 使用display bgp evpn { all | route-distinguisher route-distinguisher | vpn-instance vpn-instance-name } routing-table [ { ad-route | es-route | inclusive-route | mac-route | prefix-route } prefix ]命令查看BGP EVPN的路由信息。
- 使用display ip routing-table vpn-instance vpn-instance-name或display ipv6 routing-table vpn-instance vpn-instance-name命令查看设备从远端收到的私网路由信息。