03-IP L3VPN over SRv6配置
本章节下载: 03-IP L3VPN over SRv6配置 (398.76 KB)
目 录
1.5 配置PE-PE间交互BGP VPNv4/VPNv6路由
1.7.2 控制BGP VPNv4/VPNv6路由的接收和保存
1.9.1 显示IP L3VPN over SRv6的配置及运行状态
1.10.1 IPv4 L3VPN over SRv6-BE配置举例
IP L3VPN over SRv6是指通过SRv6隧道承载IP L3VPN业务,通过IPv6网络透明传输用户三层数据,实现属于同一个VPN、位于不同地理位置的用户互通。MPLS L3VPN的详细介绍,请参见“MPLS配置指导”中的“MPLS L3VPN”。
如图1-1所示,通过BGP协议在IPv6骨干网上发布用户站点的IPv4/IPv6私网路由,使用PE间的SRv6隧道承载私网报文,在骨干网上根据IGP计算的最优路径转发私网报文,从而实现通过IPv6骨干网连接属于同一个VPN、位于不同地理位置的用户。
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的路由。
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。
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。
通过引用Locator段后,BGP路由才可以通告Locator段内的SRv6 SID。
c. 配置PE-PE间交互BGP VPNv4/VPNv6路由
只有配置本功能后,PE设备之间交换VPNv4/VPNv6路由时才可以交换私网标签End.DT4 SID/End.DT6 SID。
e. (可选)配置BGP VPNv4/VPNv6路由
(4) 配置封装的IPv6报文头的源地址
本功能用来指定IP L3VPN over SRv6骨干网中报文封装的IPv6报文头的源地址。
PE之间传递BGP VPNv4/VPNv6路由信息时,配置Opcode段必须指定VPN实例。
配置SRv6 SID时,指定的Locator段的IPv6地址必须是接口的主IPv6地址。
(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。
在IP L3VPN over SRv6组网场景中,在指定VPN实例的BGP-VPN IPv4/IPv6单播地址族视图下配置本功能后,PE设备将为指定VPN实例的私网路由在引用的Locator段内申请SRv6 SID。
使用End.DT4 SID/End.DT6 SID时,都需要执行本配置。
配置本功能前,必须满足以下条件:
· 指定的Locator必须存在。
· End.DT4 SID/End.DT6 SID所在VPN实例与私网的VPN实例必须相同。
(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段。
本节所有命令的详细介绍,请参见“三层技术-IP路由命令参考”中的“BGP”。
PE之间不能同时建立IPv4和IPv6对等体,否则影响路由优选,无法通过SRv6隧道转发流量。
(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路由信息。
配置本功能后,IPv6对等体之间可以通过VPNv4/VPNv6/IPv4单播/IPv6单播路由交换SRv6 SID信息。
(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信息。
本节所有命令的详细介绍,请参见“三层技术-IP路由命令参考”中的“BGP”。
(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) 进入系统视图。
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) 进入系统视图。
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) 进入系统视图。
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) 进入系统视图。
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) 进入系统视图。
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秒,即路由优选不延迟。
在IP L3VPN over SRv6组网环境中,必须指定封装的IPv6报文头的源地址。否则,无法通过SRv6转发数据流量。
配置源地址时,不能为环回地址、链路本地地址、组播地址和未指定地址。指定的源地址必须为本机地址,且已经由路由协议发布,建议指定本设备的Loopback接口地址。
(1) 进入系统视图。
system-view
(2) 进入SRv6视图。
segment-routing ipv6
(3) 配置封装的IPv6报文头的源地址。
encapsulation source-address ipv6-address [ ip-ttl ttl-value ]
缺省情况下,未指定封装的IPv6报文头的源地址。
本节所有命令的详细介绍,请参见“三层技术-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 ]
当BGP配置变化后,可以通过软复位或复位BGP会话使新的配置生效。软复位BGP会话是指在不断开BGP邻居关系的情况下,更新BGP路由信息;复位BGP会话是指断开并重新建立BGP邻居关系的情况下,更新BGP路由信息。软复位需要BGP对等体具备路由刷新能力(支持ROUTE-REFRESH消息)。
本节所有命令的详细介绍,请参见“三层技术-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
请在用户视图下执行以下命令,清除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-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路由信息。
图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 |
|
|
|
(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
# 在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保留在没有任何通知或提示的情况下对资料内容进行修改的权利!