• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 关于我们

11-Segment Routing配置指导

目录

03-IP L3VPN over SRv6配置

本章节下载 03-IP L3VPN over SRv6配置  (398.76 KB)

03-IP L3VPN over SRv6配置


1 IP L3VPN over SRv6

1.1  IP L3VPN over SRv6简介

IP L3VPN over SRv6是指通过SRv6隧道承载IP L3VPN业务,通过IPv6网络透明传输用户三层数据,实现属于同一个VPN、位于不同地理位置的用户互通。MPLS L3VPN的详细介绍,请参见“MPLS配置指导”中的“MPLS L3VPN”。

1.1.1  IP L3VPN over SRv6基本原理

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

图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(即同一VPN实例的所有私网路由分配相同的End.DT4 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  报文转发

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。然后为报文封装IPv6报文头,在IPv6报文头中End.DT4 SID作为其目的地址。

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

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

(5)     PE 1接收到报文后,根据End.DT4 SID查找Local SID表,执行End.DT4 SID对应的转发动作,即解封装报文去掉IPv6报文头和SRH,并根据End.DT4 SID匹配VPN实例1,在VPN实例1的路由表中,查表转发,将报文发送给CE 1。

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。

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。

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

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

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

1.3  配置SRv6 SID

1. 配置限制和指导

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

配置SRv6 SID时,指定的Locator段的IPv6地址必须是接口的主IPv6地址。

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 | hex hex-opcode } end-dt4 [ vpn-instance vpn-instance-name ]

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

¡     配置End.DT6 SID。

opcode { opcode | hex hex-opcode } end-dt6 [ vpn-instance vpn-instance-name ]

指定的VPN实例必须已经存在。不同VPN实例不能配置相同End.DT6 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时,都需要执行本配置。

2. 配置限制和指导

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

·     指定的Locator必须存在。

·     End.DT4 SID/End.DT6 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段。

¡     配置BGP引用普通Locator段。

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

¡     配置BGP引用Anycast Locator段。

segment-routing ipv6 locator locator-name anycast

配置本命令后,需要配置peer prefix-sid命令并指定anycast参数,才能与指定对等体交换Anycast Locator段内的SRv6 SID信息。

缺省情况下,未引用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 [ anycast ]

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

指定anycast参数后,还需通过segment-routing ipv6 locator anycast命令引用Anycast Locator段,从而与指定对等体交换Anycast Locator段内的SRv6 SID信息。

 

1.7  配置BGP VPNv4/VPNv6路由

1.7.1  配置限制和指导

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

1.7.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.7.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.7.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 | ext-comm-list-name }

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

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

reflect change-path-attribute

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

1.7.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

¡     向对等体/对等体组发布路由时,不修改路由的下一跳属性。

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

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

peer  next-hop-local命令与peer next-hop-invariable命令互斥。

(5)     配置AS_PATH属性。

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

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

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

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

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

缺省情况下,向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属性。

(8)     配置BGP路由根据路由策略来过滤迭代到的下一跳路由。

nexthop recursive-lookup route-policy route-policy-name

缺省情况下,BGP不根据路由策略来过滤迭代到的下一跳路由。

注意

配置本命令后,如果地址族中的所有BGP路由迭代到的下一跳路由均无法通过路由策略的过滤,该地址族下的所有BGP路由将全部成为不可达路由。请用户在配置本命令前,提前规划期望迭代到的下一跳路由,使其能够通过指定路由策略中允许模式节点的过滤。

 

1.7.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 | name ipv4-acl-name | prefix-list prefix-list-name } export [ protocol process-id ]

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

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

filter-policy { ipv4-acl-number | name ipv4-acl-name | 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路由加入到路由表。

(9)     配置根据EBGP路由的第一个AS号来过滤发布对象。

peer-as-check enable

缺省情况下,设备接收到EBGP路由后,会将其发布给除发送该路由的对等体之外的所有BGP对等体,不会根据EBGP路由的第一个AS号来过滤发布对象。

配置本命令后,BGP向EBGP对等体发布EBGP路由时,会检查AS_Path属性中的第一个AS号,不会向EBGP对等体发布第一个AS号与该EBGP对等体所在的AS相同的路由。

1.7.7  配置BGP Add-Path

(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)     配置Add-Path功能。

peer { group-name | ipv6-address [ prefix-length ] } additional-paths { receive | send } *

缺省情况下,未配置Add-Path功能。

(5)     配置向指定对等体/对等体组发送的Add-Path优选路由的最大条数。

peer { group-name | ipv6-address [ prefix-length ] } advertise additional-paths best number

缺省情况下,向指定对等体/对等体组发送的Add-Path优选路由的最大条数为1。

(6)     配置Add-Path优选路由的最大条数。

additional-paths select-best best-number

缺省情况下,Add-Path优选路由的最大条数为1。

(7)     (可选)配置路由延迟优选时间。

route-select delay delay-value

缺省情况下,延迟时间为0秒,即路由优选不延迟。

 

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

1. 配置限制和指导

在IP L3VPN 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.9  IP L3VPN over SRv6显示和维护

1.9.1  显示IP L3VPN over SRv6的配置及运行状态

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

可在任意视图下执行以下命令:

·     显示BGP VPNv4对等体信息。

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

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

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

·     显示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 VPNv6地址族下打包组的相关信息。

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

1.9.2  复位BGP会话

1. 功能简介

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

2. 配置步骤

本节所有命令的详细介绍,请参见“三层技术-IP路由命令参考”中的“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.9.3  清除BGP VPNv4路由的震荡统计信息

请在用户视图下执行以下命令,清除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.10  IP L3VPN over SRv6典型配置举例

1.10.1  IPv4 L3VPN over SRv6-BE配置举例

1. 组网需求

图1-2所示,核心网为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-2 IPv4 L3VPN over SRv6-BE配置组网图

 

设备

接口

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] address-family ipv4

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

[PE1-vpn-ipv4-vpn1] quit

[PE1-vpn-instance-vpn1] address-family ipv6

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

[PE1-vpn-ipv6-vpn1] quit

[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] address-family ipv4

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

[PE2-vpn-ipv4-vpn1] quit

[PE2-vpn-instance-vpn1] address-family ipv6

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

[PE2-vpn-ipv6-vpn1] quit

[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-2配置各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::           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保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

新华三官网
联系我们