配置EVPN L3VPN over SRv6 BE
介绍配置EVPN L3VPN over SRv6 BE的方法。
应用环境
EVPN L3VPN over SRv6 BE是指利用公网的SRv6 BE承载EVPN L3VPN的私网三层业务数据。EVPN L3VPN over SRv6 BE的关键实现步骤包括建立SRv6 BE,EVPN路由互通,数据转发等。
如图3-2所示,PE1与PE2之间为IPv6公共网络。通过在IPv6公共网络建立SRv6 BE,承载EVPN的私网三层业务。
操作步骤
- 在PE和P设备上配置IPv6 IS-IS,具体配置请参考配置IS-IS的基本功能(IPv6)。
- 配置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属性。
(可选)执行命令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属性。
(可选)执行命令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实例视图。
- 配置接入侧接口绑定L3VPN实例。
- 执行命令interface interface-type interface-number,进入接口视图。
- 执行命令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地址。
- 执行命令quit,退出接口视图。
- 配置BGP EVPN邻居。
如果用户需要在网络中部署BGP路由反射器,则用户需要配置所有PE设备与BGP路由反射器建立EVPN邻居关系。
- 在PE之间建立SRv6 BE。
- 执行命令segment-routing ipv6,使能IPv6转发平面的Segment Routing功能,并且进入SRv6视图。
- 执行命令encapsulation source-address ipv6-address [ ip-ttl ttl-value ],配置SRv6 EVPN封装的源地址。
- 执行命令locator locator-name [ ipv6-prefix ipv6-address prefix-length [ static static-length | args args-length ] * [ default ] ],配置SID的节点路由段。
- 执行命令opcode func-opcode { end-dt4 | end-dt6 } vpn-instance vpn-instance-name evpn,配置静态SID的Opcode。如果承载的是IPv4业务,则使用end-dt4参数;如果承载的是IPv6业务,则使用end-dt6参数。
- 执行命令quit,退出SRv6 Locator视图。
- 执行命令quit,退出SRv6视图。
- 执行命令bgp { as-number-plain | as-number-dot },进入BGP视图。
- 执行命令l2vpn-family evpn,进入BGP-EVPN地址族视图。
- 执行命令peer { ipv6-address | group-name } advertise encap-type srv6,配置向邻居发送携带SRv6封装属性的EVPN路由。
- 执行命令quit,退出BGP-EVPN地址族视图。
- 执行命令ipv4-family vpn-instance vpn-instance-name或ipv6-family vpn-instance vpn-instance-name命令,进入BGP-VPN实例IPv4/IPv6地址族视图。
- 执行命令segment-routing ipv6 locator locator-name evpn,使能私网路由上送EVPN协议时携带SID属性功能。
- 执行命令segment-routing ipv6 best-effort evpn,使能基于EVPN路由携带的SID属性进行路由迭代功能。
- 执行命令commit,提交配置。
- 在PE上使能IS-IS SRv6。
- 执行命令isis [ process-id ],进入IS-IS视图。
- 执行命令segment-routing ipv6 [ locator locator-name | locator-default ] [ auto-sid-disable ],使能IS-IS SRv6能力。
- 执行命令commit,提交配置。
检查配置结果
已经完成EVPN L3VPN over SRv6 BE的所有配置。
执行命令display bgp evpn { all | route-distinguisher route-distinguisher | vpn-instance vpn-instance-name } routing-table prefix-route prefix命令查看EVPN的IP前缀路由信息。
执行命令display ip routing-table vpn-instance vpn-instance-name或display ipv6 routing-table vpn-instance vpn-instance-name命令查看从远端收到的私网路由信息。