02-EVPN VPLS配置
本章节下载: 02-EVPN VPLS配置 (507.45 KB)
EVPN VPLS是控制层采用MP-BGP通告EVPN路由信息,数据层采用MPLS封装的二层VPN技术。PE通过查找MAC地址表转发数据报文,为用户提供点到多点的二层服务。
图1-1 EVPN VPLS网络模型示意图
如图1-1所示,EVPN VPLS网络中主要包括如下几部分:
· CE(Customer Edge,用户网络边缘):直接与服务提供商网络相连的用户网络侧设备。
· PE(Provider Edge,服务提供商网络边缘):与CE相连的服务提供商网络侧设备。PE主要负责EVPN VPLS业务的接入,完成报文从用户网络到公网隧道、从公网隧道到用户网络的映射与转发。
· AC(Attachment Circuit,接入电路):连接CE和PE的物理电路或虚拟电路。
· PW(Pseudowire,伪线):两个PE之间的虚拟双向连接。PW由一对方向相反的单向虚拟连接构成。
· 公网隧道(Tunnel):穿越IP或MPLS骨干网、用来承载PW的隧道。一条公网隧道可以承载多条PW,公网隧道可以是LSP隧道或MPLS TE隧道。
· VSI(Virtual Switch Instance,虚拟交换实例):VSI是PE设备上为一个VPLS实例提供二层交换服务的虚拟实例。VSI可以看作是PE设备上的一台虚拟交换机,它具有传统以太网交换机的所有功能,包括源MAC地址学习、MAC地址老化、泛洪等。VPLS通过VSI实现在VPLS实例内转发二层数据报文。
PE通过以太网自动发现路由或IMET路由自动发现邻居、建立PW。PE接收以太网自动发现路由或IMET路由时,将路由中的Route Target属性与本地VSI实例下的EVPN实例视图下配置的Import Target进行比较,如果一致则根据路由中携带的PE地址、PW标签等信息建立一条单向的虚拟连接。当两端的PE间建立了两条方向相反的单向虚拟连接,则PW建立完成。
PE根据学习到的MAC地址表项转发二层单播流量。PE上MAC地址学习分为两部分:
· 本地MAC地址学习:PE接收到本地CE发送的数据帧后,判断该数据帧所属的VSI,并将数据帧中的源MAC地址(本地CE的MAC地址)添加到该VSI的MAC地址表中,该MAC地址对应的接口为接收到数据帧的接口。
· 远端MAC地址学习:PE通过MAC/IP发布路由将本地学习的MAC地址通告给远端PE。远端PE接收到该信息后,将其添加到对应的VSI的MAC地址表中,该MAC地址的出接口为两个PE之间PW的索引。
· 本地MAC地址老化:PE学习本地MAC地址后,如果MAC地址老化定时器超时,则删除该MAC地址表项,减少占用的MAC地址表资源。
· 远端MAC地址老化:PE从MAC/IP发布路由中学习远端MAC地址,在接收到撤销该MAC地址的路由前,MAC地址会一直存在MAC地址表中。
AC状态变为down时,EVPN会向所有远端PE发送不可达信息撤销该AC对应的MAC地址,远端PE根据不可达信息删除指定VSI内的指定MAC地址,以加快MAC地址表的收敛速度。
· PE从AC接收到已知单播报文后,会在对应的VSI内查找MAC地址表,从而确定如何转发报文:
¡ 表项的出接口为PW索引时,为报文封装私网标签,再添加公网隧道封装后,通过PW将该报文转发给远端PE。如果公网隧道为LSP或MPLS TE隧道,则通过PW转发报文时将为报文封装两层标签:内层标签为私网标签,用来决定报文转发给相应的VSI;外层标签为公网LSP或MPLS TE隧道标签,用来保证报文在PE之间正确传送。
¡ 表项的出接口为连接本地CE的接口时,直接通过出接口将报文转发给本地CE。
· PE从PW接收到已知单播报文后,在其所属的VSI内查找MAC地址表,出接口应为连接本地站点的接口,PE通过该出接口将报文转发给本地站点。
为避免环路,一般的二层网络都要求使用环路预防协议。但在骨干网的PE上部署环路预防协议,会增加管理和维护的难度。因此,EVPN VPLS采用如下方法避免环路:
· PE之间建立全连接,即一个EVPN实例内的每两个PE之间必须都建立PW。
· 采用水平分割转发规则,即从PW上收到的泛洪报文禁止向其他PW转发,只能转发到AC。
多归属站点是指一个站点通过不同的以太网链路连接到多台PE,这些链路构成一个ES(Ethernet Segment,以太网段),并以一个相同的ESI(ES Identifier)标识其属于同一个ES。连接的多台PE组成冗余备份组,可以避免PE单点故障对网络造成影响,从而提高网络的可靠性。目前仅支持双归属。
图1-2 多归属站点示意图
当一个CE连接到多台PE时,为了避免冗余备份组中的PE均发送泛洪流量给该CE,需要在冗余备份组中为每个AC选举一个PE作为DF(Designated Forwarder,指定转发者),负责将泛洪流量转发给该AC。其他PE作为该AC的BDF(Backup DF,备份DF),不会向本地CE转发泛洪流量。多归属成员通过发送以太网段路由,向其它PE通告ES及其连接的PE信息,仅配置了ESI的PE会接收以太网段路由并根据其携带的ES、PE信息选举出DF。
图1-3 DF选举
如图1-3所示,DF选举方法为:
(1) 选取AC内允许通过的最小VLAN Tag代表该AC。在本例中,代表AC的VLAN Tag为4。
(2) PE根据接收到的以太网段路由,对携带相同ESI的路由中的源IP地址按升序排列,编号从0开始。在本例中,源IP 1.1.1.1、2.2.2.2对应的编号依次为0、1。
(3) 根据VLAN Tag除以N的余数M来选举DF,N代表冗余备份组中成员的数量,M对应的编号为该AC的DF。在本例中,4除以2的余数为0,即AC的DF为编号为0的PE 1。
EVPN VPLS组网场景支持的冗余备份模式为多活冗余模式。多活冗余备份模式下,冗余备份组中的PE均参与单播数据报文的转发,实现负载分担。
在多活模式下,冗余备份组中的PE都会通过MP-BGP向远端PE通告同一ES的信息。即使只有一个PE学习到了MAC/ARP信息并发布给远端PE,远端PE除了会添加下一跳为该PE的IP地址,还会添加下一跳为冗余备份组中其他PE的IP地址,以实现自动在不同PE之间形成等价路径。该功能称为Aliasing。
如图1-4所示,EVPN VPLS多归属站点组网中,CE 1双归属接入PE 1和PE 2,其中PE 1为DF。当PE 1侧的AC故障时,PE 1会删除对应的MAC地址表项,并向PE 2及远端PE通告本地不可达信息撤销MAC地址,此时已经从远端PE发送到PE 1的数据报文由于没有出接口,会被丢弃。EVPN VPLS通过FRR功能解决该问题。在PE 1上启用FRR功能,使PE 1侧的AC故障时,不删除对应的MAC地址表项,而是将出接口变更为PE 1与PE 2间建立的PW的索引,将数据报文转发至PE 2,再由PE 2转发至CE 1,从而减少AC故障导致的丢包。
图1-4 FRR功能原理图
MAC地址迁移是指虚拟机或主机从一个ES迁移到另一个ES。原ES连接的PE无法感知MAC地址已经迁移到其他ES段。新迁移到的ES所在PE需要重新通告该MAC/IP路由。原PE在收到此路由后,撤销之前通告的路由。MAC地址每次迁移,迁移序列号依次递增,以便在MAC地址多次迁移时,通过序列号来标识最近一次迁移。
EVPN VPLS配置任务如下:
(1) 配置VSI
a. 创建VSI
b. (可选)配置VSI参数
(2) 配置EVPN实例
(3) 配置AC与VSI关联
(4) 配置BGP发布EVPN路由
c. (可选)控制BGP EVPN路由的优选和发布
d. (可选)维护BGP会话
(5) (可选)配置多归属站点
a. 配置接口的ESI
b. (可选)配置DF选举延迟时间
c. (可选)配置以太网自动发现路由延迟发布功能
d. (可选)配置禁止通告以太网自动发现路由和以太网段路由
e. (可选)配置发布以太网自动发现路由和MAC/IP发布路由时忽略以太网标签
f. (可选)配置成员设备监视BGP邻居状态
(6) (可选)管理远端MAC地址和远端ARP信息学习
(7) (可选)开启EVPN E-Tree功能
(8) (可选)优化和维护EVPN VPLS网络
(1) 进入系统视图。
system-view
(2) 开启L2VPN功能。
l2vpn enable
缺省情况下,L2VPN功能处于关闭状态。
(3) 创建VSI,并进入VSI视图。
vsi vsi-name
(4) 开启VSI。
undo shutdown
缺省情况下,VSI处于开启状态。
(1) 进入系统视图。
system-view
(2) 进入VSI视图。
vsi vsi-name
(3) 配置VSI的描述信息。
description text
缺省情况下,未配置VSI的描述信息。
(4) 配置VSI的MTU值。
mtu mtu
缺省情况下,VSI的MTU值为1500字节。
(5) 配置VSI的已知单播流量的最大带宽。
bandwidth bandwidth
缺省情况下,未配置VSI的最大已知单播流量带宽,即不限制已知单播流量带宽。
(6) 配置VSI的MAC地址学习功能。
a. 开启VSI的MAC地址学习功能。
mac-learning enable
缺省情况下,VSI的MAC地址学习功能处于开启状态。
b. (可选)配置允许VSI学习到的最大MAC地址数。
mac-table limit mac-limit
缺省情况下,不对VSI学习到的最大MAC地址数进行限制。
c. (可选)配置当VSI学习到的MAC地址数达到最大值后,禁止转发源MAC地址不在MAC地址表里的报文。
mac-table limit drop-unknown
缺省情况下,当VSI学习到的MAC地址数达到最大值后,允许转发源MAC地址不在MAC地址表里的报文,但是不会学习报文的源MAC地址。
PE在发布EVPN路由时,携带VSI实例下的EVPN实例视图下配置的RD和RT。
(1) 进入系统视图。
system-view
(2) 进入VSI视图。
vsi vsi-name
(3) 创建EVPN实例,并进入EVPN实例视图。
evpn encapsulation mpls
(4) 配置EVPN实例的RD。
route-distinguisher route-distinguisher
缺省情况下,未指定EVPN实例的RD。
(5) 配置EVPN实例的Route Target属性。
vpn-target vpn-target&<1-8> [ both | export-extcommunity | import-extcommunity ]
缺省情况下,未指定EVPN实例的Route Target属性。
建议为EVPN实例配置的Import target不要与VPN实例的Export target匹配,反之亦然。
(6) 配置EVPN实例引用PW模板。
pw-class class-name
执行本配置指定引用PW模板后,该PW模板将应用于当前EVPN实例下建立的所有PW。
缺省情况下,EVPN实例未引用PW模板。
将三层接口与VSI关联后,从三层接口接收到的报文,将通过查找关联VSI的MAC地址表进行转发。
本配置中各命令的详细介绍,请参见“MPLS命令参考”中的“VPLS”。
(1) 进入系统视图。
system-view
(2) 进入三层接口视图。
interface interface-type interface-number
(3) 将三层接口与VSI关联。
xconnect vsi vsi-name [ access-mode { ethernet | vlan } ] [ track track-entry-number&<1-3> ]
缺省情况下,三层接口未关联VSI。
BGP相关命令的详细介绍,请参见“三层技术-IP路由命令参考”中的“BGP”。
(1) 进入系统视图。
system-view
(2) 配置全局Router ID。
router id router-id
缺省情况下,未配置全局Router ID。
(3) 启动BGP实例,并进入BGP实例视图。
bgp as-number [ instance instance-name ]
缺省情况下,系统没有运行BGP。
(4) 将远端PE配置为对等体。
peer { group-name | ipv4-address [ mask-length ] } as-number as-number
(5) 创建BGP EVPN地址族,并进入BGP EVPN地址族视图。
address-family l2vpn evpn
(6) 使能本地路由器与指定对等体/对等体组交换BGP EVPN路由的能力。
peer { group-name | ipv4-address [ mask-length ] } enable
缺省情况下,本地路由器不能与对等体/对等体组交换BGP EVPN路由。
EVPN VPLS组网中,需要在PE上配置本功能,使得PE向对等体/对等体组发布MPLS封装的EVPN路由,以便在PE间建立PW。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 进入BGP EVPN地址族视图。
address-family l2vpn evpn
(4) 配置向对等体/对等体组发布MPLS封装的EVPN路由。
peer { group name | ipv4-address [ mask-length ] | ipv6-address [ prefix-length ] } advertise encap-type mpls
缺省情况下,向对等体/对等体组发布VXLAN封装的EVPN路由。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 进入BGP EVPN地址族视图。
address-family l2vpn evpn
(4) 配置对于从对等体/对等体组接收的BGP消息,允许本地AS号在该消息的AS_PATH属性中出现,并配置允许出现的次数。
peer { group-name | ipv4-address [ mask-length ] } allow-as-loop [ number ]
缺省情况下,不允许本地AS号在接收消息的AS_PATH属性中出现。
(5) 开启BGP EVPN路由的VPN-Target过滤功能。
policy vpn-target
缺省情况下,BGP EVPN路由的VPN-Target过滤功能处于开启状态。
(6) (可选)配置BGP路由延迟优选。
route-select delay delay-value
缺省情况下,延迟时间为0秒,即路由优选不延迟。
(7) (可选)开启下一跳路由迭代变化延迟响应功能。
nexthop recursive-lookup [ non-critical-event ] delay [ delay-value ]
缺省情况下,下一跳路由迭代变化延迟响应功能处于关闭状态。
(8) 配置BGP路由反射。
a. 配置本机作为路由反射器,对等体/对等体组作为路由反射器的客户机。
peer { group-name | ipv4-address [ mask-length ] } reflect-client
缺省情况下,没有配置路由反射器及其客户机。
b. (可选)允许路由反射器在客户机之间反射EVPN路由。
reflect between-clients
缺省情况下,允许路由反射器在客户机之间反射EVPN路由。
c. (可选)配置路由反射器的集群ID。
reflector cluster-id { cluster-id | ipv4-address }
缺省情况下,每个路由反射器都使用自己的Router ID作为集群ID。
d. (可选)配置路由反射器对反射的EVPN路由进行过滤。
rr-filter { ext-comm-list-number | ext-comm-list-name }
缺省情况下,路由反射器不会对反射的EVPN路由进行过滤。
e. (可选)允许路由反射器反射路由时修改路由属性。
reflect change-path-attribute
缺省情况下,不允许路由反射器反射路由时修改路由属性。
f. (可选)配置将指定对等体/对等体组加入就近反射组。
peer { group-name | ipv4-address [ mask-length ] } reflect-nearby-group
缺省情况下,就近反射组中不存在任何对等体或对等体组
路由反射器在就近反射组内的对等体/对等体组之间反射路由时,不修改下一跳属性。
(9) 配置向EBGP对等体/对等体组发布路由时不改变下一跳。
peer { group-name | ipv4-address [ mask-length ] } next-hop-invariable
缺省情况下,向EBGP对等体/对等体组发布路由时会将下一跳改为自己的地址。
(10) 对来自对等体/对等体组的路由或发布给对等体/对等体组的路由应用路由策略。
peer { group-name | ipv4-address [ mask-length ] } route-policy route-policy-name { export | import }
缺省情况下,没有为对等体/对等体组指定路由策略。
(11) 配置向对等体/对等体组发布团体属性。
peer { group-name | ipv4-address [ mask-length ] } advertise-community
缺省情况下,不向对等体/对等体组发布团体属性。
(12) 配置Add-Path功能。
¡ 开启Add-Path功能。
peer { group-name | ipv4-address [ mask-length ] } additional-paths { receive | send } *
缺省情况下,未配置Add-path功能。
¡ 配置向指定对等体/对等体组发送的Add-Path优选路由的最大条数。
peer { group-name | ipv4-address [ mask-length ] } advertise additional-paths best number
缺省情况下,向指定对等体/对等体组发送的Add-Path优选路由的最大条数为1。
¡ 配置Add-Path优选路由的最大条数。
additional-paths select-best best-number
缺省情况下,Add-Path优选路由的最大条数为1。
请在用户视图下执行如下命令,复位或软复位BGP会话。
· 复位EVPN地址族下的BGP会话。
reset bgp [ instance instance-name ] { as-number | ipv4-address [ mask-length ] | all | external | group group-name | internal } l2vpn evpn
· 手工对EVPN地址族下的BGP会话进行软复位。
refresh bgp [ instance instance-name ] { ipv4-address [ mask-length ] | all | external | group group-name | internal } { export | import } l2vpn evpn
在PW模板中可以指定PW的属性,如PW的数据封装类型、是否使用控制字等。具有相同属性的PW可以通过引用相同的PW模板,实现对PW属性的配置,从而简化配置。
PW模板相关命令的详细介绍,请参见“MPLS命令参考”中的“MPLS L2VPN”。
同一条PW的两端PE必须配置相同的数据封装类型。
同一条PW的两端PE的控制字功能配置必须保持一致,即两端均开启控制字功能或均不开启控制字功能,否则会导致错包。
(1) 进入系统视图。
system-view
(2) 创建PW模板,并进入PW模板视图。
pw-class class-name
(3) 开启控制字功能。
control-word enable
缺省情况下,控制字功能处于关闭状态。
(4) PW数据封装类型。
pw-type { ethernet | vlan }
缺省情况下,PW数据封装类型为VLAN。
多归属站点组网中,冗余备份组中每个成员设备上的AC的配置应该保持一致。
ESI是ES的唯一标识,ESI相同的接口对应的链路属于同一个ES,报文可以在这些链路之间进行负载分担。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
¡ 进入三层接口视图。
interface interface-type interface-number
¡ 进入三层聚合接口视图。
interface route-aggregation interface-number
(3) 配置接口ESI。
esi esi-id
缺省情况下,未配置接口的ESI。
AC所在接口的状态、多归属成员设备数量或者接口下ESI值的频繁变化都会导致DF频繁选举,极大影响了网络的性能。通过本配置可以指定DF选举的时间间隔,避免频繁选举DF,保证网络的稳定性。
(1) 进入系统视图。
system-view
(2) 配置DF选举延迟时间。
evpn multihoming timer df-delay delay-value
缺省情况下,DF选举的延迟时间为3秒。
EVPN VPLS组网中,CE 1通过聚合口或S-trunk双归属接入PE 1和PE 2,PE 3为远端PE连接CE 2。CE 1选择PE 1侧发送流量至CE 2,CE 2通过PE 1和PE 2两侧均可将流量转发至CE 1。PE 1完成重启后,在PE 2发送MAC/IP发布路由同步CE 1的MAC地址之前,PE 1先发送携带下一跳信息的以太网自动发现路由至PE 3,导致PE 3查找CE 1的MAC地址转发流量时会将流量转发给PE 1和PE 2,此时PE 1未学习到CE 1的MAC地址,报文会被丢弃。
为解决上述问题,可在PE 1连接CE 1的接口上配置本功能,延迟发布以太网自动发现路由,使PE 1先学习到CE 1的MAC地址,再发布以太网自动发现路由,减少丢包。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 开启以太网自动发现路由延迟发布功能,并指定延迟发布时间。
evpn timer ad-delay delay-time
缺省情况下,以太网自动发现路由延迟发布功能处于关闭状态,即不延迟发布以太网自动发现路由。
在多归属站点组网中,用户需要重启其中一台PE时,重启该PE前,可以通过在该PE上执行本命令,来禁止通告以太网自动发现路由和以太网段路由,并撤销已经通告的该类路由,以便其他PE及时更新本地的EVPN路由表,确保PE的重启不会影响报文转发。
(1) 进入系统视图。
system-view
(2) 配置禁止通告以太网自动发现路由和以太网段路由,并撤销已经通告的该类路由。
evpn multihoming advertise disable
缺省情况下,允许通告EVPN以太网自动发现路由和以太网段路由。
多归属站点组网中,为冗余备份组成员上的AC配置ESI后,冗余备份组成员发送以太网自动发现路由和MAC/IP发布路由时会携带AC的以太网标签。如果对端设备无法识别以太网标签,为了与该对端设备互通,需要在本端设备上配置本命令,使得本端设备将发送的以太网自动发现路由和MAC/IP发布路由中的以太网标签字段填为0。
执行本命令后,设备会撤销已经发布的以太网自动发现路由和MAC/IP发布路由,并重新发布以太网标签字段为0的以太网自动发现路由和MAC/IP发布路由。
为三层主接口配置ESI后,如果该接口上的子接口未配置ESI,则子接口会继承主接口的ESI。此时,具有相同ESI的子接口不能关联相同的VSI。
(1) 进入系统视图。
system-view
(2) 配置发布以太网自动发现路由和MAC/IP发布路由时忽略以太网标签。
evpn multihoming advertise ignore-ethernet-tag
缺省情况下,PE发送以太网自动发现路由和MAC/IP发布路由时携带以太网标签。
在多归属组网中,冗余备份组的一台成员设备因故障等原因重启后,站点间的流量转发可能会失败。为了解决这个问题,可以在成员设备连接CE的接口上执行本配置。这样,当成员设备从故障中恢复且连接CE的接口状态变为Up时,成员设备会启动以太网段路由的延迟发送计时器,并对本命令指定的设备的BGP邻居状态进行监控。如果在计时器超时前,所有设备的BGP邻居状态均Up,则本地成员设备正常发送以太网段路由;否则,本地成员设备仅向BGP邻居状态为Up的设备发送以太网段路由。本地成员设备会根据收到的所有以太网段路由进行DF选举。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
¡ 进入三层接口视图。
interface interface-type interface-number
¡ 进入三层聚合接口视图。
interface route-aggregation interface-number
(3) 配置冗余备份组中的成员设备监视其它VTEP/PE设备的BGP邻居状态。
evpn track peer peer-address
缺省情况下,冗余备份组中的成员设备不会监视其它设备的BGP邻居状态。
PE可能会同时向远端PE通告MAC地址信息和ARP/ND信息。其中,ARP/ND信息中已经包含MAC地址信息。为了避免重复,可以执行本配置来禁止本端PE向远端PE通告MAC地址信息。执行本配置后,本端PE还会撤销已经发布的MAC地址信息。
(1) 进入系统视图。
system-view
(2) 进入VSI视图。
vsi vsi-name
(3) 进入EVPN实例视图。
evpn encapsulation mpls
(4) 配置禁止通告MAC地址信息,并撤销已经通告的MAC地址信息。
mac-advertising disable
缺省情况下,允许通告MAC地址信息。
PE可能会同时接收到远端PE通告的MAC地址信息和ARP信息。其中,ARP信息中包含MAC地址信息。为了避免重复,可以在PE上执行本配置来禁止EVPN从ARP信息中学习MAC地址表项,EVPN仅通过MAC地址信息学习远端MAC地址表项。
(1) 进入系统视图。
system-view
(2) 进入VSI视图。
vsi vsi-name
(3) 进入EVPN实例视图。
evpn encapsulation mpls
(4) 配置禁止EVPN从ARP信息中学习MAC地址表项。
arp mac-learning disable
缺省情况下,EVPN可以从ARP信息中学习MAC地址表项。
配置作为AC的三层接口的报文统计功能时,需要注意:
· 开启报文统计功能后,可以使用display l2vpn interface verbose命令查看作为AC的三层接口的报文统计信息,使用reset l2vpn statistics ac命令清除AC的报文统计信息。
· 只有为三层接口绑定了VSI实例,报文统计功能才会生效。如果在报文统计过程中修改绑定的VSI,则重新进行报文统计计数。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
¡ 进入三层以太网接口视图。
interface interface-type interface-number
¡ 进入三层聚合接口视图。
interface route-aggregation interface-number
(3) 开启作为AC的三层接口的报文统计功能。
ac statistics enable
缺省情况下,作为AC的三层接口的报文统计功能处于关闭状态。
EVPN E-Tree功能用来实现AC之间流量的隔离,以便更好地控制AC之间的访问,提高安全性。
(1) 进入系统视图。
system-view
(2) 进入VSI视图。
vsi vsi-name
(3) 进入EVPN实例视图。
evpn encapsulation mpls
(4) 开启EVPN E-Tree功能。
e-tree enable
缺省情况下,EVPN E-Tree功能处于关闭状态。
(5) 退回系统视图。
quit
quit
(6) 三层接口作为AC时,配置AC为Leaf角色。
a. 进入三层接口视图。
interface interface-type interface-number
b. 配置AC为Leaf角色。
xconnect vsi vsi-name leaf
未指定leaf参数时,AC为Root角色。
开启L2VPN告警功能后,当PW的up-down状态发生变化、PW删除或主备PW切换时会产生告警信息。生成的告警信息将发送到设备的SNMP模块,通过设置SNMP中告警信息的发送参数,来决定告警信息输出的相关属性。
有关告警信息的详细介绍,请参见“网络管理和监控配置指导”中的“SNMP”。
(1) 进入系统视图。
system-view
(2) 开启L2VPN告警功能。
snmp-agent trap enable l2vpn [ pw-delete | pw-switch | pw-up-down ] *
缺省情况下,L2VPN告警功能处于关闭状态。
配置本功能后,本端PE设备会向指定VSI内的所有AC和PW广播发送ARP请求报文/NS报文。如果本端PE收到CE的ARP应答/NA报文,则认为PE与CE之间的链路正常;若本端PE未在默认超时时间(2秒)内收到ARP应答/NA报文,则认为PE与CE之间的链路不通。
配置ping-ce/ping-ce ipv6命令前,需要先执行l2vpn ping ce source-mac命令配置发送端MAC地址的范围。
执行ping-ce/ping-ce ipv6命令时,需要注意:
· source-mac mac-address参数指定的源MAC地址必须在l2vpn ping ce source-mac命令配置的发送端MAC地址的范围之内,否则配置失败。
· source-ip source-ip参数指定的源IPv4/IPv6地址必须为当前设备接口下未配置的IPv4/IPv6地址。
· 指定的ip-address和source-ip source-ip必须处于同一网段内。
(1) 进入系统视图。
system-view
(2) 配置ping-ce操作中发送端MAC地址的范围。
l2vpn ping-ce source-mac start-mac-addres [ end-mac-addres ]
缺省情况下,未配置ping-ce中发送端MAC地址的范围。
可在任意视图下执行本命令,检测PE到CE之间IPv4链路的连通性。
ping-ce ip-address vsi name sender-ip source-ip [ source-mac source-mac ] [ -c count | -m wait-time | -s load-size ] *
可在任意视图下执行本命令,检测PE到CE之间IPv6链路的连通性。
ping-ce ipv6 ipv6-address vsi name source-ip source-ip [ source-mac source-mac ] [ -c count | -m wait-time ] *
在完成上述配置后,在任意视图下执行display命令可以显示配置后EVPN的运行情况,通过查看显示信息验证配置的效果。
display bgp group、display bgp peer、display bgp update-group命令的详细介绍请参见“三层技术-IP路由命令参考”中的“BGP”。
表1-1 EVPN显示和维护
操作 |
命令 |
显示BGP对等体组的信息 |
display bgp [ instance instance-name ] group l2vpn evpn [ group-name group-name ] |
显示BGP EVPN路由信息 |
display bgp [ instance instance-name ] l2vpn evpn [ peer ipv4-address { advertised-routes | received-routes } [ statistics ] | route-distinguisher route-distinguisher [ route-type { auto-discovery | es | imet | ip-prefix | mac-ip } ] [ evpn-route route-length [ advertise-info ] ] | route-type { auto-discovery | es | imet | ip-prefix | mac-ip } | statistics ] |
显示BGP对等体或对等体组的状态和统计信息 |
display bgp [ instance instance-name ] peer l2vpn evpn [ ipv4-address mask-length | { ipv4-address | group-name group-name } log-info | [ ipv4-address ] verbose ] |
显示BGP打包组的相关信息 |
display bgp [ instance instance-name ] update-group l2vpn evpn [ ipv4-address ] |
显示EVPN通过BGP自动发现的邻居信息 |
display evpn auto-discovery { { imet | mac-ip } [ mpls ] [ peer ip-address] [ vsi vsi-name ] | macip-prefix [ nexthop next-hop ] [ count ] } |
显示EVPN的ES信息 |
display evpn es { local [ vsi vsi-name ] [ esi esi-id ] [ verbose ] | remote [ vsi vsi-name ] [ esi esi-id ] [ nexthop next-hop ] } |
显示EVPN的ARP信息 |
display evpn route arp [ local | remote ] [ vpn-instance vpn-instance-name ] [ count ] |
显示EVPN的MAC地址信息 |
display evpn route mac [ mpls ] [ local | remote ] [ vsi vsi-name ] [ count ] |
显示EVPN的ND信息 |
display evpn route nd [ local | remote ] [ vpn-instance vpn-instance-name ] [ count ] |
显示EVPN的路由表信息 |
display evpn routing-table { vpn-instance vpn-instance-name } [ count ] |
显示EVPN VSI的相关信息 |
display evpn vsi [ name vsi-name ] [ verbose ] |
显示EVPN多归属组网中满足水平分割原则的接口信息 |
display l2vpn forwarding evpn split-horizon { ac interface interface-type interface-number | ac interface interface-type interface-number service-instance instance-id | tunnel tunnel-number } [ slot slot-number ] |
显示EVPN VPLS组网中EVPN的转发信息 |
display l2vpn forwarding evpn vsi [ name vsi-name ] [ slot slot-number ] [ verbose ] |
用户网络有两个站点,分别为CE 1和CE 2。CE 1和CE 2通过以太网接口分别接入PE 1和PE 2并希望通过骨干网运行EVPN VPLS功能实现二层互通。
图1-5 EVPN VPLS单归属配置组网图
设备 |
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
CE 1 |
GE2/0/0 |
10.1.1.10/24 |
P |
Loop0 |
3.3.3.3/32 |
PE 1 |
Loop0 |
1.1.1.1/32 |
|
GE2/0/0 |
11.1.1.2/24 |
|
GE2/0/0 |
- |
|
GE2/0/1 |
11.1.2.2/24 |
|
GE2/0/1 |
11.1.1.1/24 |
PE 2 |
Loop0 |
2.2.2.2/32 |
CE 2 |
GE2/0/0 |
10.1.1.20/24 |
|
GE2/0/0 |
- |
|
|
|
|
GE2/0/1 |
11.1.2.1/24 |
(1) 配置CE 1
<CE1> system-view
[CE1] interface gigabitethernet 2/0/0
[CE1-GigabitEthernet2/0/0] ip address 10.1.1.10 24
[CE1-GigabitEthernet2/0/0] quit
(2) 配置PE 1
# 配置LSR ID。
<PE1> system-view
[PE1] interface loopback 0
[PE1-LoopBack0] ip address 1.1.1.1 32
[PE1-LoopBack0] quit
[PE1] mpls lsr-id 1.1.1.1
# 开启L2VPN功能。
[PE1] l2vpn enable
# 全局使能LDP。
[PE1] mpls ldp
[PE1-ldp] quit
# 配置连接P的接口GigabitEthernet2/0/1,在此接口上使能LDP。
[PE1] interface gigabitethernet 2/0/1
[PE1-GigabitEthernet2/0/1] ip address 11.1.1.1 24
[PE1-GigabitEthernet2/0/1] mpls enable
[PE1-GigabitEthernet2/0/1] mpls ldp enable
[PE1-GigabitEthernet2/0/1] quit
# 在PE 1上运行OSPF,用于建立LSP和BGP邻居。
[PE1] ospf
[PE1-ospf-1] area 0
[PE1-ospf-1-area-0.0.0.0] network 11.1.1.0 0.0.0.255
[PE1-ospf-1-area-0.0.0.0] network 1.1.1.1 0.0.0.0
[PE1-ospf-1-area-0.0.0.0] quit
[PE1-ospf-1] quit
# 在PE 1和PE 2之间建立IBGP连接,并配置在二者之间通过BGP发布路由信息。
[PE1] bgp 100
[PE1-bgp-default] peer 2.2.2.2 as-number 100
[PE1-bgp-default] peer 2.2.2.2 connect-interface loopback 0
[PE1-bgp-default] address-family l2vpn evpn
[PE1-bgp-default-evpn] peer 2.2.2.2 enable
[PE1-bgp-default-evpn] peer 2.2.2.2 advertise encap-type mpls
[PE1-bgp-default-evpn] quit
[PE1-bgp-default] quit
# 创建VSI和EVPN实例,并指定EVPN采用MPLS封装,同时配置EVPN实例的RD与RT。
[PE1] vsi vpna
[PE1-vsi-vpna] evpn encapsulation mpls
[PE1-vsi-vpna-evpn-mpls] route-distinguisher 1:1
[PE1-vsi-vpna-evpn-mpls] vpn-target 1:1 export-extcommunity
[PE1-vsi-vpna-evpn-mpls] vpn-target 1:1 import-extcommunity
[PE1-vsi-vpna-evpn-mpls] quit
[PE1-vsi-vpna] quit
# 将接入CE 1的接口GigabitEthernet2/0/0与VSI绑定。
[PE1] interface gigabitethernet 2/0/0
[PE1-GigabitEthernet2/0/1] xconnect vsi vpna
[PE1-GigabitEthernet2/0/1] quit
(3) 配置P
# 配置LSR ID。
<P> system-view
[P] interface loopback 0
[P-LoopBack0] ip address 3.3.3.3 32
[P-LoopBack0] quit
[P] mpls lsr-id 3.3.3.3
# 全局使能LDP。
[P] mpls ldp
[P-ldp] quit
# 配置连接PE 1的接口GigabitEthernet2/0/0,在此接口上使能LDP。
[P] interface gigabitethernet 2/0/0
[P-GigabitEthernet2/0/0] ip address 11.1.1.2 24
[P-GigabitEthernet2/0/0] mpls enable
[P-GigabitEthernet2/0/0] mpls ldp enable
[P-GigabitEthernet2/0/0] quit
# 配置连接PE 2的接口GigabitEthernet2/0/1,在此接口上使能LDP。
[P] interface gigabitethernet 2/0/1
[P-GigabitEthernet2/0/1] ip address 11.1.2.2 24
[P-GigabitEthernet2/0/1] mpls enable
[P-GigabitEthernet2/0/1] mpls ldp enable
[P-GigabitEthernet2/0/1] quit
# 在P上运行OSPF,用于建立LSP。
[P] ospf
[P-ospf-1] area 0
[P-ospf-1-area-0.0.0.0] network 11.1.1.0 0.0.0.255
[P-ospf-1-area-0.0.0.0] network 11.1.2.0 0.0.0.255
[P-ospf-1-area-0.0.0.0] network 3.3.3.3 0.0.0.0
[P-ospf-1-area-0.0.0.0] quit
[P-ospf-1] quit
(4) 配置PE 2
# 配置LSR ID。
<PE2> system-view
[PE2] interface loopback 0
[PE2-LoopBack0] ip address 2.2.2.2 32
[PE2-LoopBack0] quit
[PE2] mpls lsr-id 2.2.2.2
# 开启L2VPN功能。
[PE2] l2vpn enable
# 全局使能LDP。
[PE2] mpls ldp
[PE2-ldp] quit
# 配置连接P的接口GigabitEthernet2/0/1,在此接口上使能LDP。
[PE2] interface gigabitethernet 2/0/1
[PE2-GigabitEthernet2/0/1] ip address 11.1.2.1 24
[PE2-GigabitEthernet2/0/1] mpls enable
[PE2-GigabitEthernet2/0/1] mpls ldp enable
[PE2-GigabitEthernet2/0/1] quit
# 在PE 2上运行OSPF,用于建立LSP。
[PE2] ospf
[PE2-ospf-1] area 0
[PE2-ospf-1-area-0.0.0.0] network 2.2.2.2 0.0.0.0
[PE2-ospf-1-area-0.0.0.0] network 11.1.2.0 0.0.0.255
[PE2-ospf-1-area-0.0.0.0] quit
[PE2-ospf-1] quit
# 在PE 1和PE 2之间建立IBGP连接,并配置在二者之间通过BGP发布路由信息。
[PE2] bgp 100
[PE2-bgp-default] peer 1.1.1.1 as-number 100
[PE2-bgp-default] peer 1.1.1.1 connect-interface loopback 0
[PE2-bgp-default] address-family l2vpn evpn
[PE2-bgp-default-evpn] peer 1.1.1.1 enable
[PE2-bgp-default-evpn] peer 1.1.1.1 advertise encap-type mpls
[PE2-bgp-default-evpn] quit
[PE2-bgp-default] quit
# 创建VSI和EVPN实例,并指定EVPN采用MPLS封装,同时配置EVPN实例的RD与RT。
[PE2] vsi vpna
[PE2-vsi-vpna] evpn encapsulation mpls
[PE2-vsi-vpna-evpn-mpls] route-distinguisher 1:1
[PE2-vsi-vpna-evpn-mpls] vpn-target 1:1 export-extcommunity
[PE2-vsi-vpna-evpn-mpls] vpn-target 1:1 import-extcommunity
[PE2-vsi-vpna-evpn-mpls] quit
[PE2-vsi-vpna] quit
# 将接入CE 2的接口GigabitEthernet2/0/0与VSI绑定。
[PE2] interface gigabitethernet 2/0/0
[PE2-GigabitEthernet2/0/1] xconnect vsi vpna
[PE2-GigabitEthernet2/0/1] quit
(5) 配置CE 2
<CE2> system-view
[CE2] interface gigabitethernet 2/0/0
[CE2-GigabitEthernet2/0/0] ip address 10.1.1.20 24
[CE2-GigabitEthernet2/0/0] quit
# 在PE 1上查看PW信息,可以看到建立了一条PW。
[PE1] display l2vpn pw
Flags: M - main, B - backup, E - ecmp, BY - bypass, H - hub link, S - spoke link
N - no split horizon, A - administration, ABY - ac-bypass
PBY - pw-bypass
Total number of PWs: 1
1 up, 0 blocked, 0 down, 0 defect, 0 idle, 0 duplicate
VSI Name: vpna
Peer PWID/RmtSite/SrvID In/Out Label Proto Flag Link ID State
2.2.2.2 - 775127/775127 EVPN M 8 Up
# 在PE 2上也可以看到PW信息。
[PE2] display l2vpn pw
Flags: M - main, B - backup, E - ecmp, BY - bypass, H - hub link, S - spoke link
N - no split horizon, A - administration, ABY - ac-bypass
PBY - pw-bypass
Total number of PWs: 1
1 up, 0 blocked, 0 down, 0 defect, 0 idle, 0 duplicate
VSI Name: vpna
Peer PWID/RmtSite/SrvID In/Out Label Proto Flag Link ID State
1.1.1.1 - 775127/775127 EVPN M 8 Up
# CE 1与CE 2之间能够ping通。
用户网络有两个站点,分别为CE 1和CE 2。CE 1通过聚合链路多归属于PE 1和PE 2,CE 2为PE 3下的单归属设备。CE 1和CE 2希望通过骨干网的EVPN VPLS功能二层互通。
图1-6 EVPN VPLS多归属配置组网图
设备 |
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
PE 1 |
Loop0 |
192.1.1.1/32 |
CE 1 |
RAGG1 |
100.1.1.1/24 |
|
GE2/0/0 |
- |
CE 2 |
GE2/0/0 |
100.1.1.2/24 |
|
GE2/0/1 |
10.1.1.1/24 |
PE 3 |
Loop0 |
192.3.3.3/32 |
|
GE2/0/2 |
10.1.3.1/24 |
|
GE2/0/0 |
- |
PE 2 |
Loop0 |
192.2.2.2/32 |
|
GE2/0/1 |
10.1.1.2/24 |
|
GE2/0/0 |
- |
|
GE2/0/2 |
10.1.2.2/24 |
|
GE2/0/1 |
10.1.2.1/24 |
|
|
|
|
GE2/0/2 |
10.1.3.2/24 |
|
|
|
(1) 配置CE 1
# 创建三层聚合接口1,采用静态聚合模式,并为其配置IP地址和子网掩码。
<CE1> system-view
[CE1] interface route-aggregation 1
[CE1-Route-Aggregation1] ip address 100.1.1.1 24
[CE1-Route-Aggregation1] quit
# 将接口GigabitEthernet2/0/0至GigabitEthernet2/0/1加入到聚合组1中。
[CE1] interface gigabitethernet 2/0/0
[CE1-GigabitEthernet2/0/0] port link-aggregation group 1
[CE1-GigabitEthernet2/0/0] quit
[CE1] interface gigabitethernet 2/0/1
[CE1-GigabitEthernet2/0/1] port link-aggregation group 1
[CE1-GigabitEthernet2/0/1] quit
(2) 配置PE 1
# 配置LSR ID。
<PE1> system-view
[PE1] interface loopback 0
[PE1-LoopBack0] ip address 192.1.1.1 32
[PE1-LoopBack0] quit
[PE1] mpls lsr-id 192.1.1.1
# 开启L2VPN功能。
[PE1] l2vpn enable
# 全局使能LDP。
[PE1] mpls ldp
[PE1-ldp] quit
# 配置连接PE 3的接口GigabitEthernet2/0/1,在此接口上使能LDP。
[PE1] interface gigabitethernet 2/0/1
[PE1-GigabitEthernet2/0/1] ip address 10.1.1.1 24
[PE1-GigabitEthernet2/0/1] mpls enable
[PE1-GigabitEthernet2/0/1] mpls ldp enable
[PE1-GigabitEthernet2/0/1] quit
# 配置连接PE 2的接口GigabitEthernet2/0/2,在此接口上使能LDP。
[PE1] interface gigabitethernet 2/0/2
[PE1-GigabitEthernet2/0/2] ip address 10.1.3.1 24
[PE1-GigabitEthernet2/0/2] mpls enable
[PE1-GigabitEthernet2/0/2] mpls ldp enable
[PE1-GigabitEthernet2/0/2] quit
# 在PE 1上运行OSPF,用于建立LSP和BGP邻居。
[PE1] ospf
[PE1-ospf-1] area 0
[PE1-ospf-1-area-0.0.0.0] network 10.1.1.0 0.0.0.255
[PE1-ospf-1-area-0.0.0.0] network 10.1.3.0 0.0.0.255
[PE1-ospf-1-area-0.0.0.0] network 192.1.1.1 0.0.0.0
[PE1-ospf-1-area-0.0.0.0] quit
[PE1-ospf-1] quit
# 在PE 1、PE 2和PE 3之间建立IBGP连接,并配置通过BGP发布路由信息。
[PE1] bgp 100
[PE1-bgp-default] peer 192.2.2.2 as-number 100
[PE1-bgp-default] peer 192.2.2.2 connect-interface loopback 0
[PE1-bgp-default] peer 192.3.3.3 as-number 100
[PE1-bgp-default] peer 192.3.3.3 connect-interface loopback 0
[PE1-bgp-default] address-family l2vpn evpn
[PE1-bgp-default-evpn] peer 192.2.2.2 enable
[PE1-bgp-default-evpn] peer 192.3.3.3 enable
[PE1-bgp-default-evpn] peer 192.2.2.2 advertise encap-type mpls
[PE1-bgp-default-evpn] peer 192.3.3.3 advertise encap-type mpls
[PE1-bgp-default-evpn] quit
[PE1-bgp-default] quit
# 在接入站点的接口GigabitEthernet2/0/0下配置ESI值。
[PE1] interface gigabitethernet 2/0/0
[PE1-GigabitEthernet2/0/0] esi 1.1.1.1.1
[PE1] quit
# 创建VSI和EVPN实例,并指定EVPN采用MPLS封装,同时配置EVPN实例的RD与RT。
[PE1] vsi vpna
[PE1-vsi-vpna] evpn encapsulation mpls
[PE1-vsi-vpna-evpn-mpls] route-distinguisher 1:1
[PE1-vsi-vpna-evpn-mpls] vpn-target 1:1 export-extcommunity
[PE1-vsi-vpna-evpn-mpls] vpn-target 1:1 import-extcommunity
[PE1-vsi-vpna-evpn-mpls] quit
[PE1-vsi-vpna] quit
# 将接入CE 1的接口GigabitEthernet2/0/0与VSI绑定。
[PE1] interface gigabitethernet 2/0/0
[PE1-GigabitEthernet2/0/0] xconnect vsi vpna
[PE1-GigabitEthernet2/0/0] quit
(3) 配置PE 2
# 配置LSR ID。
<PE2> system-view
[PE2] interface loopback 0
[PE2-LoopBack0] ip address 192.2.2.2 32
[PE2-LoopBack0] quit
[PE2] mpls lsr-id 192.2.2.2
# 开启L2VPN功能。
[PE1] l2vpn enable
# 全局使能LDP。
[PE2] mpls ldp
[PE2-ldp] quit
# 配置连接PE 3的接口GigabitEthernet2/0/1,在此接口上使能LDP。
[PE2] interface gigabitethernet 2/0/1
[PE2-GigabitEthernet2/0/1] ip address 10.1.2.1 24
[PE2-GigabitEthernet2/0/1] mpls enable
[PE2-GigabitEthernet2/0/1] mpls ldp enable
[PE2-GigabitEthernet2/0/1] quit
# 配置连接PE 1的接口GigabitEthernet2/0/2,在此接口上使能LDP。
[PE2] interface gigabitethernet 2/0/2
[PE2-GigabitEthernet2/0/2] ip address 10.1.3.2 24
[PE2-GigabitEthernet2/0/2] mpls enable
[PE2-GigabitEthernet2/0/2] mpls ldp enable
[PE2-GigabitEthernet2/0/2] quit
# 在PE 2上运行OSPF,用于建立LSP和BGP邻居。
[PE2] ospf
[PE2-ospf-1] area 0
[PE2-ospf-1-area-0.0.0.0] network 10.1.2.0 0.0.0.255
[PE2-ospf-1-area-0.0.0.0] network 10.1.3.0 0.0.0.255
[PE2-ospf-1-area-0.0.0.0] network 192.2.2.2 0.0.0.0
[PE2-ospf-1-area-0.0.0.0] quit
[PE2-ospf-1] quit
# 在PE 1、PE 2和PE 3之间建立IBGP连接,并配置通过BGP发布路由信息。
[PE2] bgp 100
[PE2-bgp-default] peer 192.1.1.1 as-number 100
[PE2-bgp-default] peer 192.1.1.1 connect-interface loopback 0
[PE2-bgp-default] peer 192.3.3.3 as-number 100
[PE2-bgp-default] peer 192.3.3.3 connect-interface loopback 0
[PE2-bgp-default] address-family l2vpn evpn
[PE2-bgp-default-evpn] peer 192.1.1.1 enable
[PE2-bgp-default-evpn] peer 192.3.3.3 enable
[PE2-bgp-default-evpn] peer 192.1.1.1 advertise encap-type mpls
[PE2-bgp-default-evpn] peer 192.3.3.3 advertise encap-type mpls
[PE2-bgp-default-evpn] quit
[PE2-bgp-default] quit
# 在接入站点的接口GigabitEthernet2/0/0下配置ESI值。
[PE2] interface gigabitethernet 2/0/0
[PE2-GigabitEthernet2/0/0] esi 1.1.1.1.1
[PE2] quit
# 创建VSI和EVPN实例,并指定EVPN采用MPLS封装,同时配置EVPN实例的RD与RT。
[PE1] vsi vpna
[PE1-vsi-vpna] evpn encapsulation mpls
[PE1-vsi-vpna-evpn-mpls] route-distinguisher 1:1
[PE1-vsi-vpna-evpn-mpls] vpn-target 1:1 export-extcommunity
[PE1-vsi-vpna-evpn-mpls] vpn-target 1:1 import-extcommunity
[PE1-vsi-vpna-evpn-mpls] quit
[PE1-vsi-vpna] quit
# 将连接CE 1的接口GigabitEthernet2/0/0与VSI绑定。
[PE1] interface gigabitethernet 2/0/0
[PE1-GigabitEthernet2/0/0] xconnect vsi vpna
[PE1-GigabitEthernet2/0/0] quit
(4) 配置PE 3
# 配置LSR ID。
<PE3> system-view
[PE3] interface loopback 0
[PE3-LoopBack0] ip address 192.3.3.3 32
[PE3-LoopBack0] quit
[PE3] mpls lsr-id 192.3.3.3
# 开启L2VPN功能。
[PE3] l2vpn enable
# 全局使能LDP。
[PE3] mpls ldp
[PE3-ldp] quit
# 配置连接PE 1和PE 2的接口GigabitEthernet2/0/1和GigabitEthernet2/0/2,并在这两个接口上使能LDP。
[PE3] interface gigabitethernet 2/0/1
[PE3-GigabitEthernet2/0/1] ip address 10.1.1.2 24
[PE3-GigabitEthernet2/0/1] mpls enable
[PE3-GigabitEthernet2/0/1] mpls ldp enable
[PE3-GigabitEthernet2/0/1] quit
[PE3] interface gigabitethernet 2/0/2
[PE3-GigabitEthernet2/0/2] ip address 10.1.2.2 24
[PE3-GigabitEthernet2/0/2] mpls enable
[PE3-GigabitEthernet2/0/2] mpls ldp enable
[PE3-GigabitEthernet2/0/2] quit
# 在PE 3上运行OSPF,用于建立LSP。
[PE3] ospf
[PE3-ospf-1] area 0
[PE3-ospf-1-area-0.0.0.0] network 192.3.3.3 0.0.0.0
[PE3-ospf-1-area-0.0.0.0] network 10.1.1.0 0.0.0.255
[PE3-ospf-1-area-0.0.0.0] network 10.1.2.0 0.0.0.255
[PE3-ospf-1-area-0.0.0.0] quit
[PE3-ospf-1] quit
# 在PE 1、PE 2和PE 3之间建立IBGP连接,并配置通过BGP发布路由信息。
[PE3] bgp 100
[PE3-bgp-default] peer 192.1.1.1 as-number 100
[PE3-bgp-default] peer 192.1.1.1 connect-interface loopback 0
[PE3-bgp-default] peer 192.2.2.2 as-number 100
[PE3-bgp-default] peer 192.2.2.2 connect-interface loopback 0
[PE3-bgp-default] address-family l2vpn evpn
[PE3-bgp-default-evpn] peer 192.1.1.1 enable
[PE3-bgp-default-evpn] peer 192.2.2.2 enable
[PE3-bgp-default-evpn] peer 192.1.1.1 advertise encap-type mpls
[PE3-bgp-default-evpn] peer 192.2.2.2 advertise encap-type mpls
[PE3-bgp-default-evpn] quit
[PE3-bgp-default] quit
# 创建VSI和EVPN实例,并指定EVPN采用MPLS封装,同时配置EVPN实例的RD与RT。
[PE3] vsi vpna
[PE3-vsi-vpna] evpn encapsulation mpls
[PE3-vsi-vpna-evpn-mpls] route-distinguisher 1:1
[PE3-vsi-vpna-evpn-mpls] vpn-target 1:1 export-extcommunity
[PE3-vsi-vpna-evpn-mpls] vpn-target 1:1 import-extcommunity
[PE3-vsi-vpna-evpn-mpls] quit
[PE3-vsi-vpna] quit
#将接入CE 2的接口GigabitEthernet2/0/0与VSI绑定。
[PE3] interface gigabitethernet 2/0/0
[PE3-GigabitEthernet2/0/0] xconnect vsi vpna
[PE3-GigabitEthernet2/0/0] quit
(5) 配置CE 2
<CE2> system-view
[CE2] interface gigabitethernet 2/0/0
[CE2-GigabitEthernet2/0/0] ip address 100.1.1.2 24
[CE2-GigabitEthernet2/0/0] quit
# 在PE 1上查看PW信息,可以看到已经建立了PW。
<PE1> display l2vpn pw
Flags: M - main, B - backup, E - ecmp, BY - bypass, H - hub link, S - spoke link
N - no split horizon, A - administration, ABY - ac-bypass
PBY - pw-bypass
Total number of PWs: 2
1 up, 1 blocked, 0 down, 0 defect, 0 idle, 0 duplicate
VSI name: vpna
Peer PWID/RmtSite/SrvID In/Out Label Proto Flag Link ID State
192.3.3.3 - 710263/710265 EVPN M 8 Up
192.2.2.2 - 710263/710124 EVPN M 9 Up
# 在PE 1上查看本地ES信息。
<PE1> display evpn es local
Redundancy mode: A - All-active, S - Single-active
VSI name : vpna
ESI Tag ID DF address Mode State ESI label
0001.0001.0001.0001.0001 - 192.1.1.1 A Up 775128
# 在PE 1上查看远端ES信息。
<Sysname> display evpn es remote
Control Flags: P - Primary, B - Backup, C - Control word
VSI name : vpna
ESI : 0001.0001.0001.0001.0001
Ethernet segment routes :
192.2.2.2
A-D per ES routes :
Peer IP Remote Redundancy mode
192.2.2.2 All-active
A-D per EVI routes :
Tag ID Peer IP Control Flags
- 192.2.2.2 B
# 在PE 2上也可以看到PW信息。
<PE2> display l2vpn pw
Flags: M - main, B - backup, E - ecmp, BY - bypass, H - hub link, S - spoke link
N - no split horizon, A - administration, ABY - ac-bypass
PBY - pw-bypass
Total number of PWs: 2
1 up, 1 blocked, 0 down, 0 defect, 0 idle, 0 duplicate
VSI name: vpna
Peer PWID/RmtSite/SrvID In/Out Label Proto Flag Link ID State
192.1.1.1 - 710124/710263 EVPN M 8 Up
192.3.3.3 - 710124/710265 EVPN M 9 Up
# 在PE 3上也可以看到PW信息。
<PE3> display l2vpn pw
Flags: M - main, B - backup, E - ecmp, BY - bypass, H - hub link, S - spoke link
N - no split horizon, A - administration, ABY - ac-bypass
PBY - pw-bypass
Total number of PWs: 2
2 up, 0 blocked, 0 down, 0 defect, 0 idle, 0 duplicate
VSI name: vpna
Peer PWID/RmtSite/SrvID In/Out Label Proto Flag Link ID State
192.1.1.1 - 710265/710263 EVPN M 8 Up
192.2.2.2 - 710265/710124 EVPN M 9 Up
# CE 1与CE 2之间能够ping通,当其中一条PW故障时,CE 1与CE 2之间仍能够ping通。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!