• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 新华三人才研学中心
  • 关于我们

20-Segment Routing配置指导

目录

05-IP L3VPN over SRv6配置

本章节下载 05-IP L3VPN over SRv6配置  (439.23 KB)

05-IP L3VPN over SRv6配置


1 IP L3VPN over SRv6

1.1  IP L3VPN over SRv6简介

IP L3VPN over SRv6是指通过SRv6隧道承载IP L3VPN业务,通过IPv6网络透明传输用户三层数据,实现属于同一个VPN、位于不同地理位置的用户互通。

1.1.1  IP L3VPN over SRv6基本原理

图1-1所示,通过BGP协议在IPv6骨干网上发布用户站点的IPv4/IPv6私网路由,使用PE间的单跳SRv6隧道承载私网报文,在骨干网上根据IGP计算的最优路径转发私网报文,从而实现通过IPv6骨干网连接属于同一个VPN、位于不同地理位置的用户。

用户站点属于公网时,可以将公网看作是一种特殊的私有网络,可以通过PE间的单跳SRv6隧道承载站点网络间的公网报文。

图1-1 IP L3VPN over SRv6组网示意图

 

1.1.2  路由信息发布

IPv4 L3VPN over SRv6和IPv6 L3VPN over SRv6的路由发布过程类似,以IPv4 L3VPN over SRv6为例,如图1-1所示,CE 1路由发布到CE 2的过程为:

(1)     CE 1使用静态路由、RIP、OSPF、IS-IS、EBGP或IBGP,将本站点的公网或私网路由发布给PE 1。

(2)     PE 1从CE 1学习到路由信息后,PE 1将私网路由存放到相应的VPN实例1的路由表中。PE 1为私网路由增加RD和RT属性,并按VPN实例为这些路由分配私网标签End.DT4 SID、End.DT46 SID(即同一VPN实例的所有私网路由分配相同的End.DT4 SID),或按下一跳分配End.DX4 SID(即VPN实例中相同下一跳的私网路由分配相同的End.DX4 SID),形成VPNv4路由。PE 1通过MP-BGP把VPNv4路由发布给PE 2。

(3)     PE 2收到PE 1发布的VPNv4路由后,将该路由加入到VPN实例1的路由表中并将VPNv4路由转换成IPv4路由发布给CE 2。

(4)     CE 2收到路由后,学习到路由表中,即CE 2学习到CE 1的路由。

1.1.3  报文转发

IP L3VPN over SRv6支持SRv6-BE、SRv6-TE和SRv6-TE/SRv6-BE混合三种路由迭代方式。采用不同的路由迭代方式时,报文转发过程有所不同。

1. SRv6-BE方式

又称为基于SID的转发方式。该方式根据封装的SRv6 SID查找IPv6路由表进行转发。

IPv4 L3VPN over SRv6和IPv6 L3VPN over SRv6的报文转发过程类似,站点网络属于公网和私网的报文转发过程类似,以IPv4 L3VPN over SRv6、站点网络属于私网为例,完成路由发布后,报文从CE 2到CE 1的转发过程为:

(1)     CE 2发送IPv4报文给PE 2。

(2)     PE 2从绑定了VPN实例的接口上收到私网报文后,在VPN实例1的路由表中查找匹配IPv4目的地址的路由,找到对应的End.DT4 SID、End.DT46 SID或End.DX4 SID。然后为报文封装IPv6报文头,在IPv6报文头中End.DT4 SID、End.DT46 SID或End.DX4 SID作为其目的地址。

(3)     PE 2根据End.DT4 SID、End.DT46 SID或End.DX4 SID查找IPv6路由表,通过最优IGP路由将报文转发给P。

(4)     P根据End.DT4 SID、End.DT46 SID或End.DX4 SID查找IPv6路由表,通过最优IGP路由将报文转发给PE 1。

(5)     PE 1接收到报文后,根据报文携带的SID类型的不同,处理方式不同:

¡     如果报文头携带的是End.DT4 SID或End.DT46 SID,PE 1根据End.DT4 SID查找Local SID表,执行End.DT4 SID或End.DT46 SID对应的转发动作,即解封装报文去掉IPv6报文头,并根据End.DT4 SID或End.DT46 SID匹配VPN实例1,在VPN实例1的路由表中,查表转发,将报文发送给CE 1。

¡     如果报文头携带的是End.DX4 SID,PE 1根据End.DX4 SID查找Local SID表,执行End.DX4 SID对应的转发动作,即解封装报文去掉IPv6报文头,并按照End.DX4 SID绑定的下一跳和出接口将报文发送给CE 1。

2. SRv6-TE方式

又称为基于SRv6 TE Policy的转发方式。该方式根据报文属性查找匹配的SRv6 TE Policy,为报文添加携带SRv6 SID和SRv6 TE Policy SID列表的SRH头后,通过SRv6 TE Policy转发该报文。

可以通过如下方式将报文引入到SRv6 TE Policy进行转发(即SRv6 TE Policy引流):

·     基于Color引流:查找是否存在Color和Endpoint地址与VPN路由的Color扩展团体属性和下一跳地址完全相同的SRv6 TE Policy。若存在,则将该VPN路由迭代到SRv6 TE Policy。当设备收到匹配该VPN路由的报文时,会通过SRv6 TE Policy转发该报文。

·     基于隧道策略引流:根据路由下一跳地址在隧道策略中查找匹配的SRv6-TE policy。通过首选隧道策略或负载分担隧道策略,可以实现用指定SRv6 TE Policy的路径作为公网隧道来转发私网报文。

隧道策略的详细介绍,请参见“MPLS配置指导”中的“隧道策略”;SRv6 TE Policy的详细介绍,请参见“Segment Routing配置指导”中的“SRv6 TE Policy”。

3. SRv6-TE/SRv6-BE混合方式

该方式优先通过SRv6-TE方式选择转发路径;如果SRv6-TE方式未找到可用的SRv6 TE Policy,则通过SRv6-BE方式选择转发路径。

1.1.4  IP L3VPN over SRv6快速重路由

IP L3VPN over SRv6快速重路由功能用来在CE双归属(即一个CE同时连接两个PE)的组网环境下,通过为流量转发的主路径指定一条备份路径,并通过静态BFD检测主路径的状态,实现当主路径出现故障时,将流量迅速切换到备份路径,大大缩短了故障恢复时间。在使用备份路径转发报文的同时,会重新进行路由优选,优选完毕后,使用新的最优路由来转发报文。

目前,IP L3VPN over SRv6快速重路由的路径备份方式为VPNv4路由备份VPNv4路由和VPNv6路由备份VPNv6路由。

图1-2 VPNv4路由备份VPNv4路由示意图

 

IPv4 L3VPN over SRv6和IPv6 L3VPN over SRv6的快速重路由功能类似,以VPNv4路由备份VPNv4路由为例。如图1-2所示,在入节点PE 1上指定VPN 1的FRR备份下一跳为PE 3,则PE 1接收到PE 2和PE 3发布的到达CE 2的VPNv4路由后,PE 1会记录这两条VPNv4路由,并将PE 2发布的VPNv4路由当作主路径,PE 3发布的VPNv4路由当作备份路径。

在PE 1上配置静态BFD检测,通过BFD检测PE 1到PE 2之间公网隧道的状态。当公网隧道正常工作时,CE 1和CE 2通过主路径CE 1—PE 1—PE 2—CE 2通信。当PE 1检测到该公网隧道出现故障时,PE 1将通过备份路径CE 1—PE 1—PE 3—CE 2转发CE 1访问CE 2的流量。

在这种备份方式中,PE 1负责主路径检测和流量切换。

有关静态BFD功能的详细介绍,请参见“可靠性配置指导”中“BFD”。

1.2  IP L3VPN over SRv6配置任务简介

IP L3VPN over SRv6配置任务如下:

(1)     配置VPN实例并绑定PE连接CE的接口

在PE设备上执行本配置,配置方法请参见“MPLS配置指导”中的“MPLS L3VPN”。

(2)     配置PE-CE间的路由交换

在PE-CE间配置IPv4路由协议(包括静态路由、RIP、OSPF、IS-IS、EBGP或IBGP)或IPv6路由协议(包括IPv6静态路由、RIPng、OSPFv3、IPv6 IS-IS、EBGP或IBGP)

CE使用IPv4路由协议或IPv6路由协议,将本站点的VPN路由发布给PE。在PE上需要为路由协议关联指定VPN实例,在CE上配置普通路由协议即可。关于各个路由协议的具体配置,请参见“三层技术-IP路由配置指导”。

(3)     配置PE-PE间的路由交换

a.     配置SRv6 SID

本功能用来静态配置End.DT4 SID、End.DT6 SID、End.DT46 SID、End.DX4 SID或End.DX6 SID。

b.     配置BGP引用Locator段

通过引用Locator段后,BGP路由才可以通告Locator段内的SRv6 SID。

c.     配置PE-PE间交互BGP VPNv4/VPNv6路由

d.     配置IPv6对等体之间交换SRv6 SID

只有配置本功能后,PE设备之间交换VPNv4/VPNv6路由时才可以交换私网标签End.DT4 SID/End.DT6 SID/End.DT46 SID/End.DX4 SID/End.DX6 SID。

e.     (可选)配置为BGP路由按下一跳分配End.DX4 SID/End.DX6 SID

配置本功能后,PE设备可以为BGP私网路由按下一跳分配End.DX4 SID/End.DX6 SID。

f.     (可选)配置BGP VPNv4/VPNv6路由

(4)     配置路由迭代方式

(5)     配置封装的IPv6报文头的源地址

本功能用来指定IP L3VPN over SRv6骨干网中报文封装的IPv6报文头的源地址。

(6)     (可选)开启对等体/对等体组之间的SRv6 VPN兼容功能

(7)     (可选)配置IP L3VPN over SRv6快速重路由

1.3  配置SRv6 SID

1. 配置限制和指导

PE之间传递BGP VPNv4/VPNv6路由信息时,配置Opcode段必须指定VPN实例。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启SRv6功能,并进入SRv6视图。

segment-routing ipv6

(3)     配置Locator段,并进入SRv6 Locator视图。

locator locator-name [ ipv6-prefix ipv6-address prefix-length [ args args-length | static static-length ] * ]

(4)     配置Opcode段。

¡     配置End.DT4 SID。

opcode opcode end-dt4 [ vpn-instance vpn-instance-name ]

指定的VPN实例必须已经存在。不同VPN实例不能配置相同End.DT4 SID。

¡     配置End.DT6 SID。

opcode opcode end-dt6 [ vpn-instance vpn-instance-name ]

指定的VPN实例必须已经存在。不同VPN实例不能配置相同End.DT6 SID。

¡     配置End.DT46 SID。

opcode opcode end-dt46 [ vpn-instance vpn-instance-name ]

指定的VPN实例必须已经存在。不同VPN实例不能配置相同End.DT46 SID。

¡     配置End.DX4 SID。

opcode opcode end-dx4 interface interface-type interface-number nexthop nexthop-ipv4-address [ vpn-instance vpn-instance-name ]

指定的VPN实例必须已经存在。不同下一跳和出接口不能配置相同End.DX4 SID。

¡     配置End.DX6 SID。

opcode opcode end-dx6 interface interface-type interface-number nexthop nexthop-ipv6-address [ vpn-instance vpn-instance-name ]

指定的VPN实例必须已经存在。不同下一跳和出接口不能配置相同End.DX6 SID。

1.4  配置BGP引用Locator段

1. 功能简介

在IP L3VPN over SRv6组网场景中,在指定VPN实例的BGP-VPN IPv4/IPv6单播地址族视图下配置本功能后,PE设备将为指定VPN实例的私网路由在引用的Locator段内申请SRv6 SID。

使用End.DT4 SID/End.DT6 SID/End.DT46 SID/End.DX4 SID/End.DX6 SID时,都需要执行本配置。

2. 配置限制和指导

配置本功能前,必须满足以下条件:

·     指定的Locator必须存在。

·     End.DT4 SID/End.DT6 SID/End.DT46 SID/End.DX4 SID/End.DX6 SID所在VPN实例与私网的VPN实例必须相同。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

(3)     进入BGP-VPN实例视图。

ip vpn-instance vpn-instance-name

(4)     进入BGP-VPN IPv4单播地址族视图或BGP-VPN IPv6单播地址族视图。

¡     进入BGP-VPN IPv4单播地址族视图。

address-family ipv4 [ unicast ]

¡     进入BGP-VPN IPv6单播地址族视图。

address-family ipv6 [ unicast ]

(5)     配置BGP引用Locator段。

segment-routing ipv6 locator locator-name [ auto-sid-disable ]

缺省情况下,未引用Locator段。

1.5  配置PE-PE间交互BGP VPNv4/VPNv6路由

1. 配置限制和指导

本节所有命令的详细介绍,请参见“三层技术-IP路由命令参考”中的“BGP”。

PE之间不能同时建立IPv4和IPv6对等体,否则影响路由优选,无法通过SRv6隧道转发流量。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

(3)     将对端PE配置为IPv6对等体。

peer { group-name | ipv6-address [ prefix-length ] } as-number as-number

(4)     指定与IPv6对等体/对等体组创建BGP会话时建立TCP连接使用的源接口。

peer { group-name | ipv6-address [ prefix-length ] } connect-interface interface-type interface-number

缺省情况下,BGP使用到达BGP对等体的最佳路由的出接口作为与对等体/对等体组创建BGP会话时建立TCP连接的源接口。

(5)     进入BGP VPNv4地址族视图或BGP VPNv6地址族视图。

¡     创建BGP VPNv4地址族,并进入BGP VPNv4地址族视图。

address-family vpnv4

¡     创建BGP VPNv6地址族,并进入BGP VPNv6地址族视图。

address-family vpnv6

(6)     使能本地路由器与指定IPv6对等体交换VPNv4/VPNv6路由信息的能力。

peer { group-name | ipv6-address [ prefix-length ] } enable

缺省情况下,本地路由器不能与对等体交换VPNv4/VPNv6路由信息。

1.6  配置IPv6对等体之间交换SRv6 SID

1. 功能简介

配置本功能后,IPv6对等体之间可以通过VPNv4/VPNv6/IPv4单播/IPv6单播路由交换SRv6 SID信息。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

(3)     进入BGP VPNv4地址族视图、BGP VPNv6地址族视图。

¡     进入BGP VPNv4地址族视图。

address-family vpnv4

¡     进入BGP VPNv6地址族视图。

address-family vpnv6

(4)     配置与指定IPv6对等体之间交换SRv6 SID信息。

peer { group-name | ipv6-address [ prefix-length ] } prefix-sid

缺省情况下,IPv6对等体之间不能交换SRv6 SID信息。

1.7  配置为BGP路由按下一跳分配End.DX4 SID/End.DX6 SID

1. 功能简介

在IP L3VPN over SRv6场景中,如果配置了End.DT4 SID、End.DT6 SID或End.DT46 SID,则PE根据VPN实例为BGP私网路由分配相同SID。PE对接收到的报文解封装后,会在SID标识的VPN实例内查找路由表,将报文转发给CE。

如果希望不查路由表,直接快速地将报文转发给下一跳,则可以基于下一跳地址为BGP路由分配End.DX4/End.DX6 SID。

2. 配置限制和指导

配置本功能前,必须先在BGP-VPN IPv4单播地址族视图或BGP-VPN IPv6单播地址族引用Locator段。

本功能不会为直连路由分配End.DX4 SID或者End.DX6 SID。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

(3)     进入BGP-VPN实例视图。

ip vpn-instance vpn-instance-name

(4)     进入BGP-VPN IPv4单播地址族视图或BGP-VPN IPv6单播地址族视图。

¡     进入BGP-VPN IPv4单播地址族视图。

address-family ipv4 [ unicast ]

¡     进入BGP-VPN IPv6单播地址族视图。

address-family ipv6 [ unicast ]

(5)     配置BGP私网路由为所有下一跳分配End.DX4/End.DX6 SID。

segment-routing ipv6 apply-sid all-nexthop

缺省情况下,根据VPN实例为私网路由分配SID。

1.8  配置BGP VPNv4/VPNv6路由

1.8.1  配置限制和指导

本节所有命令的详细介绍,请参见“三层技术-IP路由命令参考”中的“BGP”。

1.8.2  控制BGP VPNv4/VPNv6路由的接收和保存

(1)     进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

(3)     进入BGP VPNv4地址族视图或BGP VPNv6地址族视图。

¡     进入BGP VPNv4地址族视图。

address-family vpnv4

¡     进入BGP VPNv6地址族视图。

address-family vpnv6

(4)     设置允许从指定对等体/对等体组收到的路由数量。

peer { group-name | ipv6-address [ prefix-length ] } route-limit prefix-number [ { alert-only | discard | reconnect reconnect-time } | percentage-value ] *

缺省情况下,不限制从对等体/对等体组接收的路由数量。

(5)     保存所有来自指定对等体/对等体组的原始路由更新信息,不管这些路由是否通过了路由策略的过滤。

peer { group-name | ipv6-address [ prefix-length ] } keep-all-routes

缺省情况下,不保存来自对等体/对等体组的原始路由更新信息。

1.8.3  配置BGP VPNv4/VPNv6路由的首选值

(1)     进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

(3)     进入BGP VPNv4地址族视图或BGP VPNv6地址族视图。

¡     进入BGP VPNv4地址族视图。

address-family vpnv4

¡     进入BGP VPNv6地址族视图。

address-family vpnv6

(4)     为从指定对等体/对等体组接收的路由分配首选值。

peer { group-name | ipv6-address [ prefix-length ] } preferred-value value

缺省情况下,从对等体/对等体组接收的路由的首选值为0。

1.8.4  配置BGP VPNv4/VPNv6路由反射

(1)     进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

(3)     进入BGP VPNv4地址族视图或BGP VPNv6地址族视图。

¡     进入BGP VPNv4地址族视图。

address-family vpnv4

¡     进入BGP VPNv6地址族视图。

address-family vpnv6

(4)     配置将本机作为路由反射器,并将对等体或对等体组作为路由反射器的客户。

peer { group-name | ipv6-address [ prefix-length ] } reflect-client

缺省情况下,未配置路由反射器及其客户。

(5)     (可选)允许路由反射器在客户机之间反射路由。

reflect between-clients

缺省情况下,允许路由反射器在客户机之间反射路由。

(6)     (可选)配置路由反射器的集群ID。

reflector cluster-id { cluster-id | ip-address }

缺省情况下,每个路由反射器都使用自己的Router ID作为集群ID。

(7)     (可选)创建路由反射器的反射策略。

rr-filter ext-comm-list-number

缺省情况下,路由反射器不会对反射的路由进行过滤。

(8)     (可选)允许路由反射器反射路由时修改路由属性。

reflect change-path-attribute

缺省情况下,不允许路由反射器反射路由时修改路由属性。

1.8.5  配置BGP VPNv4/VPNv6路由属性

(1)     进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

(3)     进入BGP VPNv4地址族视图或BGP VPNv6地址族视图。

¡     进入BGP VPNv4地址族视图。

address-family vpnv4

¡     进入BGP VPNv6地址族视图。

address-family vpnv6

(4)     配置NEXT_HOP属性,向对等体/对等体组发布路由时,将下一跳属性修改为自身的地址。

peer { group-name | ipv6-address [ prefix-length ] } next-hop-local

缺省情况下,向对等体/对等体组发布路由时,将下一跳属性修改为自身的地址。

(5)     配置AS_PATH属性。

¡     配置对于从对等体/对等体组接收的路由,允许本地AS号在接收路由的AS_PATH属性中出现,并配置允许出现的次数。

peer { group-name | ipv6-address [ prefix-length ] } allow-as-loop [ number ]

缺省情况下,不允许本地AS号在接收路由的AS_PATH属性中出现。

本命令仅支持在BGP VPNv4地址族视图下配置。

¡     配置向指定EBGP对等体/对等体组发送BGP更新消息时只携带公有AS号,不携带私有AS号。

peer { group-name | ipv6-address [ prefix-length ] } public-as-only

缺省情况下,向EBGP对等体/对等体组发送BGP更新消息时,既可以携带公有AS号,又可以携带私有AS号。

(6)     配置向对等体/对等体组发布团体属性。

peer { group-name | ipv6-address [ prefix-length ] } advertise-community

缺省情况下,不向对等体/对等体组发布团体属性。

(7)     为BGP对等体/对等体组配置SoO属性。

peer { group-name | ipv6-address [ prefix-length ] } soo site-of-origin

缺省情况下,没有为BGP对等体/对等体组配置SoO属性。

1.8.6  配置BGP VPNv4/VPNv6路由过滤

(1)     进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

(3)     进入BGP VPNv4地址族视图或BGP VPNv6地址族视图。

¡     进入BGP VPNv4地址族视图。

address-family vpnv4

¡     进入BGP VPNv6地址族视图。

address-family vpnv6

(4)     配置对发布的路由信息进行过滤。

filter-policy { ipv4-acl-number | prefix-list prefix-list-name } export [ protocol process-id ]

缺省情况下,不对发布的路由信息进行过滤。

(5)     配置对接收的路由信息进行过滤。

filter-policy { ipv4-acl-number | prefix-list prefix-list-name } import

缺省情况下,不对接收的路由信息进行过滤。

(6)     为对等体/对等体组设置基于地址前缀列表的BGP路由过滤策略。

peer { group-name | ipv6-address [ prefix-length ] } prefix-list prefix-list-name { export | import }

缺省情况下,未配置基于地址前缀列表的BGP路由过滤策略。

(7)     对来自对等体/对等体组的路由或发布给对等体/对等体组的路由应用路由策略。

peer { group-name | ipv6-address [ prefix-length ] } route-policy route-policy-name { export | import }

缺省情况下,没有为对等体/对等体组指定路由策略。

(8)     配置对接收到的VPNv4/VPNv6路由进行Route Target过滤。

policy vpn-target

缺省情况下,对接收到的VPNv4/VPNv6路由进行Route Target过滤,即只将Export Route Target属性与本地Import Route Target属性匹配的VPNv4/VPNv6路由加入到路由表。

1.9  配置路由迭代方式

1. 功能简介

IP L3VPN over SRv6网络中,设备为用户流量封装SRv6 SID后,可以根据如下路由迭代方式为封装后的报文查找转发路径:

·     SRv6-BE方式:又称为基于SID的转发方式。该方式根据封装的End.DT4 SID/End.DT6 SID/End.DT46 SID查找IPv6路由表进行转发。

·     SRv6-TE方式:又称为基于SRv6 TE Policy的转发方式。该方式根据报文属性查找匹配的SRv6 TE Policy,为报文添加携带End.DT4 SID/End.DT6 SID/End.DT46 SID和SRv6 TE Policy SID列表的SRH头后,通过SRv6 TE Policy转发该报文。有关基于SRv6 TE Policy的转发方式的详细介绍,请参见“Segment Routing配置指导”中的“SRv6 TE Policy”。

·     SRv6-TE/SRv6-BE混合方式:优先通过SRv6-TE方式选择转发路径;如果SRv6-TE方式未找到可用的SRv6 TE Policy,则通过SRv6-BE方式选择转发路径。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

(3)     进入BGP-VPN实例视图。

ip vpn-instance vpn-instance-name

(4)     进入BGP-VPN IPv4单播地址族视图或BGP-VPN IPv6单播地址族视图。

¡     进入BGP-VPN IPv4单播地址族视图。

address-family ipv4 [ unicast ]

¡     进入BGP-VPN IPv6单播地址族视图。

address-family ipv6 [ unicast ]

(5)     配置路由迭代方式

segment-routing ipv6 { best-effort | traffic-engineering | traffic-engineering best-effort }

缺省情况下,根据路由的下一跳地址查找IPv6路由表进行转发。

1.10  配置封装的IPv6报文头的源地址

1. 配置限制和指导

在IP L3VPN over SRv6和公网IPv4/IPv6 over SRv6组网环境中,必须指定封装的IPv6报文头的源地址。否则,无法通过SRv6转发数据流量。

配置源地址时,不能为环回地址、链路本地地址、组播地址和未指定地址。指定的源地址必须为本机地址,且已经由路由协议发布,建议指定本设备的Loopback接口地址。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入SRv6视图。

segment-routing ipv6

(3)     配置封装的IPv6报文头的源地址。

encapsulation source-address ipv6-address [ ip-ttl ttl-value ]

缺省情况下,未指定封装的IPv6报文头的源地址。

1.11  开启对等体/对等体组之间的SRv6 VPN兼容功能

1. 功能简介

在IP L3VPN over SRv6组网环境中,如果对端PE为其他厂商设备,则VPNv4路由携带的End.DT4 SID的报文格式可能不同,导致PE之间无法学习到对端的VPNv4路由,影响报文转发。为了解决上述问题,可以配置本命令,实现Comware设备与其它厂商设备完全互通,使报文正常转发。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

(3)     进入BGP VPNv4地址族视图。

address-family vpnv4

(4)     开启对等体/对等体组之间的SRv6 VPN兼容功能。

peer { group-name | ipv6-address [ prefix-length ] } srv6-vpn compatible

缺省情况下,SRv6 VPN兼容功能处于关闭状态。

1.12  配置IP L3VPN over SRv6快速重路由

1.12.1  功能简介

IP L3VPN over SRv6快速重路由功能可以通过开启指定地址族的快速重路由功能实现。采用这种方式时,设备会为当前VPN实例的所有BGP路由自动计算备份下一跳,即只要从不同BGP对等体学习到了到达同一目的网络的路由,且这些路由不等价,就会生成主备两条路由。

1.12.2  配置限制和指导

在某些组网情况下,执行pic命令开启该地址族的快速重路由功能,为所有BGP路由生成备份下一跳后,可能会导致路由环路,请谨慎使用本命令。

1.12.3  配置步骤

(1)     进入系统视图。

system-view

(2)     配置静态BFD检测。

bfd static session-name [ peer-ipv6 ipv6-address [ vpn-instance vpn-instance-name ] source-ipv6 ipv6-address [ discriminator local local-value remote remote-value ] ]

(3)     退回系统视图。

quit

(4)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

(5)     配置通过Echo方式的BFD会话检测主路由的下一跳是否可达。

primary-path-detect bfd echo

缺省情况下,通过ARP检测主路由的下一跳是否可达。

本命令的详细介绍,请参见“三层技术-IP路由命令参考”中的“BGP”。

(6)     进入BGP-VPN IPv4单播地址族视图或BGP VPNv4地址族视图或BGP-VPN IPv6单播地址族视图或BGP VPNv6地址族视图。

¡     依次执行以下命令进入BGP-VPN IPv4单播地址族视图。

ip vpn-instance vpn-instance-name

address-family ipv4 [ unicast ]

¡     进入BGP VPNv4地址族视图。

address-family vpnv4

¡     依次执行以下命令进入BGP-VPN IPv6单播地址族视图。

ip vpn-instance vpn-instance-name

address-family ipv6 [ unicast ]

(7)     开启当前地址族的快速重路由功能。

pic

缺省情况下,快速重路由功能处于关闭状态。

本命令的详细介绍,请参见“三层技术-IP路由命令参考”中的“BGP”。

1.13  IP L3VPN over SRv6显示和维护

1.13.1  复位BGP会话

当BGP配置变化后,可以通过软复位或复位BGP会话使新的配置生效。软复位BGP会话是指在不断开BGP邻居关系的情况下,更新BGP路由信息;复位BGP会话是指断开并重新建立BGP邻居关系的情况下,更新BGP路由信息。软复位需要BGP对等体具备路由刷新能力(支持ROUTE-REFRESH消息)。

请在用户视图下进行下列操作。下表中各命令的详细介绍,请参见“三层技术-IP路由命令参考”中的“BGP”。

表1-1 复位BGP会话

操作

命令

手工对VPNv4地址族下的BGP会话进行软复位

refresh bgp [ instance instance-name ] ipv6-address [ prefix-length ] { export | import } vpnv4

复位VPNv4地址族下的BGP会话

reset bgp [ instance instance-name ] ipv6-address [ prefix-length ] vpnv4

 

1.13.2  显示和维护IP L3VPN over SRv6的运行状态

在完成上述配置后,在任意视图下执行display命令可以显示配置后IP L3VPN over SRv6的运行情况,通过查看显示信息验证配置的效果。

在用户视图下,用户可以执行reset命令来清除IP L3VPN over SRv6的相关信息。

display bgp peerdisplay bgp update-groupreset bgp flap-info命令的详细介绍请参见“三层技术-IP路由命令参考”中的“BGP”。

表1-2 显示和维护IP L3VPN over SRv6的运行状态

操作

命令

显示BGP VPNv4对等体信息

display bgp [ instance instance-name ] peer vpnv4 { ipv6-address prefix-length | ipv6-address { log-info | verbose } }

显示BGP VPNv6对等体信息

display bgp [ instance instance-name ] peer vpnv6 [ vpn-instance vpn-instance-name ] [ ipv6-address prefix-length | { ipv6-address | group-name group-name } log-info | [ ipv6-address ] verbose ]

显示BGP VPNv4地址族下打包组的相关信息

display bgp [ instance instance-name ] update-group vpnv4 ipv6-address

显示BGP VPNv6地址族下打包组的相关信息

display bgp [ instance instance-name ] update-group vpnv6 [ vpn-instance vpn-instance-name ] [ ipv6-address ]

清除BGP VPNv4路由的震荡统计信息

reset bgp [ instance instance-name ] flap-info vpnv4 [ ipv4-address [ mask | mask-length ] | as-path-acl as-path-acl-number | peer ipv6-address [ prefix-length ] ]

 

1.14  IP L3VPN over SRv6典型配置举例

1.14.1  IPv4 L3VPN over SRv6配置举例

1. 组网需求

图1-3所示,核心网为IPv6网络,私网为IPv4网络,在IPv6网络中PE设备之间部署IP L3VPN over SRv6 BE,通过SRv6隧道传递VPNv4数据。

·     CE 1和CE 2均属于VPN 1。

·     CE与PE之间配置EBGP交换VPN路由信息。

·     同一自治系统内的PE设备之间运行IS-IS实现IPv6网络互通,配置MP-IBGP交换VPNv4路由信息。

2. 组网图

图1-3 IPv4 L3VPN over SRv6配置组网图

设备

接口

IP地址

设备

接口

IP地址

CE 1

GE1/0

10.1.1.2/24

PE 2

Loop0

3::3/128

PE 1

Loop0

1::1/128

 

GE1/0

10.2.1.1/24

 

GE1/0

10.1.1.1/24

 

GE2/0

2002::1/96

 

GE2/0

2001::1/96

CE 2

GE1/0

10.2.1.2/24

P

Loop0

2::2/128

 

 

 

 

GE1/0

2001::2/96

 

 

 

 

GE2/0

2002::2/96

 

 

 

 

3. 配置步骤

(1)     在PE和P设备上配置IPv6 IS-IS,实现骨干网PE和P的互通

# 配置PE 1。

<PE1> system-view

[PE1] isis 1

[PE1-isis-1] is-level level-1

[PE1-isis-1] cost-style wide

[PE1-isis-1] network-entity 10.1111.1111.1111.00

[PE1-isis-1] address-family ipv6 unicast

[PE1-isis-1-ipv6] quit

[PE1-isis-1] quit

[PE1] interface loopback 0

[PE1-LoopBack0] ipv6 address 1::1 128

[PE1-LoopBack0] isis ipv6 enable 1

[PE1-LoopBack0] quit

[PE1] interface gigabitethernet 2/0

[PE1-GigabitEthernet2/0] ipv6 address 2001::1 96

[PE1-GigabitEthernet2/0] isis ipv6 enable

[PE1-GigabitEthernet2/0] quit

# 配置P。

<P> system-view

[P] isis

[P-isis-1] is-level level-1

[P-isis-1] cost-style wide

[P-isis-1] network-entity 10.2222.2222.2222.00

[P-isis-1] address-family ipv6 unicast

[P-isis-1-ipv6] quit

[P-isis-1] quit

[P] interface loopback 0

[P-LoopBack0] ipv6 address 2::2 128

[P-LoopBack0] isis ipv6 enable

[P-LoopBack0] quit

[P] interface gigabitethernet 1/0

[P-GigabitEthernet1/0] ipv6 address 2001::2 96

[P-GigabitEthernet1/0] isis ipv6 enable

[P-GigabitEthernet1/0] quit

[P] interface gigabitethernet 2/0

[P-GigabitEthernet2/0] ipv6 address 2002::2 96

[P-GigabitEthernet2/0] isis ipv6 enable

[P-GigabitEthernet2/0] quit

# 配置PE 2。

<PE2> system-view

[PE2] isis

[PE2-isis-1] is-level level-1

[PE2-isis-1] cost-style wide

[PE2-isis-1] network-entity 10.3333.3333.3333.00

[PE2-isis-1] address-family ipv6 unicast

[PE2-isis-1-ipv6] quit

[PE2-isis-1] quit

[PE2] interface loopback 0

[PE2-LoopBack0] ipv6 address 3::3 128

[PE2-LoopBack0] isis ipv6 enable

[PE2-LoopBack0] quit

[PE2] interface gigabitethernet 2/0

[PE2-GigabitEthernet2/0] ipv6 address 2002::1 96

[PE2-GigabitEthernet2/0] isis ipv6 enable

[PE2-GigabitEthernet2/0] quit

配置完成后,PE 1、P、PE 2之间应能建立IPv6 IS-IS邻居,执行display isis peer命令可以看到邻居达到Up状态。执行display isis route ipv6命令可以看到PE之间学习到对方的Loopback接口的路由。

(2)     在PE设备上配置VPN实例,将CE接入PE

# 配置PE 1。

[PE1] ip vpn-instance vpn1

[PE1-vpn-instance-vpn1] route-distinguisher 100:1

[PE1-vpn-instance-vpn1] vpn-target 111:1

[PE1-vpn-instance-vpn1] quit

[PE1] interface gigabitethernet 1/0

[PE1-GigabitEthernet1/0] ip binding vpn-instance vpn1

[PE1-GigabitEthernet1/0] ip address 10.1.1.1 24

[PE1-GigabitEthernet1/0] quit

# 配置PE 2。

[PE2] ip vpn-instance vpn1

[PE2-vpn-instance-vpn1] route-distinguisher 100:1

[PE2-vpn-instance-vpn1] vpn-target 111:1

[PE2-vpn-instance-vpn1] quit

[PE2] interface gigabitethernet 1/0

[PE2-GigabitEthernet1/0] ip binding vpn-instance vpn1

[PE2-GigabitEthernet1/0] ip address 10.2.1.1 24

[PE2-GigabitEthernet1/0] quit

# 按图1-3配置各CE的接口IP地址,配置过程略。

配置完成后,在PE设备上执行display ip vpn-instance命令可以看到VPN实例的配置情况。各PE能ping通自己接入的CE。

以PE 1和CE 1为例:

[PE1] display ip vpn-instance

  Total VPN-Instances configured : 1

  Total IPv4 VPN-Instances configured : 1

  Total IPv6 VPN-Instances configured : 1

  VPN-Instance Name     RD              Address family      Create time

  vpn1                  100:1           N/A                 2019/08/12 13:59:39

[PE1] ping -vpn-instance vpn1 10.1.1.2

Ping 10.1.1.2 (10.1.1.2): 56 data bytes, press CTRL+C to break

56 bytes from 10.1.1.2: icmp_seq=0 ttl=255 time=2.000 ms

56 bytes from 10.1.1.2: icmp_seq=1 ttl=255 time=0.000 ms

56 bytes from 10.1.1.2: icmp_seq=2 ttl=255 time=1.000 ms

56 bytes from 10.1.1.2: icmp_seq=3 ttl=255 time=0.000 ms

56 bytes from 10.1.1.2: icmp_seq=4 ttl=255 time=0.000 ms

 

--- Ping statistics for 10.1.1.2 in VPN instance vpn1 ---

5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss

round-trip min/avg/max/std-dev = 0.000/0.600/2.000/0.800 ms

(3)     在PE与CE之间建立EBGP对等体,引入VPN路由

# 配置CE 1。

<CE1> system-view

[CE1] bgp 65410

[CE1-bgp-default] peer 10.1.1.1 as-number 100

[CE1-bgp-default] address-family ipv4 unicast

[CE1-bgp-default-ipv4] peer 10.1.1.1 enable

[CE1-bgp-default-ipv4] import-route direct

[CE1-bgp-default-ipv4] quit

[CE1-bgp-default] quit

# CE 2配置与CE 1设备配置类似,配置过程省略。

# 配置PE 1。

[PE1] bgp 100

[PE1-bgp-default] router-id 1.1.1.1

[PE1-bgp-default] ip vpn-instance vpn1

[PE1-bgp-default-vpn1] peer 10.1.1.2 as-number 65410

[PE1-bgp-default-vpn1] address-family ipv4 unicast

[PE1-bgp-default-ipv4-vpn1] peer 10.1.1.2 enable

[PE1-bgp-default-ipv4-vpn1] quit

[PE1-bgp-default-vpn1] quit

# PE 2配置与PE 1设备配置类似,配置过程省略。

配置完成后,在PE设备上执行display bgp peer ipv4 vpn-instance命令,可以看到PE与CE之间的BGP对等体关系已建立,并达到Established状态。

(4)     在PE之间建立MP-IBGP对等体

# 配置PE 1。

[PE1] bgp 100

[PE1-bgp-default] peer 3::3 as-number 100

[PE1-bgp-default] peer 3::3 connect-interface loopback 0

[PE1-bgp-default] address-family vpnv4

[PE1-bgp-default-vpnv4] peer 3::3 enable

[PE1-bgp-default-vpnv4] quit

[PE1-bgp-default] quit

# 配置PE 2。

[PE2] bgp 100

[PE2-bgp-default] peer 1::1 as-number 100

[PE2-bgp-default] peer 1::1 connect-interface loopback 0

[PE2-bgp-default] address-family vpnv4

[PE2-bgp-default-vpnv4] peer 1::1 enable

[PE2-bgp-default-vpnv4] quit

[PE2-bgp-default] quit

配置完成后,在PE设备上执行display bgp peer vpnv4命令,可以看到PE之间的BGP对等体关系已建立,并达到Established状态。

(5)     在PE设备上配置IP L3VPN over SRv6封装的IPv6报文头的源地址

# 配置PE 1。

[PE1] segment-routing ipv6

[PE1-segment-routing-ipv6] encapsulation source-address 1::1

# 配置PE 2。

[PE2] segment-routing ipv6

[PE2-segment-routing-ipv6] encapsulation source-address 3::3

(6)     在PE设备上配置IP L3VPN over SRv6封装的IPv6报文头的目的地址End.DT4 SID

# 配置PE 1。

[PE1-segment-routing-ipv6] locator aaa ipv6-prefix 1:2::1:0 96 static 8

[PE1-segment-routing-ipv6-locator-aaa] quit

[PE1-segment-routing-ipv6] quit

[PE1] isis 1

[PE1-isis-1] address-family ipv6 unicast

[PE1-isis-1-ipv6] segment-routing ipv6 locator aaa

[PE1-isis-1-ipv6] quit

[PE1-isis-1] quit

# 配置PE 2。

[PE2-segment-routing-ipv6] locator bbb ipv6-prefix 6:5::1:0 96 static 8

[PE2-segment-routing-ipv6-locator-bbb] quit

[PE2-segment-routing-ipv6] quit

[PE2] isis 1

[PE2-isis-1] address-family ipv6 unicast

[PE2-isis-1-ipv6] segment-routing ipv6 locator bbb

[PE2-isis-1-ipv6] quit

[PE2-isis-1] quit

配置完成后,在PE设备上执行display ipv6 routing-table命令,可以看到已经将End.DT4 SID引入路由表中,并生成SRv6路由。

以PE 1为例:

[PE1] display ipv6 routing-table protocol srv6

 

Summary count : 1

 

SRv6 Routing table status : <Active>

Summary count : 1

 

Destination: 1:2::101/128                                Protocol  : SRv6

NextHop    : ::1                                         Preference: 4

Interface  : InLoop0                                     Cost      : 0

 

SRv6 Routing table status : <Inactive>

Summary count : 0

(7)     在PE设备上配置为私网路由添加End.DT4 SID

# 配置PE 1。

[PE1] bgp 100

[PE1-bgp-default] ip vpn-instance vpn1

[PE1-bgp-default-vpn1] address-family ipv4 unicast

[PE1-bgp-default-ipv4-vpn1] segment-routing ipv6 locator aaa

[PE1-bgp-default-ipv4-vpn1] quit

[PE1-bgp-default-vpn1] quit

[PE1-bgp-default] quit

# 配置PE 2。

[PE2] bgp 100

[PE2-bgp-default] ip vpn-instance vpn1

[PE2-bgp-default-vpn1] address-family ipv4 unicast

[PE2-bgp-default-ipv4-vpn1] segment-routing ipv6 locator bbb

[PE2-bgp-default-ipv4-vpn1] quit

[PE2-bgp-default-vpn1] quit

[PE2-bgp-default] quit

(8)     在PE设备上配置IPv6对等体之间交换End.DT4 SID,同时允许将私网路由迭代到End.DT4 SID的路由条目上

# 配置PE 1。

[PE1] bgp 100

[PE1-bgp-default] address-family vpnv4

[PE1-bgp-default-vpnv4] peer 3::3 prefix-sid

[PE1-bgp-default-vpnv4] quit

[PE1-bgp-default] ip vpn-instance vpn1

[PE1-bgp-default-vpn1] address-family ipv4 unicast

[PE1-bgp-default-ipv4-vpn1] segment-routing ipv6 best-effort

[PE1-bgp-default-ipv4-vpn1] quit

[PE1-bgp-default-vpn1] quit

[PE1-bgp-default] quit

# 配置PE 2。

[PE2] bgp 100

[PE2-bgp-default] address-family vpnv4

[PE2-bgp-default-vpnv4] peer 1::1 prefix-sid

[PE2-bgp-default-vpnv4] quit

[PE2-bgp-default] ip vpn-instance vpn1

[PE2-bgp-default-vpn1] address-family ipv4 unicast

[PE2-bgp-default-ipv4-vpn1] segment-routing ipv6 best-effort

[PE2-bgp-default-ipv4-vpn1] quit

[PE2-bgp-default-vpn1] quit

[PE2-bgp-default] quit

配置完成后,在PE设备上执行display bgp routing-table vpnv4命令查看对端PE发送的路由详细信息,可以看到对端PE发送的路由携带SID属性数据。

以PE 1为例:

[PE1] display bgp routing-table vpnv4 10.2.1.0

 

 BGP local router ID: 1.1.1.1

 Local AS number: 100

 

 

 Route distinguisher: 100:1(vpn1)

 Total number of routes: 1

 Paths:   1 available, 1 best

 

 BGP routing table information of 10.2.1.0/24:

 From            : 3::3 (3.3.3.3)

 Rely nexthop    : FE80::2A96:34FF:FE9D:216

 Original nexthop: 3::3

 Out interface   : GigabitEthernet2/0

 Route age       : 00h14m23s

 OutLabel        : 3

 Ext-Community   : <RT: 111:1>

 RxPathID        : 0x0

 TxPathID        : 0x0

 PrefixSID       : End.DT4 SID <6:5::101>

 AS-path         : 65420

 Origin          : incomplete

 Attribute value : MED 0, localpref 100, pref-val 0

 State           : valid, internal, best

 IP precedence   : N/A

 QoS local ID    : N/A

 Traffic index   : N/A

 Tunnel policy   : NULL

 Rely tunnel IDs : N/A

4. 验证配置

# 在PE设备上执行display ip routing-table vpn-instance命令,可以看到去往对端CE的路由,并且路由下一跳值为路由携带的End.DT4 SID。

以PE 1为例:

[PE1] display ip routing-table vpn-instance vpn1

 

Destinations : 11       Routes : 11

 

Destination/Mask   Proto   Pre Cost        NextHop         Interface

0.0.0.0/32         Direct  0   0           127.0.0.1       InLoop0

10.1.1.0/24        Direct  0   0           10.1.1.1        GE1/0

10.1.1.0/32        Direct  0   0           10.1.1.1        GE1/0

10.1.1.1/32        Direct  0   0           127.0.0.1       InLoop0

10.1.1.255/32      Direct  0   0           10.1.1.1        GE1/0

10.2.1.0/24        BGP     255 0           6:5::101        GE2/0

127.0.0.0/8        Direct  0   0           127.0.0.1       InLoop0

127.0.0.0/32       Direct  0   0           127.0.0.1       InLoop0

127.0.0.1/32       Direct  0   0           127.0.0.1       InLoop0

127.255.255.255/32 Direct  0   0           127.0.0.1       InLoop0

255.255.255.255/32 Direct  0   0           127.0.0.1       InLoop0

CE 1和CE 2之间能够ping通。

1.15  IP L3VPN over SRv6典型配置举例

1.15.1  IPv4 L3VPN over SRv6配置举例

1. 组网需求

图1-4所示,核心网为IPv6网络,私网为IPv4网络,在IPv6网络中PE设备之间部署IP L3VPN over SRv6 BE,通过SRv6隧道传递VPNv4数据。

·     CE 1和CE 2均属于VPN 1。

·     CE与PE之间配置EBGP交换VPN路由信息。

·     同一自治系统内的PE设备之间运行IS-IS实现IPv6网络互通,配置MP-IBGP交换VPN路由信息。

2. 组网图

图1-4 IPv4 L3VPN over SRv6配置组网图

 

设备

接口

IP地址

设备

接口

IP地址

CE 1

Vlan-int12

10.1.1.2/24

PE 2

Loop0

3::3/128

PE 1

Loop0

1::1/128

 

Vlan-int13

10.2.1.1/24

 

Vlan-int12

10.1.1.1/24

 

Vlan-int12

2002::1/96

 

Vlan-int13

2001::1/96

CE 2

Vlan-int13

10.2.1.2/24

P

Loop0

2::2/128

 

 

 

 

Vlan-int13

2001::2/96

 

 

 

 

Vlan-int12

2002::2/96

 

 

 

 

3. 配置步骤

(1)     在PE和P设备上配置IPv6 IS-IS,实现骨干网PE和P的互通

# 配置PE 1。

<PE1> system-view

[PE1] isis 1

[PE1-isis-1] is-level level-1

[PE1-isis-1] cost-style wide

[PE1-isis-1] network-entity 10.1111.1111.1111.00

[PE1-isis-1] address-family ipv6 unicast

[PE1-isis-1-ipv6] quit

[PE1-isis-1] quit

[PE1] interface loopback 0

[PE1-LoopBack0] ipv6 address 1::1 128

[PE1-LoopBack0] isis ipv6 enable 1

[PE1-LoopBack0] quit

[PE1] interface vlan-interface 13

[PE1-Vlan-interface13] ipv6 address 2001::1 96

[PE1-Vlan-interface13] isis ipv6 enable

[PE1-Vlan-interface13] quit

# 配置P。

<P> system-view

[P] isis

[P-isis-1] is-level level-1

[P-isis-1] cost-style wide

[P-isis-1] network-entity 10.2222.2222.2222.00

[P-isis-1] address-family ipv6 unicast

[P-isis-1-ipv6] quit

[P-isis-1] quit

[P] interface loopback 0

[P-LoopBack0] ipv6 address 2::2 128

[P-LoopBack0] isis ipv6 enable

[P-LoopBack0] quit

[P] interface vlan-interface 13

[P-Vlan-interface13] ipv6 address 2001::2 96

[P-Vlan-interface13] isis ipv6 enable

[P-Vlan-interface13] quit

[P] interface vlan-interface 12

[P-Vlan-interface12] ipv6 address 2002::2 96

[P-Vlan-interface12] isis ipv6 enable

[P-Vlan-interface12] quit

# 配置PE 2。

<PE2> system-view

[PE2] isis

[PE2-isis-1] is-level level-1

[PE2-isis-1] cost-style wide

[PE2-isis-1] network-entity 10.3333.3333.3333.00

[PE2-isis-1] address-family ipv6 unicast

[PE2-isis-1-ipv6] quit

[PE2-isis-1] quit

[PE2] interface loopback 0

[PE2-LoopBack0] ipv6 address 3::3 128

[PE2-LoopBack0] isis ipv6 enable

[PE2-LoopBack0] quit

[PE2] interface vlan-interface 12

[PE2-Vlan-interface12] ipv6 address 2002::1 96

[PE2-Vlan-interface12] isis ipv6 enable

[PE2-Vlan-interface12] quit

配置完成后,PE 1、P、PE 2之间应能建立IPv6 IS-IS邻居,执行display isis peer命令可以看到邻居达到Up状态。执行display isis route ipv6命令可以看到PE之间学习到对方的Loopback接口的路由。

(2)     在PE设备上配置VPN实例,将CE接入PE

# 配置PE 1。

[PE1] ip vpn-instance vpn1

[PE1-vpn-instance-vpn1] route-distinguisher 100:1

[PE1-vpn-instance-vpn1] vpn-target 111:1

[PE1-vpn-instance-vpn1] quit

[PE1] interface vlan-interface 12

[PE1-Vlan-interface12] ip binding vpn-instance vpn1

[PE1-Vlan-interface12] ip address 10.1.1.1 24

[PE1-Vlan-interface12] quit

# 配置PE 2。

[PE2] ip vpn-instance vpn1

[PE2-vpn-instance-vpn1] route-distinguisher 100:1

[PE2-vpn-instance-vpn1] vpn-target 111:1

[PE2-vpn-instance-vpn1] quit

[PE2] interface vlan-interface 13

[PE2-Vlan-interface13] ip binding vpn-instance vpn1

[PE2-Vlan-interface13] ip address 10.2.1.1 24

[PE2-Vlan-interface13] quit

# 按图1-4配置各CE的接口IP地址,配置过程略。

配置完成后,在PE设备上执行display ip vpn-instance命令可以看到VPN实例的配置情况。各PE能ping通自己接入的CE。

以PE 1和CE 1为例:

[PE1] display ip vpn-instance

  Total VPN-Instances configured : 1

  Total IPv4 VPN-Instances configured : 1

  Total IPv6 VPN-Instances configured : 1

  VPN-Instance Name     RD              Address family      Create time

  vpn1                  100:1           N/A                 2019/08/12 13:59:39

[PE1] ping -vpn-instance vpn1 10.1.1.2

Ping 10.1.1.2 (10.1.1.2): 56 data bytes, press CTRL+C to break

56 bytes from 10.1.1.2: icmp_seq=0 ttl=255 time=2.000 ms

56 bytes from 10.1.1.2: icmp_seq=1 ttl=255 time=0.000 ms

56 bytes from 10.1.1.2: icmp_seq=2 ttl=255 time=1.000 ms

56 bytes from 10.1.1.2: icmp_seq=3 ttl=255 time=0.000 ms

56 bytes from 10.1.1.2: icmp_seq=4 ttl=255 time=0.000 ms

 

--- Ping statistics for 10.1.1.2 in VPN instance vpn1 ---

5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss

round-trip min/avg/max/std-dev = 0.000/0.600/2.000/0.800 ms

(3)     在PE与CE之间建立EBGP对等体,引入VPN路由

# 配置CE 1。

<CE1> system-view

[CE1] bgp 65410

[CE1-bgp-default] peer 10.1.1.1 as-number 100

[CE1-bgp-default] address-family ipv4 unicast

[CE1-bgp-default-ipv4] peer 10.1.1.1 enable

[CE1-bgp-default-ipv4] import-route direct

[CE1-bgp-default-ipv4] quit

[CE1-bgp-default] quit

# CE 2配置与CE 1设备配置类似,配置过程省略。

# 配置PE 1。

[PE1] bgp 100

[PE1-bgp-default] router-id 1.1.1.1

[PE1-bgp-default] ip vpn-instance vpn1

[PE1-bgp-default-vpn1] peer 10.1.1.2 as-number 65410

[PE1-bgp-default-vpn1] address-family ipv4 unicast

[PE1-bgp-default-ipv4-vpn1] peer 10.1.1.2 enable

[PE1-bgp-default-ipv4-vpn1] quit

[PE1-bgp-default-vpn1] quit

[PE1-bgp-default] quit

# PE 2配置与PE 1设备配置类似,配置过程省略。

配置完成后,在PE设备上执行display bgp peer ipv4 vpn-instance命令,可以看到PE与CE之间的BGP对等体关系已建立,并达到Established状态。

(4)     在PE之间建立MP-IBGP对等体

# 配置PE 1。

[PE1] bgp 100

[PE1-bgp-default] peer 3::3 as-number 100

[PE1-bgp-default] peer 3::3 connect-interface loopback 0

[PE1-bgp-default] address-family vpnv4

[PE1-bgp-default-vpnv4] peer 3::3 enable

[PE1-bgp-default-vpnv4] quit

[PE1-bgp-default] quit

# 配置PE 2。

[PE2] bgp 100

[PE2-bgp-default] peer 1::1 as-number 100

[PE2-bgp-default] peer 1::1 connect-interface loopback 0

[PE2-bgp-default] address-family vpnv4

[PE2-bgp-default-vpnv4] peer 1::1 enable

[PE2-bgp-default-vpnv4] quit

[PE2-bgp-default] quit

配置完成后,在PE设备上执行display bgp peer vpnv4命令,可以看到PE之间的BGP对等体关系已建立,并达到Established状态。

(5)     在PE设备上配置IP L3VPN over SRv6封装的IPv6报文头的源地址

# 配置PE 1。

[PE1] segment-routing ipv6

[PE1-segment-routing-ipv6] encapsulation source-address 1::1

# 配置PE 2。

[PE2] segment-routing ipv6

[PE2-segment-routing-ipv6] encapsulation source-address 3::3

(6)     在PE设备上配置IP L3VPN over SRv6封装的IPv6报文头的目的地址End.DT4 SID

# 配置PE 1。

[PE1-segment-routing-ipv6] locator aaa ipv6-prefix 1:2::1:0 96 static 8

[PE1-segment-routing-ipv6-locator-aaa] quit

[PE1-segment-routing-ipv6] quit

[PE1] isis 1

[PE1-isis-1] address-family ipv6 unicast

[PE1-isis-1-ipv6] segment-routing ipv6 locator aaa

[PE1-isis-1-ipv6] quit

[PE1-isis-1] quit

# 配置PE 2。

[PE2-segment-routing-ipv6] locator bbb ipv6-prefix 6:5::1:0 96 static 8

[PE2-segment-routing-ipv6-locator-bbb] quit

[PE2-segment-routing-ipv6] quit

[PE2] isis 1

[PE2-isis-1] address-family ipv6 unicast

[PE2-isis-1-ipv6] segment-routing ipv6 locator bbb

[PE2-isis-1-ipv6] quit

[PE2-isis-1] quit

配置完成后,在PE设备上执行display ipv6 routing-table命令,可以看到已经将End.DT4 SID引入路由表中,并生成SRv6路由。

以PE 1为例:

[PE1] display ipv6 routing-table protocol srv6

 

Summary count : 1

 

SRv6 Routing table status : <Active>

Summary count : 1

 

Destination: 1:2::101/128                                Protocol  : SRv6

NextHop    : ::1                                         Preference: 4

Interface  : InLoop0                                     Cost      : 0

 

SRv6 Routing table status : <Inactive>

Summary count : 0

(7)     在PE设备上配置为私网路由添加End.DT4 SID

# 配置PE 1。

[PE1] bgp 100

[PE1-bgp-default] ip vpn-instance vpn1

[PE1-bgp-default-vpn1] address-family ipv4 unicast

[PE1-bgp-default-ipv4-vpn1] segment-routing ipv6 locator aaa

[PE1-bgp-default-ipv4-vpn1] quit

[PE1-bgp-default-vpn1] quit

[PE1-bgp-default] quit

# 配置PE 2。

[PE2] bgp 100

[PE2-bgp-default] ip vpn-instance vpn1

[PE2-bgp-default-vpn1] address-family ipv4 unicast

[PE2-bgp-default-ipv4-vpn1] segment-routing ipv6 locator bbb

[PE2-bgp-default-ipv4-vpn1] quit

[PE2-bgp-default-vpn1] quit

[PE2-bgp-default] quit

(8)     在PE设备上配置IPv6对等体之间交换End.DT4 SID,同时允许将私网路由迭代到End.DT4 SID的路由条目上

# 配置PE 1。

[PE1] bgp 100

[PE1-bgp-default] address-family vpnv4

[PE1-bgp-default-vpnv4] peer 3::3 prefix-sid

[PE1-bgp-default-vpnv4] quit

[PE1-bgp-default] ip vpn-instance vpn1

[PE1-bgp-default-vpn1] address-family ipv4 unicast

[PE1-bgp-default-ipv4-vpn1] segment-routing ipv6 best-effort

[PE1-bgp-default-ipv4-vpn1] quit

[PE1-bgp-default-vpn1] quit

[PE1-bgp-default] quit

# 配置PE 2。

[PE2] bgp 100

[PE2-bgp-default] address-family vpnv4

[PE2-bgp-default-vpnv4] peer 1::1 prefix-sid

[PE2-bgp-default-vpnv4] quit

[PE2-bgp-default] ip vpn-instance vpn1

[PE2-bgp-default-vpn1] address-family ipv4 unicast

[PE2-bgp-default-ipv4-vpn1] segment-routing ipv6 best-effort

[PE2-bgp-default-ipv4-vpn1] quit

[PE2-bgp-default-vpn1] quit

[PE2-bgp-default] quit

配置完成后,在PE设备上执行display bgp routing-table vpnv4命令查看对端PE发送的路由详细信息,可以看到对端PE发送的路由携带SID属性数据。

以PE 1为例:

[PE1] display bgp routing-table vpnv4 10.2.1.0

 

 BGP local router ID: 1.1.1.1

 Local AS number: 100

 

 

 Route distinguisher: 100:1(vpn1)

 Total number of routes: 1

 Paths:   1 available, 1 best

 

 BGP routing table information of 10.2.1.0/24:

 From            : 3::3 (3.3.3.3)

 Rely nexthop    : FE80::2A96:34FF:FE9D:216

 Original nexthop: 3::3

 Out interface   : Vlan-interface13

 Route age       : 00h14m23s

 OutLabel        : 3

 Ext-Community   : <RT: 111:1>

 RxPathID        : 0x0

 TxPathID        : 0x0

 PrefixSID       : End.DT4 SID <6:5::101>

 AS-path         : 65420

 Origin          : incomplete

 Attribute value : MED 0, localpref 100, pref-val 0

 State           : valid, internal, best

 IP precedence   : N/A

 QoS local ID    : N/A

 Traffic index   : N/A

 Tunnel policy   : NULL

 Rely tunnel IDs : N/A

4. 验证配置

# 在PE设备上执行display ip routing-table vpn-instance命令,可以看到去往对端CE的路由,并且路由下一跳值为路由携带的End.DT4 SID。

以PE 1为例:

[PE1] display ip routing-table vpn-instance vpn1

 

Destinations : 11       Routes : 11

 

Destination/Mask   Proto   Pre Cost        NextHop         Interface

0.0.0.0/32         Direct  0   0           127.0.0.1       InLoop0

10.1.1.0/24        Direct  0   0           10.1.1.1        Vlan12

10.1.1.0/32        Direct  0   0           10.1.1.1        Vlan12

10.1.1.1/32        Direct  0   0           127.0.0.1       InLoop0

10.1.1.255/32      Direct  0   0           10.1.1.1        Vlan12

10.2.1.0/24        BGP     255 0           6:5::101        Vlan13

127.0.0.0/8        Direct  0   0           127.0.0.1       InLoop0

127.0.0.0/32       Direct  0   0           127.0.0.1       InLoop0

127.0.0.1/32       Direct  0   0           127.0.0.1       InLoop0

127.255.255.255/32 Direct  0   0           127.0.0.1       InLoop0

255.255.255.255/32 Direct  0   0           127.0.0.1       InLoop0

CE 1和CE 2之间能够ping通。

 

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

新华三官网
联系我们