04-EVPN VPLS配置
本章节下载: 04-EVPN VPLS配置 (865.70 KB)
目 录
1.9.10 配置发布以太网自动发现路由和MAC/IP发布路由时忽略以太网标签
1.10.3 配置禁止EVPN从ARP/ND信息中学习MAC地址表项
1.10.4 配置AC的源MAC地址检查表项并开启AC的源MAC地址检查功能
1.14.4 配置VSI实例下的EVPN实例的E-Tree功能
1.20.2 EVPN VPLS多归属配置举例(聚合链路接入)
1.20.3 EVPN VPLS多归属配置举例(S-Trunk接入)
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、GRE隧道或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从AC上接收到泛洪流量后,向该AC关联的VSI内的所有其他AC和所有PW泛洪该报文。
PE从PW上接收到泛洪流量后,向该PW所属VSI内的所有AC泛洪该报文。
为避免环路,一般的二层网络都要求使用环路预防协议,比如STP(Spanning Tree Protocol,生成树协议)。但在骨干网的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,需要在冗余备份组中选举一个PE作为DF(Designated Forwarder,指定转发者),负责将泛洪流量转发给本地站点。其他PE作为BDF(Backup DF,备份DF),不会向本地CE转发泛洪流量。多归属成员通过发送以太网段路由,向其它PE通告ES及其连接的PE信息,仅配置了ESI的PE会接收以太网段路由并根据其携带的ES、PE信息选举出DF。
设备支持多种DF选举算法,用户可以根据业务需要灵活地选择DF选举算法,使组网中DF能够均匀分布,提高网络设备的使用率。
图1-3 DF选举
· 基于VLAN Tag的DF选举算法
基于VLAN Tag的DF选举算法根据VLAN Tag和VTEP的IP地址为每个AC选举DF。
图1-4 基于VLAN Tag的DF选举
如图1-4所示,以允许VLAN Tag 4通过的AC 1的DF选举为例,基于VLAN Tag的DF选举算法为:
a. 选取AC内允许通过的最小VLAN Tag代表该AC。在本例中,代表AC 1的VLAN Tag为4。
b. VTEP根据接收到的以太网段路由,对携带相同ESI的路由中的源IP地址按升序排列,编号从0开始。在本例中,源IP 1.1.1.1、2.2.2.2对应的编号依次为0、1。
c. 根据VLAN Tag除以N的余数M来选举DF,N代表冗余备份组中成员的数量,M对应的编号为该AC的DF。在本例中,4除以2的余数为0,即AC 1的DF为编号为0的VTEP 1。
· 基于优先级的DF选举算法
基于优先级的DF选举算法根据DF选举优先级、DP(Don't Preempt Me,不可回切)位和VTEP的IP地址为每个ES选举DF。其中,DP位的取值包括:
¡ 1:表示开启了基于优先级DF选举算法不回切功能。即当前设备被选举为DF后,即使后续选举出了新的设备作为DF,依然使用当前设备作为DF。
¡ 0:表示关闭了基于优先级DF选举算法不回切功能。即当前设备被选举为DF后,如果后续选举出了新的设备作为DF,则直接使用新的设备作为DF。
如图1-5所示,以ES 1、ES 2的DF选举为例,基于优先级的DF选举算法为:
a. 同一ES内DF选举优先级(数值越大则优先级越高)最高的VTEP作为该ES的DF。在本例中,选举VTEP 2作为ES 1的DF。
b. 若优先级相同,则DP位为1的VTEP作为DF。
c. 若DP位相同,则IP地址小的VTEP作为DF。在本例中,选举VTEP 1作为ES 2的DF。
EVPN VPLS组网场景支持的冗余备份模式包括:单活冗余模式和多活冗余模式。
· 单活冗余备份模式下,冗余备份组中所有PE会选举一台PE作为主用设备转发流量,其余PE作为主设备的备份,当主用设备故障时,备份设备能够代替主用设备转发流量。
· 多活冗余备份模式下,冗余备份组中的PE均参与单播数据报文的转发,实现负载分担。
在多活模式下,冗余备份组中的PE都会通过MP-BGP向远端PE通告同一ES的信息。即使只有一个PE学习到了MAC/ARP信息并发布给远端PE,远端PE除了会添加下一跳为该PE的IP地址,还会添加下一跳为冗余备份组中其他PE的IP地址,以实现自动在不同PE之间形成等价路径。该功能称为Aliasing。
如图1-6所示,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-6 FRR功能原理图
为了避免广播发送的ARP请求报文占用核心网络带宽,PE会根据接收到的ARP请求和ARP应答报文、BGP EVPN路由在本地建立ARP泛洪抑制表项。当PE再收到本地站点内虚拟机请求其它虚拟机MAC地址的ARP请求时,优先根据ARP泛洪抑制表项进行代答。如果没有对应的表项,则通过PW将ARP请求泛洪到其他站点。ARP泛洪抑制功能可以大大减少ARP泛洪的次数。
图1-7 ARP泛洪抑制示意图
如图1-7所示,ARP泛洪抑制的处理过程如下:
(2) 虚拟机CE 1发送ARP请求,获取CE 2的MAC地址。
(3) PE 1根据接收到的ARP请求,建立CE 1的ARP泛洪抑制表项,向VSI内的本地CE和远端PE(PE 2和PE 3)泛洪该ARP请求(图1-7以单播路由泛洪方式为例)。PE 1还会通过BGP EVPN将该表项同步给PE 2和PE 3。
(4) 远端PE解封装报文,获取原始的ARP请求报文后,向VSI内的本地CE泛洪该ARP请求。
(5) CE 2接收到ARP请求后,回复ARP应答报文。
(6) PE 2接收到ARP应答后,建立CE 2的ARP泛洪抑制表项,通过PW将ARP应答发送给PE 1。PE 2通过BGP EVPN将该表项同步给PE 1和PE 3。
(7) PE 1解封装报文并获取原始的ARP应答,将ARP应答报文发送给CE 1。
(8) 在PE 1上建立ARP泛洪抑制表项后,CE 4发送ARP请求,获取CE 1的MAC地址。
(9) PE 1接收到ARP请求后,建立CE 4的ARP泛洪抑制表项,并查找本地ARP泛洪抑制表项,根据已有的表项回复ARP应答报文,不会对ARP请求进行泛洪。
(10) CE 3发送ARP请求,获取CE 1的MAC地址。
(11) PE 3接收到ARP请求后,建立CE 3的ARP泛洪抑制表项,并查找ARP泛洪抑制表项,根据已有的表项(PE 1通过BGP EVPN同步)回复ARP应答报文,不会对ARP请求进行泛洪。
控制字字段位于MPLS标签栈和二层数据之间,用来携带额外的二层数据帧的控制信息,如序列号等。控制字具有如下功能:
· 避免报文乱序:在多路径转发的情况下,报文有可能产生乱序,此时可以通过控制字的序列号字段对报文进行排序重组。
· 指示净载荷长度:如果PW上传送报文的净载荷长度小于64字节,则需要对报文进行填充,以避免报文发送失败。此时,通过控制字的载荷长度字段可以确定原始载荷的长度,以便从填充后的报文中正确获取原始的报文载荷。
在EVPN VPLS中,控制字字段是可选的,由两端的配置共同决定是否携带控制字:如果两端PE上都使能了控制字功能,则报文中携带控制字字段;否则,报文中不携带控制字字段。
不同类型的数据流可能通过同一条PW来传输,这些数据流在PE节点上封装完全相同的内层标签。封装了内层标签的报文到达P节点时,尽管P节点上存在多条隧道可以进行负载分担,但同一条PW的多条数据流仍然只能选择同一条路径转发,不能针对不同的数据流进行负载分担。L2VPN流标签功能可以实现在P设备上针对不同的数据流进行负载分担。
如图1-8所示,在两端的PE节点上均开启L2VPN流标签功能后,入口PE对数据报文进行封装时,会在内层标签前加入一个流标签(Flow label)字段,不同类型的数据流可以添加不同的流标签。P节点根据流标签进行负载分担。出口PE剥离内层标签和流标签后,将报文转发到本地站点。
图1-8 L2VPN流标签示意图
PE节点上的L2VPN流标签能力分为:
· 流标签接收能力:PE从PW上接收到报文后,能够识别报文中的流标签,并在解封装时删除流标签字段。
· 流标签发送能力:PE在通过PW发送报文时,会为报文添加流标签字段。
EVPN VPLS组网中两端PE的L2VPN流标签能力需要手工指定,由用户保证两端PE的L2VPN流标签能力匹配,即一端具有接收能力、另一端具有发送能力。否则会导致错包。
EVPN VPLS组网中两端PE不允许仅单边配置L2VPN流标签功能,否则会导致错包。
MAC地址迁移是指虚拟机或主机从一个ES迁移到另一个ES。原ES连接的PE无法感知MAC地址已经迁移到其他ES段。新迁移到的ES所在PE需要重新通告该MAC/IP路由。原PE在收到此路由后,撤销之前通告的路由。MAC地址每次迁移,迁移序列号依次递增,以便在MAC地址多次迁移时,通过序列号来标识最近一次迁移。
在EVPN VPLS组网中,属于同一个EVPN实例的所有AC均可以互相访问。EVPN承载接入用户的网络中,为了提高用户的安全性,减少用户之间的相互影响,通常需要控制AC侧用户之间的相互访问。EVPN E-Tree功能通过将AC分为Root和Leaf角色,实现了同一EVPN实例内AC之间单播流量和泛洪流量(广播、组播和未知单播流量)的隔离:
· Leaf AC连接的用户只能和Root AC连接的用户相互访问。
· 不同Leaf AC连接的用户之间相互隔离。
· Root AC连接的用户既可以和其它Root AC连接的用户相互通信,也可以和Leaf AC连接的用户相互通信。
图1-9 EVPN E-Tree示意图
对于同一PE连接的本地AC之间的流量,EVPN E-Tree通过如下方式实现流量隔离:
· PE从Leaf AC接收到报文后,仅将其转发到Root AC,不会转发到其他的Leaf AC。
· PE从Root AC接收到报文后,将其转发给同一VSI内的所有本地AC。
不同PE连接的AC之间互访时,EVPN E-Tree通过为MAC地址添加Leaf标记,实现已知单播流量之间的隔离:
(1) PE从Leaf AC接收到报文后,学习报文的源MAC地址,并为该MAC地址添加Leaf标记。
(2) PE通过EVPN的MAC/IP发布路由将MAC地址发布给远端PE,EVPN路由中携带E-Tree扩展团体属性,在该属性中携带Leaf标记。
(3) 远端PE将携带Leaf标记的MAC地址添加到MAC地址表中。
(4) 远端PE从本地AC接收到报文后,根据目的MAC地址查找MAC地址表。如果查找到的表项携带Leaf标记,则表示目的MAC地址连接的AC为Leaf AC;否则,为Root AC。
(5) 远端PE根据该报文所属AC的角色及目的MAC地址连接AC的角色,决定如何处理该报文:
¡ 如果报文来自Root AC,则转发该报文。
¡ 如果报文来自Leaf AC,则目的MAC地址连接Leaf AC时,丢弃该报文;目的MAC地址连接Root AC时,转发该报文。
开启EVPN E-Tree功能后,PE为E-Tree分配Leaf标签,将该标签添加到E-Tree扩展团体属性中,并通过EVPN的以太网自动发现路由发布给远端PE。
不同PE连接的AC之间互访时,EVPN E-Tree通过为泛洪流量添加Leaf标签,实现泛洪流量之间的隔离:
(1) PE从Leaf AC接收到报文后,为其添加Leaf标签,并添加私网标签和公网标签后,将该报文发送给远端PE。
(2) 远端PE剥离公网标签和私网标签后,如果发现报文携带Leaf标签,则表示该报文来自Leaf AC,仅将其发送给本地的Root AC,不会发送给Leaf AC。
在实际组网中,可能会存在传统的VPLS网络与EVPN VPLS网络共存的情况。LDP PW或静态PW接入EVPN PW功能,通过将VPLS网络中的LDP PW或静态PW看作EVPN VPLS网络的AC(该PW称为UPW),实现报文在EVPN PW与UPW之间相互转发,从而实现VPLS网络与EVPN VPLS网络的互通。
本功能不仅支持一条LDP PW或静态PW接入一条EVPN PW,还支持将两条LDP PW或静态PW多归属接入两条EVPN PW。如图1-10所示,在VPLS网络中,PE 1与PE 2、PE 3分别建立主备LDP PW或静态PW,该PW称为UPW;在EVPN VPLS网络中,PE 4与PE 2、PE 3分别建立EVPN PW。UPW作为EVPN VPLS网络中的AC,PE 2或PE 3从UPW接收到报文后,会解除MPLS封装,查找MAC地址表获取到对应的EVPN PW,为报文添加该EVPN PW对应的MPLS封装,并将其转发给PE 4;PE 2或PE 3从EVPN PW接收报文的处理方法与此类似。
图1-10 LDP PW或静态PW接入EVPN PW组网示意图
EVPN VPLS配置任务如下:
(1) 配置VSI
a. 创建VSI
b. (可选)配置VSI参数
(2) 配置EVPN实例
(3) 配置AC与VSI关联
(4) 配置BGP发布EVPN路由
c. (可选)控制BGP EVPN路由的优选和发布
d. (可选)维护BGP会话
(5) (可选)配置PW模板
(6) (可选)配置多归属站点
a. 配置接口的ESI
b. (可选)配置DF选举算法
c. (可选)配置DF选举延迟时间
d. (可选)配置以太网自动发现路由延迟发布功能
e. (可选)配置EVPN VPLS的FRR功能
f. (可选)开启VSI忽略AC状态功能
g. (可选)配置禁止通告以太网自动发现路由和以太网段路由
h. (可选)配置发布以太网自动发现路由和MAC/IP发布路由时忽略以太网标签
i. (可选)配置成员设备监视BGP邻居状态
(7) (可选)管理远端MAC地址和远端ARP信息学习
¡ 配置AC的源MAC地址检查表项并开启AC的源MAC地址检查功能
(8) (可选)优化和维护EVPN VPLS网络
(9) (可选)开启EVPN E-Tree功能
(10) (可选)配置LDP PW或静态PW接入EVPN PW
(11) (可选)优化和维护EVPN VPLS网络
standard工作模式下,仅CSPEX-1802X、CSPEX-1812X-E、CEPC-CQ8L单板支持本功能。
sdn-wan工作模式下,仅CSPEX类单板(CSPEX-1204、CSPEX-1104-E除外)、SPE类单板和CEPC类单板支持本功能。
EVPN VPLS功能与EVPN数据中心互联支持双ED功能互斥,请不要在EVPN VPLS组网中配置evpn edge group命令。EVPN数据中心互联支持双ED功能的详细介绍请参见“EVPN配置指导”中的“EVPN数据中心互联”。
EVPN VPLS组网场景中配置VSI参数时,不支持mac-table limit和mac-table limit drop-unknown命令功能。
(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的广播、组播或未知单播抑制带宽。
restrain { broadcast | multicast | unknown-unicast } bandwidth
缺省情况下,VSI的广播、组播、未知单播抑制带宽均为5120kbps。
(7) 配置VSI的MAC地址学习功能。相关命令和使用指导请参见“MPLS配置指导”中的“VPLS”。
mac-learning enable
缺省情况下,VSI的MAC地址学习功能处于开启状态。
创建EVPN实例后,可以为其配置RD和RT属性。PE在发布EVPN路由时,携带对应EVPN实例视图下配置的RD和RT。
EVPN实例的创建方式包括以下几种:
· 系统视图下创建EVPN实例:创建EVPN实例后,不同的VSI均可以关联该EVPN实例,无需在各个VSI下重复配置相同的EVPN实例,以简化配置。
· VSI实例下创建EVPN实例:创建EVPN实例时,该EVPN实例直接与该VSI关联,无需手动关联VSI与EVPN实例。
一个VSI实例仅能关联一个EVPN实例。
VSI实例视图下创建EVPN实例后,该VSI不能与系统视图下的EVPN实例关联;反之亦然。
(1) 进入系统视图。
system-view
(2) 创建EVPN实例,并进入EVPN实例视图。
evpn instance instance-name
(3) 配置EVPN实例的RD。
route-distinguisher route-distinguisher
缺省情况下,未指定EVPN实例的RD。
(4) 配置EVPN实例的Route Target属性。
vpn-target vpn-target&<1-8> [ both | export-extcommunity | import-extcommunity ]
缺省情况下,未指定EVPN实例的Route Target属性。
参数 |
使用说明 |
export-extcommunity |
不同EVPN实例的Export target不能相同;不同视图(系统视图、VSI视图、VPN实例视图、公网实例视图、交叉连接组视图)下EVPN实例的Export target也不能相同 |
import-extcommunity |
VPN实例、公网实例、各视图下EVPN实例的Import target建议不要与交叉连接组EVPN实例的Export target相同,反之亦然 |
(5) (可选)配置EVPN实例引用PW模板。
pw-class class-name
缺省情况下,EVPN实例未引用PW模板。
执行本配置指定引用PW模板后,该PW模板将应用于当前EVPN实例下建立的所有PW。
(6) (可选)指定引用的隧道策略。
tunnel-policy tunnel-policy-name
(7) (可选)配置EVPN的出方向路由策略。
import route-policy route-policy
缺省情况下,未配置EVPN的出方向路由策略,即不对发布的路由进行过滤。
(8) (可选)配置EVPN的入方向路由策略。
import route-policy route-policy
缺省情况下,未配置EVPN的入方向路由策略,即如果接收到的路由携带的Route Target属性中存在与本地配置的Import Target相同的值,则接收该路由。
(9) 退回系统视图。
quit
(10) 进入VSI视图。
vsi vsi-name
(11) 配置VSI与EVPN实例关联。
evpn encapsulation mpls binding instance instance-name vsi-tag tag-id
缺省情况下,VSI未关联EVPN实例。
(1) 进入系统视图。
system-view
(2) 进入VSI视图。
vsi vsi-name
(3) 创建EVPN实例,并进入VSI实例下的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属性。
参数 |
使用说明 |
export-extcommunity |
不同VSI实例下EVPN实例的Export target不能相同;不同视图(系统视图、VSI视图、VPN实例视图、公网实例视图、交叉连接组视图)下EVPN实例的Export target也不能相同 |
import-extcommunity |
VPN实例、公网实例、各视图下EVPN实例的Import target建议不要与交叉连接组EVPN实例的Export target相同,反之亦然 |
(6) (可选)配置EVPN实例引用PW模板。
pw-class class-name
缺省情况下,EVPN实例未引用PW模板。
执行本配置指定引用PW模板后,该PW模板将应用于当前EVPN实例下建立的所有PW。
(7) (可选)指定引用的隧道策略。
tunnel-policy tunnel-policy-name
缺省情况下,未引用隧道策略。
(8) (可选)配置EVPN的出方向路由策略。
export route-policy route-policy
缺省情况下,未配置EVPN的出方向路由策略,即不对发布的路由进行过滤。
(9) (可选)配置EVPN的入方向路由策略。
import route-policy route-policy
缺省情况下,未配置EVPN的入方向路由策略,即如果接收到的路由携带的Route Target属性中存在与本地配置的Import Target相同的值,则接收该路由。
将三层接口与VSI关联后,从三层接口接收到的报文,将通过查找关联VSI的MAC地址表进行转发。
本配置中各命令的详细介绍,请参见“MPLS命令参考”中的“VPLS”。
(1) 进入系统视图。
system-view
(2) 进入三层接口视图。
interface interface-type interface-number
(3) 将三层接口与VSI关联。
xconnect vsi vsi-name [ access-mode { ethernet | vlan } | umr-preferred ] * [ track track-entry-number&<1-3> ]
缺省情况下,三层接口未关联VSI。
将以太网服务实例与VSI关联后,从该接口接收到的、符合以太网服务实例报文匹配规则的报文,将通过查找关联VSI的MAC地址表进行转发。以太网服务实例提供了多种报文匹配规则(包括接口接收到的所有报文、所有携带VLAN Tag的报文和所有不携带VLAN Tag的报文等),为报文关联VSI提供了更加灵活的方式。
本配置中各命令的详细介绍,请参见“MPLS命令参考”中的“VPLS”。
不能通过重复执行encapsulation命令修改报文匹配规则。如需修改报文匹配规则,请先通过undo encapsulation命令删除报文匹配规则,再执行encapsulation命令。
删除以太网服务实例下的报文匹配规则后,会自动取消以太网服务实例与VSI的关联。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
¡ 进入二层以太网接口视图。
interface interface-type interface-number
¡ 进入二层聚合接口视图。
interface bridge-aggregation interface-number
(3) 创建以太网服务实例,并进入以太网服务实例视图。
service-instance instance-id
(4) 匹配报文的外层VLAN tag。
encapsulation s-vid vlan-id
缺省情况下,未配置报文匹配规则。
(5) 将以太网服务实例与VSI关联。
xconnect vsi vsi-name [ access-mode { ethernet | vlan } | umr-preferred ] * [ 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路由优选。
¡ 为指定对等体/对等体组设置高优先级,路由选路时优选从该对等体/对等体组学习到的路由。
peer { group-name | ipv4-address [ mask-length ] | ipv6-address [ prefix-length ] } high-priority
缺省情况下,BGP不为指定对等体/对等体组设置高优先级,选路规则不发生变化。
¡ 配置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) 配置BGP EVPN路由过滤。
¡ 对来自对等体/对等体组的路由或发布给对等体/对等体组的路由应用路由策略。
peer { group-name | ipv4-address [ mask-length ] } route-policy route-policy-name { export | import }
缺省情况下,没有为对等体/对等体组指定路由策略。
¡ 为对等体/对等体组设置基于二层ACL的路由过滤策略。
peer { group-name | ipv4-address [ mask-length ] | ipv6-address [ prefix-length ] } filter-policy { mac-acl-number | name mac-acl-name } { export | import }
缺省情况下,没有为对等体/对等体组设置基于二层ACL的路由过滤策略。
在二层ACL中,rule [ rule-id ] { deny | permit } dest-mac dest-address dest-mask命令配置的规则用来过滤携带指定MAC地址的MAC/IP发布路由。除了上述规则之外,二层ACL中的其他规则对EVPN路由的过滤不生效。
(11) 配置向对等体/对等体组发布团体属性或Large团体属性。
¡ 配置向对等体/对等体组发布团体属性。
peer { group-name | ipv4-address [ mask-length ] } advertise-community
缺省情况下,不向对等体/对等体组发布团体属性。
¡ 配置向对等体/对等体组发布Large团体属性。
peer { group-name | ipv4-address [ mask-length ] } advertise-large-community
缺省情况下,不向对等体/对等体组发布Large团体属性。
(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 ] | ipv6-address [ prefix-length ] | all | external | group group-name | internal } l2vpn evpn
· 手工对EVPN地址族下的BGP会话进行软复位。
refresh bgp [ instance instance-name ] { ipv4-address [ mask-length ] | ipv6-address [ prefix-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。
(5) 配置流标签功能。
flow-label { both | receive | send } static
缺省情况下,流标签功能处于关闭状态。
目前,EVPN VPLS仅支持静态流标签,即必须指定static参数,否则流标签功能不生效。
EVPN VPLS多归属站点组网中,冗余备份组中的所有PE上的AC的配置应该保持一致:
· 冗余备份组中的所有PE必须为EVPN实例配置相同的RD。
· 同一个二层接口上,请不要将多于一个的以太网服务实例关联到同一VSI。
· 作为AC的三层子接口不支持QinQ终结功能;该子接口上配置模糊的Dot1q终结功能时,要求接入模式配置为Ethernet(相关命令为xconnect vsi)。有关QinQ终结和Dot1q终结的介绍,请参见“二层技术-以太网交换配置指导”中的“VLAN终结”。
主接口及其子接口上均可以配置ESI:
· 若主接口及其子接口上都配置了ESI,或仅在子接口上配置了ESI,则子接口的ESI以该子接口上的配置为准,子接口的ES相关配置(evpn redundancy-mode、evpn df-election algorithm、evpn df-election preference、evpn df-election preference non-revertive和evpn timer es-delay命令)也以该子接口上的配置为准。
· 若仅在主接口上配置了ESI,则子接口继承主接口的ESI和ES相关配置。即使 子接口上执行了ES相关配置,也不会生效。
ESI是ES的唯一标识,ESI相同的接口(或VSI)属于同一个ES,报文可以在这些接口(或VSI)之间进行负载分担。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
¡ 进入二层以太网接口视图。
interface interface-type interface-number
¡ 进入二层聚合接口视图。
interface bridge-aggregation interface-number
¡ 进入三层接口视图。
interface interface-type interface-number
¡ 进入三层聚合接口视图。
interface route-aggregation interface-number
(3) 配置接口ESI。
esi esi-id
缺省情况下,未配置接口的ESI。
(1) 进入系统视图。
system-view
(2) 进入VSI视图。
vsi vsi-name
(3) 配置VSI的ESI。
esi esi-id
缺省情况下,未配置VSI的ESI。
多归属站点的冗余备份模式包括单活冗余模式和多活冗余模式。
冗余备份组中的各PE分别与远端PE建立EVPN PW,若需两条EVPN PW间形成主备关系,则使用单活冗余模式;若需EVPN PW间形成等价负载分担,则使用多活冗余模式。
多归属站点与S-Trunk功能配合使用时,如果多归属站点的冗余备份模式为单活模式,则需要通过s-trunk port-role auto命令将S-Trunk成员接口的角色配置为自动模式;如果多归属站点的冗余备份模式为多活模式,则需要通过s-trunk port-role primary命令将S-Trunk成员接口的角色配置为强制主用接口。S-Trunk功能的详细介绍,请参见“可靠性配置指导”中的“S-Trunk”。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
¡ 进入二层以太网接口视图。
interface interface-type interface-number
¡ 进入二层聚合接口视图。
interface bridge-aggregation interface-number
¡ 进入三层接口视图。
interface interface-type interface-number
¡ 进入三层聚合接口视图。
interface route-aggregation interface-number
(3) 配置接口的冗余备份模式。
evpn redundancy-mode { all-active | single-active }
缺省情况下,冗余备份模式为多活冗余模式。
(1) 进入系统视图。
system-view
(2) 进入VSI视图。
vsi vsi-name
(3) 配置VSI的冗余备份模式。
evpn redundancy-mode { all-active | single-active }
缺省情况下,冗余备份模式为多活冗余模式。
在EVPN多归属组网中,用户可以通过本功能灵活地选择DF选举算法,以提高设备的利用率。
系统视图和接口视图下均可以配置DF选举算法。系统视图的配置对所有ES都有效,而接口视图下的配置只对当前接口下的ES有效。对于一个ES来说,优先采用该接口视图下的配置,只有该接口下未进行配置时,才采用系统视图的配置。
(1) 进入系统视图。
system-view
(2) 全局配置DF选举算法。
evpn df-election algorithm algorithm
缺省情况下,采用基于VLAN Tag的算法。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
¡ 进入二层以太网接口视图。
interface interface-type interface-number
¡ 进入二层聚合接口视图。
interface bridge-aggregation interface-number
¡ 进入三层接口视图。
interface interface-type interface-number
¡ 进入三层聚合接口视图。
interface route-aggregation interface-number
(3) 配置DF选举算法。
evpn df-election algorithm algorithm
缺省情况下,以系统视图下配置的DF选举算法为准。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
¡ 进入二层以太网接口视图。
interface interface-type interface-number
¡ 进入二层聚合接口视图。
interface bridge-aggregation interface-number
¡ 进入三层接口视图。
interface interface-type interface-number
¡ 进入三层聚合接口视图。
interface route-aggregation interface-number
(3) 配置DF选举优先级。
evpn df-election preference preference
缺省情况下,DF选举优先级为32767。
DF选举优先级数值越大则优先级越高。
(4) (可选)开启基于优先级DF选举算法的不回切功能。
evpn df-election preference non-revertive
缺省情况下,基于优先级算法的DF选举不回切功能处于关闭状态。
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
缺省情况下,以太网自动发现路由延迟发布功能处于关闭状态,即不延迟发布以太网自动发现路由。
本功能是指多归属站点AC故障时,将需要通过故障AC转发的流量临时通过冗余备份组成员PE间的PW转发,减少AC故障导致的丢包。
如果全局视图下开启EVPN实例FRR功能的同时,在指定EVPN实例下执行了evpn frr local命令,则当前EVPN实例的FRR功能状态以EVPN实例下的配置为准。
如果在指定EVPN实例下开启了EVPN的FRR功能,则执行undo evpn multihoming vpls-frr local命令不会关闭该EVPN实例下的FRR功能。
本功能配置在冗余备份组成员PE上。
(1) 进入系统视图。
system-view
(2) 开启全局EVPN VPLS的FRR功能。
evpn multihoming vpls-frr local
缺省情况下,EVPN VPLS的FRR功能处于关闭状态。
(1) 进入系统视图。
system-view
(2) 进入EVPN实例视图。
evpn instance instance-name
(3) 开启或关闭指定EVPN实例的FRR功能。
evpn frr local { disable | enable }
缺省情况下,EVPN实例的FRR功能状态与EVPN VPLS全局FRR功能状态保持一致。
(1) 进入系统视图。
system-view
(2) 进入VSI实例视图。
vsi vsi-name
(3) 进入VSI实例下的EVPN实例视图。
evpn encapsulation mpls
(4) 开启或关闭指定EVPN实例的FRR功能。
evpn frr local { disable | enable }
缺省情况下,EVPN实例的FRR功能状态与EVPN VPLS全局FRR功能状态保持一致。
EVPN VPLS多归属单活组网中,CE 1采用S-Trunk方式双归属接入PE 1和PE 2,PE 1为主用设备,PE 2为备份设备,PE 2上AC状态为Down。当PE 1上AC故障时,PE 1会撤销以太网自动发现路由,同时PE 2上的AC状态为Up,并向远端PE发送以太网自动发现路由,远端PE需要收到PE 2发送的以太网自动发现路由,才能切换至备份路径,路径切换过程速度较慢,会导致报文丢失。为解决上述问题,可在PE 2上配置本命令,使PE 2忽略AC状态并向远端PE发送以太网自动发现路由,远端PE保存该路由。当PE 1的AC故障时,远端PE将流量快速切换至备份路径,减少丢包。
如果全局视图下开启VSI忽略AC状态功能的同时,在指定VSI下执行了ignore-ac-state命令,则当前VSI忽略AC状态功能以VSI下的配置为准。
如果在指定VSI开启了忽略AC状态功能,则执行undo l2vpn ignore-ac-state命令不会关闭该VSI的忽略AC状态功能。
本功能可以与本地重生成MAC/IP发布路由中的MAC地址功能配合使用。
(1) 进入系统视图。
system-view
(2) 全局开启VSI忽略AC状态功能。
l2vpn ignore-ac-state
缺省情况下,VSI忽略AC状态的功能处于关闭状态。
(1) 进入系统视图。
system-view
(2) 进入VSI实例视图。
vsi vsi-name
(3) 开启或关闭指定VSI忽略AC状态的功能。
ignore-ac-state { enable | disable }
缺省情况下,指定VSI忽略AC状态的功能与全局VSI忽略AC功能状态的开关情况保持一致。
在多归属站点组网中,用户需要重启其中一台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后,同一个接口上创建的不同以太网服务实例不能关联相同的VSI,具有相同ESI的接口上的以太网服务实例也不能关联相同的VSI。
为三层主接口配置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的设备发送以太网段路由。定时器超时或所有监控的BGP邻居均Up后,本地成员设备根据收到的所有以太网段路由进行DF选举。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
¡ 进入二层以太网接口视图。
interface interface-type interface-number
¡ 进入二层聚合接口视图。
interface bridge-aggregation interface-number
¡ 进入三层接口视图。
interface interface-type interface-number
¡ 进入三层聚合接口视图。
interface route-aggregation interface-number
(3) 配置冗余备份组中的成员设备监视其它PE设备的BGP邻居状态。
evpn track peer peer-address
缺省情况下,冗余备份组中的成员设备不会监视其它设备的BGP邻居状态。
(4) 开启以太网段路由延迟发布功能,并指定延迟发布时间。
evpn timer es-delay delay-time
缺省情况下,以太网段路由延迟发布功能处于关闭状态,即不延迟发布以太网段路由。
PE可能会同时向远端PE通告MAC地址信息和ARP/ND信息。其中,ARP/ND信息中已经包含MAC地址信息。为了避免重复,可以执行本配置来禁止本端PE向远端PE通告MAC地址信息。执行本配置后,本端PE还会撤销已经发布的MAC地址信息。
(1) 进入系统视图。
system-view
(2) 进入EVPN实例视图。
evpn instance instance-name
(3) 配置禁止通告MAC地址信息,并撤销已经通告的MAC地址信息。
mac-advertising disable
缺省情况下,允许通告MAC地址信息。
(1) 进入系统视图。
system-view
(2) 进入VSI视图。
vsi vsi-name
(3) 进入VSI实例下的EVPN实例视图。
evpn encapsulation mpls
(4) 配置禁止通告MAC地址信息,并撤销已经通告的MAC地址信息。
mac-advertising disable
缺省情况下,允许通告MAC地址信息。
EVPN VPLS组网中,不同PE下的设备如果错误地配置了相同的MAC地址,会造成PE间不断同步MAC地址信息,并更新本地EVPN的MAC地址表项。此时PE认为该设备在不断迁移。这种情况可能会使PE间形成环路,占用大量的链路带宽。开启本功能后,若在检测周期内某MAC地址从本地迁移到远端的次数超过阈值,则抑制最后一次由远端向本地迁移,即仅本地学习但不对外通告该MAC地址,避免PE间形成环路。
执行undo evpn route mac-mobility suppression命令或MAC地址的抑制时间超过抑制恢复时间时,如果PE上被抑制迁移的MAC地址未老化,则立即向远端通告该MAC地址;如果PE上被抑制迁移的MAC地址已经老化,则PE重新从本地学习该MAC地址后再对外通告。
当MAC地址表项和ARP表项均发生冲突时,需要同时开启MAC地址反复迁移抑制功能和ARP反复迁移抑制功能。如果仅开启MAC地址表项抑制功能,则会导致MAC地址表项抑制失败。
(1) 进入系统视图。
system-view
(2) 开启MAC地址反复迁移抑制功能。
evpn route mac-mobility suppression [ detect-cycle detect-time | detect-threshold move-times | suppression-time [ suppression-time | permanent ] ] *
缺省情况下,MAC地址反复迁移抑制功能处于关闭状态。
配置步骤—commit
PE可能会同时接收到远端PE通告的MAC地址信息和ARP/ND信息。其中,ARP/ND信息中包含MAC地址信息。为了避免重复,可以在PE上执行本配置来禁止EVPN从ARP/ND信息中学习MAC地址表项,EVPN仅通过MAC地址信息学习远端MAC地址表项。
(1) 进入系统视图。
system-view
(2) 进入EVPN实例视图。
evpn instance instance-name
(3) 配置禁止EVPN从ARP信息中学习MAC地址表项。
arp mac-learning disable
缺省情况下,EVPN可以从ARP信息中学习MAC地址表项。
(4) 配置禁止EVPN从ND信息中学习MAC地址表项。
nd mac-learning disable
缺省情况下,EVPN可以从ND信息中学习MAC地址表项。
(1) 进入系统视图。
system-view
(2) 进入VSI视图。
vsi vsi-name
(3) 进入VSI实例下的EVPN实例视图。
evpn encapsulation mpls
(4) 配置禁止EVPN从ARP信息中学习MAC地址表项。
arp mac-learning disable
缺省情况下,EVPN可以从ARP信息中学习MAC地址表项。
(5) 配置禁止EVPN从ND信息中学习MAC地址表项。
nd mac-learning disable
缺省情况下,EVPN可以从ND信息中学习MAC地址表项。
在EVPN VPLS组网中,本地学习的MAC地址通过EVPN路由同步到远端设备上。在某些情况下,由于流量异常,远端设备可能会从本地AC学习到相同的MAC地址。此时,远端设备认为MAC地址发生迁移,刷新MAC地址表项,后续访问该MAC地址的流量会因表项错误而导致转发失败。
为了避免上述情况,可以在设备上配置本功能。开启本功能后,设备将判断从AC接收到的报文的源MAC地址是否在本配置指定的MAC地址范围内。若在其范围内,则不进行源MAC地址学习,从而避免设备学习到错误的MAC地址表项。
不同情况下,多次执行mac-address source-mac-check ac mac-address mask命令对源MAC地址检查功能影响不同:
· mac-address参数不同时,设备上会生成多条源MAC地址检查表项。
· mac-address参数相同、mask参数不同,则最后一次执行的命令生效。
在VSI视图下执行display this命令,可以查看设备上当前存在的源MAC地址检查表项。
(1) 进入系统视图。
system-view
(2) 进入VSI视图。
vsi vsi-name
(3) 配置AC的源MAC地址检查表项并开启AC的源MAC地址检查功能。
mac-address source-mac-check ac mac-address mask
缺省情况下,AC的源MAC地址检查功能处于关闭状态。
在EVPN VPLS组网中,如果同一个VPLS内的所有用户终端都部署在同一台PE下,则EVPN不需要通告该VPLS内的ARP信息。此时,可以配置本命令禁止EVPN通告ARP信息,以减少占用的设备和网络资源。执行本命令后,设备还会撤销已经发布的ARP信息。
(1) 进入系统视图。
system-view
(2) 进入EVPN实例视图。
evpn instance instance-name
(3) 配置禁止通告ARP信息,并撤销已经通告的ARP信息。
arp-advertising disable
缺省情况下,允许通告ARP信息。
(1) 进入系统视图。
system-view
(2) 进入VSI视图。
vsi vsi-name
(3) 进入VSI实例下的EVPN实例视图。
evpn encapsulation mpls
(4) 配置禁止通告ARP信息,并撤销已经通告的ARP信息。
arp-advertising disable
缺省情况下,允许通告ARP信息。
配置步骤—commit
(1) 进入系统视图。
system-view
(2) 进入VSI视图。
vsi vsi-name
(3) 开启ARP泛洪抑制功能。
arp suppression enable
缺省情况下,ARP泛洪抑制功能处于关闭状态。
本配置用来控制AC(作为AC的三层接口或以太网服务实例)上学习的最大MAC地址数,以避免某个AC的MAC地址表项过多,占用过多的MAC地址表项资源。
(1) 进入系统视图。
system-view
(2) 进入三层以太网接口视图或三层聚合接口视图。
interface interface-type interface-number
(3) 配置作为AC的三层接口允许学习的最大MAC地址数,及达到最大MAC地址数时的转发和告警行为。
ac mac-limit { action { discard | forward } | alarm { disable | enable } | maximum mac-limit } *
缺省情况下,不对作为AC的三层接口学习到的最大MAC地址数进行限制。
关于该命令的详细介绍,请参见“MPLS命令参考”中的“VPLS”。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
¡ 进入二层以太网接口视图。
interface interface-type interface-number
¡ 进入二层聚合接口视图。
interface bridge-aggregation interface-number
(3) 进入以太网服务实例视图。
service-instance instance-id
(4) 配置作为AC的以太网服务实例允许学习的最大MAC地址数,及达到最大MAC地址数后的转发和告警行为。
mac-limit { action { discard | forward } | alarm { disable | enable } | maximum mac-limit } *
缺省情况下,不对作为AC的以太网服务实例学习到的最大MAC地址数进行限制。
关于该命令的详细介绍,请参见“MPLS命令参考”中的“VPLS”。
配置作为AC的三层接口的报文统计功能时,需要注意:
· 开启报文统计功能后,可以使用display l2vpn interface verbose命令查看作为AC的三层接口的报文统计信息,使用reset l2vpn statistics ac命令清除AC的报文统计信息。
· 只有为三层接口绑定了VSI实例,报文统计功能才会生效。如果在报文统计过程中修改绑定的VSI,则重新进行报文统计计数。
配置以太网服务实例的报文统计功能时,需要注意:
· 开启报文统计功能后,可以使用display l2vpn service-instance verbose命令查看以太网服务实例的报文统计信息,使用reset l2vpn statistics ac命令清除以太网服务实例的报文统计信息。
· 只有为以太网服务实例配置了报文匹配方式并绑定了VSI实例,报文统计功能才会生效。如果在报文统计过程中修改报文匹配方式或绑定的VSI实例,则重新进行报文统计计数。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
¡ 进入三层以太网接口视图。
interface interface-type interface-number
¡ 进入三层聚合接口视图。
interface route-aggregation interface-number
(3) 开启作为AC的三层接口的报文统计功能。
ac statistics enable
缺省情况下,作为AC的三层接口的报文统计功能处于关闭状态。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
¡ 进入二层以太网接口视图。
interface interface-type interface-number
¡ 进入二层聚合接口视图。
interface bridge-aggregation interface-number
(3) 进入以太网服务实例视图。
service-instance instance-id
(4) 开启以太网服务实例的报文统计功能。
statistics enable
缺省情况下,以太网服务实例的报文统计功能处于关闭状态。
EVPN E-Tree功能用来实现AC之间流量的隔离,以便更好地控制AC之间的访问,提高安全性。
e-tree enable命令用于开启本地AC与远端AC的EVPN E-Tree功能,若仅需要控制本地AC之间的访问,则无需配置本命令。
(1) 进入系统视图。
system-view
(2) 进入EVPN实例视图。
evpn instance instance-name
(3) 开启本地AC与远端AC的EVPN E-Tree功能。
e-tree enable
缺省情况下,本地AC与远端AC的EVPN E-Tree功能处于关闭状态。
(4) 退回系统视图。
quit
(5) 三层接口作为AC时,配置AC为Leaf角色。
a. 进入三层接口视图。
interface interface-type interface-number
b. 配置AC为Leaf角色。
xconnect vsi vsi-name leaf
未指定leaf参数时,AC为Root角色。
(6) 以太网服务实例作为AC时,配置AC为Leaf角色。
a. 进入二层以太网接口视图或二层聚合接口视图。
interface interface-type interface-number
b. 进入以太网服务实例视图。
service-instance instance-id
c. 配置AC为Leaf角色。
xconnect vsi vsi-name leaf
未指定leaf参数时,AC为Root角色。
(1) 进入系统视图。
system-view
(2) 进入VSI视图。
vsi vsi-name
(3) 进入EVPN实例视图。
evpn encapsulation mpls
(4) 开启本地AC与远端AC的EVPN E-Tree功能。
e-tree enable
缺省情况下,本地AC与远端AC的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角色。
(7) 以太网服务实例作为AC时,配置AC为Leaf角色。
a. 进入二层以太网接口视图或二层聚合接口视图。
interface interface-type interface-number
b. 进入以太网服务实例视图。
service-instance instance-id
c. 配置AC为Leaf角色。
xconnect vsi vsi-name leaf
未指定leaf参数时,AC为Root角色。
本功能用来实现VPLS网络与EVPN VPLS网络的互通。
建议为同一冗余备份组中各PE连接多归属站点的UPW配置相同的冗余备份模式。
在多归属站点组网中,如果采用多活模式,则必须在多归属接入的PE上执行protection dual-receive命令配置PW冗余保护的双收功能。
除本节列出的配置步骤外,LDP PW或静态PW接入SRv6 PW组网中,还需要完成以下任务:
· 在VPLS网络中的PE设备上完成VPLS相关配置,建立LDP PW或静态PW。
· 在EVPN VPLS网络中的PE设备上完成EVPN VPLS相关配置,建立EVPN PW。
LDP PW接入EVPN PW场景中,LDP PW的数据封装类型必须与AC的接入模式一致,即同为Ethernet或同为VLAN。若二者不同,则需要在LDP PW引用的PW class下执行pw-type命令修改LDP PW的数据封装类型,或通过xconnect vsi命令中的access-mode参数修改AC的接入模式。
(1) 进入系统视图。
system-view
(2) 进入VSI视图。
vsi vsi-name
(3) 进入VSI实例下的EVPN实例视图。
evpn encapsulation mpls
(4) 退回VSI视图。
quit
(5) 指定VSI使用LDP信令建立PW,并进入VSI LDP信令视图。
pwsignaling ldp
缺省情况下,未指定VSI使用的PW信令协议。
(6) 配置VPLS的LDP PW,指定该LDP PW不采用水平分割方式,并进入VSI LDP PW视图。
peer ip-address [ pw-id pw-id ] no-split-horizon [ hub | ignore-standby-state | pw-class class-name | tunnel-policy tunnel-policy-name ] *
本命令配置的LDP PW称为UPW,作为SRv6网络的AC。
本命令的详细介绍,请参见“MPLS命令参考”中的“VPLS”。
(7) (可选)配置UPW的ESI。
esi esi-id
缺省情况下,未配置PW的ESI。
在多归属站点组网中,需要在VPLS网络与EVPN VPLS网络的边缘设备上执行本命令。
本命令的详细介绍,请参见“EVPN命令参考”中的“EVPN”。
(8) (可选)配置UPW的冗余备份模式。
evpn redundancy-mode { all-active | single-active }
缺省情况下,冗余备份模式为多活模式。
在多归属站点组网中,可以在VPLS网络与EVPN VPLS网络的边缘设备上执行本命令。
本命令的详细介绍,请参见“EVPN命令参考”中的“EVPN”。
(9) 配置VPLS的备份PW,并进入VSI LDP备份PW视图。
backup-peer ip-address [ pw-id pw-id ] [ pw-class class-name | tunnel-policy tunnel-policy-name ] *
在多归属站点组网中,多归属接入的PE上需要执行本命令。
本命令的详细介绍,请参见“MPLS命令参考”中的“VPLS”。
(1) 进入系统视图。
system-view
(2) 进入VSI视图。
vsi vsi-name
(3) 进入VSI实例下的EVPN实例视图。
evpn encapsulation mpls
(4) 退回VSI视图。
quit
(5) 指定VSI采用静态配置方式建立PW,并进入VSI静态配置视图。
pwsignaling static
缺省情况下,未指定VSI使用的PW信令协议。
(6) 配置VPLS的静态PW,指定该静态PW不采用水平分割方式,并进入VSI静态PW视图。
peer ip-address [ pw-id pw-id ] in-label label-value out-label label-value no-split-horizon [ hub | pw-class class-name | tunnel-policy tunnel-policy-name ] *
本命令配置的静态PW称为UPW,作为SRv6网络的AC。
本命令的详细介绍,请参见“MPLS命令参考”中的“VPLS”。
(7) (可选)配置UPW的ESI。
esi esi-id
缺省情况下,未配置PW的ESI。
在多归属站点组网中,需要在VPLS网络与EVPN VPLS网络的边缘设备上执行本命令。
本命令的详细介绍,请参见“EVPN命令参考”中的“EVPN”。
(8) (可选)配置UPW的冗余备份模式。
evpn redundancy-mode { all-active | single-active }
缺省情况下,冗余备份模式为多活模式。
在多归属站点组网中,可以在VPLS网络与EVPN VPLS网络的边缘设备上执行本命令。
本命令的详细介绍,请参见“EVPN命令参考”中的“EVPN”。
(9) 配置VPLS的备份PW,并进入VSI静态备份PW视图。
backup-peer ip-address [ pw-id pw-id ] in-label label-value out-label label-value [ pw-class class-name | tunnel-policy tunnel-policy-name ] *
在多归属站点组网中,多归属接入的PE上需要执行本命令。
本命令的详细介绍,请参见“MPLS命令参考”中的“VPLS”。
如果承载同一条PW的公网隧道为多条等价LDP LSP,缺省情况下,PW上的报文会在各LDP LSP上平均分配。开启本功能后,设备会获取LDP LSP对应出接口的带宽值,根据出接口的带宽值计算出各个LDP LSP应该分配的报文比例,然后按比例对报文进行转发。
仅承载PW的公网隧道为LDP LSP时,EVPN VPLS才支持基于带宽的负载分担功能。
(1) 进入系统视图。
system-view
(2) 开启L2VPN基于带宽的负载分担功能。
l2vpn bandwidth-based-sharing
缺省情况下,L2VPN基于带宽的负载分担功能处于关闭状态。
开启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告警功能处于关闭状态。
EVPN VPLS组网中,本端PE设备与远端PE设备间通过PW传输数据报文,当PE间出现丢包或断流现象时,可通过本功能检测PE设备间的PW连通性。具体检测过程为:
(1) 本端PE设备构造MPLS echo request报文,请求报文的目的MAC地址为本命令指定的MAC地址。本端PE设备根据目的MAC地址,在指定VSI的MAC地址表中查找匹配的表项,获取PW标签,为MPLS echo request报文封装PW标签后,通过PW将报文发送给远端PE。
(2) 远端PE收到MPLS echo request报文后,通过查找IP路由表向该请求报文的源IP地址(即本端PE)发送MPLS echo reply报文。
(3) 本端PE设备根据是否收到应答报文、收到应答报文的时间,判断该PW连通性,并输出相应的统计信息。
可在任意视图下执行本命令,检测EVPN VPLS组网中本端PE到指定主机连接的远端PE的PW连通性。
ping evpn vsi vsi-name mac mac-address [ -a source-ip | -c count | -exp exp-value | -h ttl-value | -m wait-time | -r reply-mode | -rtos tos-value | -s packet-size | -t time-out | -v ] *
在完成上述配置后,在任意视图下执行display命令可以显示配置后EVPN的运行情况,通过查看显示信息验证配置的效果。
在用户视图下,用户可以执行reset命令来清除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 | ipv6-address } { advertised-routes | received-routes } [ statistics ] | [ route-distinguisher route-distinguisher | route-type { auto-discovery | es | imet | mac-ip } ] * [ { evpn-route route-length | evpn-prefix } [ advertise-info ] | ipv4-address | ipv6-address | mac-address ] | 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 [ mpls | vxlan ] [ peer ip-address] [ vsi vsi-name ] | mac-ip [ mpls | vxlan ] [ peer ip-address ] [ vsi vsi-name ] | macip-prefix [ nexthop next-hop ] [ count ] } |
显示EVPN的ES信息 |
display evpn es { local [ count | [ vsi vsi-name ] [ esi esi-id ] [ verbose ] ] | remote [ vsi vsi-name ] [ esi esi-id ] [ nexthop next-hop ] [ verbose ] } |
显示EVPN的ARP信息 |
display evpn route arp [ local | remote ] [ public-instance | vpn-instance vpn-instance-name ] [ count ] |
显示EVPN的ARP泛洪抑制信息 |
display evpn route arp suppression [ mpls | vxlan ] [ local | remote ] [ vsi vsi-name ] [ count ] |
显示EVPN的ARP迁移信息 |
display evpn route arp-mobility [ public-instance | vpn-instance vpn-instance-name ] [ ip ip-address ] |
显示EVPN的MAC地址信息 |
display evpn route mac [ mac-address mac-address | umr [ verbose ] ] [ mpls | vxlan ] [ local | remote ] [ vsi vsi-name ] [ count ] |
显示EVPN的MAC地址迁移信息 |
display evpn route mac-mobility [ vsi vsi-name ] [ mac-address mac-address ] |
显示EVPN的ND信息 |
display evpn route nd [ local | remote ] [ public-instance | vpn-instance vpn-instance-name ] [ count ] |
显示EVPN的路由表信息 |
display evpn routing-table { public-instance | vpn-instance vpn-instance-name } [ count ] |
显示EVPN实例的相关信息 |
display evpn instance [ vsi 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 [ cpu cpu-number ] (IRF模式) 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 } chassis chassis-number slot slot-number [ cpu cpu-number ] |
显示EVPN VPLS组网中EVPN的转发信息 |
(独立运行模式) display l2vpn forwarding evpn vsi [ name vsi-name ] [ slot slot-number [ cpu cpu-number ] ] [ verbose ] (IRF模式) display l2vpn forwarding evpn vsi [ name vsi-name ] [ chassis chassis-number slot slot-number [ cpu cpu-number ] ] [ verbose ] |
取消对ARP迁移的抑制 |
reset evpn route arp-mobility suppression [ public-instance | vpn-instance vpn-instance-name [ ip ip-address ] ] |
取消对MAC地址迁移的抑制 |
reset evpn route mac-mobility suppression [ vsi vsi-name [ mac mac-address ] ] |
用户网络有两个站点,分别为CE 1和CE 2。CE 1和CE 2通过以太网接口分别接入PE 1和PE 2并希望通过骨干网运行EVPN VPLS功能实现二层互通。
图1-11 EVPN VPLS单归属配置组网图
设备 |
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
CE 1 |
GE3/1/1 |
10.1.1.10/24 |
P |
Loop0 |
3.3.3.3/32 |
PE 1 |
Loop0 |
1.1.1.1/32 |
|
GE3/1/1 |
11.1.1.2/24 |
|
GE3/1/1 |
- |
|
GE3/1/2 |
11.1.2.2/24 |
|
GE3/1/2 |
11.1.1.1/24 |
PE 2 |
Loop0 |
2.2.2.2/32 |
CE 2 |
GE3/1/1 |
10.1.1.20/24 |
|
GE3/1/1 |
- |
|
|
|
|
GE3/1/2 |
11.1.2.1/24 |
(1) 配置CE 1
<CE1> system-view
[CE1] interface gigabitethernet 3/1/1
[CE1-GigabitEthernet3/1/1] ip address 10.1.1.10 24
[CE1-GigabitEthernet3/1/1] 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的接口GigabitEthernet3/1/2,在此接口上使能LDP。
[PE1] interface gigabitethernet 3/1/2
[PE1-GigabitEthernet3/1/2] ip address 11.1.1.1 24
[PE1-GigabitEthernet3/1/2] mpls enable
[PE1-GigabitEthernet3/1/2] mpls ldp enable
[PE1-GigabitEthernet3/1/2] undo shutdown
[PE1-GigabitEthernet3/1/2] 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的接口GigabitEthernet3/1/1与VSI绑定。
[PE1] interface gigabitethernet 3/1/1
[PE1-GigabitEthernet3/1/1] xconnect vsi vpna
[PE1-GigabitEthernet3/1/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的接口GigabitEthernet3/1/1,在此接口上使能LDP。
[P] interface gigabitethernet 3/1/1
[P-GigabitEthernet3/1/1] ip address 11.1.1.2 24
[P-GigabitEthernet3/1/1] mpls enable
[P-GigabitEthernet3/1/1] mpls ldp enable
[P-GigabitEthernet3/1/1] undo shutdown
[P-GigabitEthernet3/1/1] quit
# 配置连接PE 2的接口GigabitEthernet3/1/2,在此接口上使能LDP。
[P] interface gigabitethernet 3/1/2
[P-GigabitEthernet3/1/2] ip address 11.1.2.2 24
[P-GigabitEthernet3/1/2] mpls enable
[P-GigabitEthernet3/1/2] mpls ldp enable
[P-GigabitEthernet3/1/2] undo shutdown
[P-GigabitEthernet3/1/2] 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的接口GigabitEthernet3/1/2,在此接口上使能LDP。
[PE2] interface gigabitethernet 3/1/2
[PE2-GigabitEthernet3/1/2] ip address 11.1.2.1 24
[PE2-GigabitEthernet3/1/2] mpls enable
[PE2-GigabitEthernet3/1/2] mpls ldp enable
[PE2-GigabitEthernet3/1/2] undo shutdown
[PE2-GigabitEthernet3/1/2] 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的接口GigabitEthernet3/1/1与VSI绑定。
[PE2] interface gigabitethernet 3/1/1
[PE2-GigabitEthernet3/1/1] xconnect vsi vpna
[PE2-GigabitEthernet3/1/1] quit
(5) 配置CE 2
<CE2> system-view
[CE2] interface gigabitethernet 3/1/1
[CE2-GigabitEthernet3/1/1] ip address 10.1.1.20 24
[CE2-GigabitEthernet3/1/1] 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-12 EVPN VPLS多归属配置组网图
设备 |
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
PE 1 |
Loop0 |
192.1.1.1/32 |
CE 1 |
RAGG1 |
100.1.1.1/24 |
|
GE3/1/1 |
- |
CE 2 |
GE3/1/1 |
100.1.1.2/24 |
|
GE3/1/2 |
10.1.1.1/24 |
PE 3 |
Loop0 |
192.3.3.3/32 |
|
GE3/1/3 |
10.1.3.1/24 |
|
GE3/1/1 |
- |
PE 2 |
Loop0 |
192.2.2.2/32 |
|
GE3/1/2 |
10.1.1.2/24 |
|
GE3/1/1 |
- |
|
GE3/1/3 |
10.1.2.2/24 |
|
GE3/1/2 |
10.1.2.1/24 |
|
|
|
|
GE3/1/3 |
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
# 将接口GigabitEthernet3/1/1至GigabitEthernet3/1/2加入到聚合组1中。
[CE1] interface gigabitethernet 3/1/1
[CE1-GigabitEthernet3/1/1] port link-aggregation group 1
[CE1-GigabitEthernet3/1/1] quit
[CE1] interface gigabitethernet 3/1/2
[CE1-GigabitEthernet3/1/2] port link-aggregation group 1
[CE1-GigabitEthernet3/1/2] 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的接口GigabitEthernet3/1/2,在此接口上使能LDP。
[PE1] interface gigabitethernet 3/1/2
[PE1-GigabitEthernet3/1/2] ip address 10.1.1.1 24
[PE1-GigabitEthernet3/1/2] mpls enable
[PE1-GigabitEthernet3/1/2] mpls ldp enable
[PE1-GigabitEthernet3/1/2] undo shutdown
[PE1-GigabitEthernet3/1/2] quit
# 配置连接PE 2的接口GigabitEthernet3/1/3,在此接口上使能LDP。
[PE1] interface gigabitethernet 3/1/3
[PE1-GigabitEthernet3/1/3] ip address 10.1.3.1 24
[PE1-GigabitEthernet3/1/3] mpls enable
[PE1-GigabitEthernet3/1/3] mpls ldp enable
[PE1-GigabitEthernet3/1/3] undo shutdown
[PE1-GigabitEthernet3/1/3] 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
# 在接入站点的接口GigabitEthernet3/1/1下配置ESI值。
[PE1] interface gigabitethernet 3/1/1
[PE1-GigabitEthernet3/1/1] 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的接口GigabitEthernet3/1/1与VSI绑定。
[PE1] interface gigabitethernet 3/1/1
[PE1-GigabitEthernet3/1/1] xconnect vsi vpna
[PE1-GigabitEthernet3/1/1] 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的接口GigabitEthernet3/1/2,在此接口上使能LDP。
[PE2] interface gigabitethernet 3/1/2
[PE2-GigabitEthernet3/1/2] ip address 10.1.2.1 24
[PE2-GigabitEthernet3/1/2] mpls enable
[PE2-GigabitEthernet3/1/2] mpls ldp enable
[PE2-GigabitEthernet3/1/2] undo shutdown
[PE2-GigabitEthernet3/1/2] quit
# 配置连接PE 1的接口GigabitEthernet3/1/3,在此接口上使能LDP。
[PE2] interface gigabitethernet3/1/3
[PE2-GigabitEthernet3/1/3] ip address 10.1.3.2 24
[PE2-GigabitEthernet3/1/3] mpls enable
[PE2-GigabitEthernet3/1/3] mpls ldp enable
[PE2-GigabitEthernet3/1/3] undo shutdown
[PE2-GigabitEthernet3/1/3] 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
# 在接入站点的接口GigabitEthernet3/1/1下配置ESI值。
[PE2] interface gigabitethernet 3/1/1
[PE2-GigabitEthernet3/1/1] 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的接口GigabitEthernet3/1/1与VSI绑定。
[PE1] interface gigabitethernet 3/1/1
[PE1-GigabitEthernet3/1/1] xconnect vsi vpna
[PE1-GigabitEthernet3/1/1] 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的接口GigabitEthernet3/1/2和GigabitEthernet3/1/3,并在这两个接口上使能LDP。
[PE3] interface gigabitethernet3/1/2
[PE3-GigabitEthernet3/1/2] ip address 10.1.1.2 24
[PE3-GigabitEthernet3/1/2] mpls enable
[PE3-GigabitEthernet3/1/2] mpls ldp enable
[PE3-GigabitEthernet3/1/2] undo shutdown
[PE3-GigabitEthernet3/1/2] quit
[PE3] interface gigabitethernet3/1/3
[PE3-GigabitEthernet3/1/3] ip address 10.1.2.2 24
[PE3-GigabitEthernet3/1/3] mpls enable
[PE3-GigabitEthernet3/1/3] mpls ldp enable
[PE3-GigabitEthernet3/1/3] undo shutdown
[PE3-GigabitEthernet3/1/3] 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的接口GigabitEthernet3/1/1与VSI绑定。
[PE3] interface gigabitethernet 3/1/1
[PE3-GigabitEthernet3/1/1] xconnect vsi vpna
[PE3-GigabitEthernet3/1/1] quit
(5) 配置CE 2
<CE2> system-view
[CE2] interface GigabitEthernet3/1/1
[CE2-GigabitEthernet3/1/1] ip address 100.1.1.2 24
[CE2-GigabitEthernet3/1/1] 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
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.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
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 - 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通。
用户网络有两个站点,分别为CE 1和CE 2。CE 1双归属接入PE 1和PE 2,在PE 1和PE 2之间通过S-Trunk跨设备形成链路聚合,以提高可靠性;CE 2为PE 3下的单归属设备。CE 1和CE 2希望通过骨干网的EVPN VPLS功能二层互通。
图1-13 EVPN VPLS多归属配置组网图
设备 |
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
PE 1 |
Loop0 |
192.1.1.1/32 |
CE 1 |
RAGG1 |
100.1.1.1/24 |
|
GE3/1/1 |
- |
CE 2 |
GE3/1/1 |
100.1.1.2/24 |
|
GE3/1/2 |
10.1.1.1/24 |
PE 3 |
Loop0 |
192.3.3.3/32 |
|
GE3/1/3 |
10.1.3.1/24 |
|
GE3/1/1 |
- |
PE 2 |
Loop0 |
192.2.2.2/32 |
|
GE3/1/2 |
10.1.1.2/24 |
|
GE3/1/1 |
- |
|
GE3/1/3 |
10.1.2.2/24 |
|
GE3/1/2 |
10.1.2.1/24 |
|
|
|
|
GE3/1/3 |
10.1.3.2/24 |
|
|
|
(1) 配置CE 1
# 创建三层聚合接口1,采用动态聚合模式,并为其配置IP地址和子网掩码。
<CE1> system-view
[CE1] interface route-aggregation 1
[CE1-Route-Aggregation1] link-aggregation mode dynamic
[CE1-Route-Aggregation1] ip address 100.1.1.1 24
[CE1-Route-Aggregation1] quit
# 将接口GigabitEthernet3/1/1至GigabitEthernet3/1/2加入到聚合组1中。
[CE1] interface gigabitethernet 3/1/1
[CE1-GigabitEthernet3/1/1] port link-aggregation group 1
[CE1-GigabitEthernet3/1/1] quit
[CE1] interface gigabitethernet 3/1/2
[CE1-GigabitEthernet3/1/2] port link-aggregation group 1
[CE1-GigabitEthernet3/1/2] 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的接口GigabitEthernet3/1/2,在此接口上使能LDP。
[PE1] interface gigabitethernet 3/1/2
[PE1-GigabitEthernet3/1/2] ip address 10.1.1.1 24
[PE1-GigabitEthernet3/1/2] mpls enable
[PE1-GigabitEthernet3/1/2] mpls ldp enable
[PE1-GigabitEthernet3/1/2] quit
# 配置连接PE 2的接口GigabitEthernet3/1/3,在此接口上使能LDP。
[PE1] interface gigabitethernet 3/1/3
[PE1-GigabitEthernet3/1/3] ip address 10.1.3.1 24
[PE1-GigabitEthernet3/1/3] mpls enable
[PE1-GigabitEthernet3/1/3] mpls ldp enable
[PE1-GigabitEthernet3/1/3] 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
# 配置S-Trunk,在PE 1和PE 2之间跨设备建立链路聚合。
[PE1] lacp system-priority 10
[PE1] lacp system-mac 1-1-1
[PE1] lacp system-number 1
[PE1] s-trunk id 1
[PE1-s-trunk1] s-trunk ip destination 10.1.3.2 source 10.1.3.1
[PE1-s-trunk1] quit
[PE1] interface route-aggregation 1
[PE1-Route-Aggregation1] link-aggregation mode dynamic
[PE1-Route-Aggregation1] s-trunk 1
[PE1-Route-Aggregation1] s-trunk port-role primary
[PE1-Route-Aggregation1] quit
[PE1] interface gigabitethernet 3/1/1
[PE1-GigabitEthernet3/1/1] port link-aggregation group 1
[PE1-GigabitEthernet3/1/1] quit
# 在接入站点的接口Route-Aggregation1下配置ESI值和接口的冗余备份模式。
[PE1] interface route-aggregation 1
[PE1-Route-Aggregation1] esi 1.1.1.1.1
[PE1-Route-Aggregation1] evpn redundancy-mode all-active
[PE1-Route-Aggregation1] 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的接口Route-Aggregation1与VSI绑定。
[PE1] interface route-aggregation 1
[PE1-Route-Aggregation1] xconnect vsi vpna
[PE1-Route-Aggregation1] 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功能。
[PE2] l2vpn enable
# 全局使能LDP。
[PE2] mpls ldp
[PE2-ldp] quit
# 配置连接PE 3的接口GigabitEthernet3/1/2,在此接口上使能LDP。
[PE2] interface gigabitethernet 3/1/2
[PE2-GigabitEthernet3/1/2] ip address 10.1.2.1 24
[PE2-GigabitEthernet3/1/2] mpls enable
[PE2-GigabitEthernet3/1/2] mpls ldp enable
[PE2-GigabitEthernet3/1/2] quit
# 配置连接PE 1的接口GigabitEthernet3/1/3,在此接口上使能LDP。
[PE2] interface gigabitethernet 3/1/3
[PE2-GigabitEthernet3/1/3] ip address 10.1.3.2 24
[PE2-GigabitEthernet3/1/3] mpls enable
[PE2-GigabitEthernet3/1/3] mpls ldp enable
[PE2-GigabitEthernet3/1/3] 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
# 配置S-Trunk,在PE 1和PE 2之间跨设备建立链路聚合。
[PE2] lacp system-priority 10
[PE2] lacp system-mac 1-1-1
[PE2] lacp system-number 2
[PE2] s-trunk id 1
[PE2-s-trunk1] s-trunk ip destination 10.1.3.1 source 10.1.3.2
[PE2-s-trunk1] quit
[PE2] interface route-aggregation 1
[PE2-Route-Aggregation1] link-aggregation mode dynamic
[PE2-Route-Aggregation1] s-trunk 1
[PE2-Route-Aggregation1] s-trunk port-role primary
[PE2-Route-Aggregation1] quit
[PE2] interface gigabitethernet 3/1/1
[PE2-GigabitEthernet3/1/1] port link-aggregation group 1
[PE2-GigabitEthernet3/1/1] quit
# 在接入站点的接口Route-Aggregation1下配置ESI值和接口的冗余备份模式。
[PE2] interface route-aggregation 1
[PE2-Route-Aggregation1] esi 1.1.1.1.1
[PE2-Route-Aggregation1] evpn redundancy-mode all-active
[PE2-Route-Aggregation1] 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 1的接口Route-Aggregation1与VSI绑定。
[PE2] interface route-aggregation 1
[PE2-Route-Aggregation1] xconnect vsi vpna
[PE2-Route-Aggregation1] 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的接口GigabitEthernet3/1/2和GigabitEthernet3/1/3,并在这两个接口上使能LDP。
[PE3] interface gigabitethernet 3/1/2
[PE3-GigabitEthernet3/1/2] ip address 10.1.1.2 24
[PE3-GigabitEthernet3/1/2] mpls enable
[PE3-GigabitEthernet3/1/2] mpls ldp enable
[PE3-GigabitEthernet3/1/2] quit
[PE3] interface gigabitethernet 3/1/3
[PE3-GigabitEthernet3/1/3] ip address 10.1.2.2 24
[PE3-GigabitEthernet3/1/3] mpls enable
[PE3-GigabitEthernet3/1/3] mpls ldp enable
[PE3-GigabitEthernet3/1/3] 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的接口GigabitEthernet3/1/1与VSI绑定。
[PE3] interface gigabitethernet 3/1/1
[PE3-GigabitEthernet3/1/1] xconnect vsi vpna
[PE3-GigabitEthernet3/1/1] quit
(5) 配置CE 2
<CE2> system-view
[CE2] interface gigabitethernet 3/1/1
[CE2-GigabitEthernet3/1/1] ip address 100.1.1.2 24
[CE2-GigabitEthernet3/1/1] 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
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.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
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 - 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通。
PE 1、PE 2和PE 4位于VPLS网络,采用LDP信令协议建立LDP PW。PE 1、PE 2和PE 3位于EVPN VPLS网络。PE 1和PE 2为VPLS网络和EVPN VPLS网络的边缘设备。PE 1和PE 2上配置LDP PW接入EVPN PW功能,实现VPLS和EVPN VPLS网络的互通。其中,PE 4与PE 1、PE 4与PE 2之间的两条LDP PW作为UPW,多归属接入PE。
图1-14 LDP PW接入EVPN PW配置组网图
设备 |
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
PE 1 |
Loop0 |
1.1.1.9/32 |
PE 3 |
Loop0 |
3.3.3.9/32 |
|
GE3/1/1 |
10.1.1.1/24 |
|
GE3/1/1 |
- |
|
GE3/1/2 |
30.1.1.1/24 |
|
GE3/1/2 |
30.1.1.3/24 |
|
GE3/1/3 |
10.1.3.1/24 |
|
GE3/1/3 |
10.1.2.3/24 |
PE 2 |
Loop0 |
2.2.2.9/32 |
PE 4 |
Loop0 |
4.4.4.9/32 |
|
GE3/1/1 |
20.1.1.2/24 |
|
GE3/1/3 |
- |
|
GE3/1/2 |
10.1.2.2/24 |
|
GE3/1/1 |
10.1.1.4/24 |
|
GE3/1/3 |
10.1.3.2/24 |
|
GE3/1/2 |
20.1.1.4/24 |
CE 1 |
GE3/1/1 |
100.1.1.1/32 |
CE 2 |
GE3/1/1 |
100.1.1.2/32 |
PE 1 |
Loop0 |
1.1.1.9/32 |
PE 3 |
Loop0 |
3.3.3.9/32 |
(1) 配置CE 1
# 将接口GigabitEthernet3/1/1为其配置IP地址和子网掩码。
<CE1> system-view
[CE1] interface gigabitethernet 3/1/1
[CE1-GigabitEthernet3/1/1] ip address 100.1.1.1 24
[CE1-GigabitEthernet3/1/1] quit
(2) 配置PE 4
# 配置MPLS基本能力。
<PE4> system-view
[PE4] interface loopback 0
[PE4-LoopBack0] ip address 1.1.1.9 32
[PE4-LoopBack0] quit
[PE4] mpls lsr-id 1.1.1.9
# 全局使能LDP。
[PE4] mpls ldp
[PE4-ldp] quit
# 开启L2VPN功能。
[PE4] l2vpn enable
# 配置连接PE 1的接口GigabitEthernet3/1/1。
[PE4] interface gigabitethernet 3/1/1
[PE4-GigabitEthernet3/1/1] ip address 10.1.1.4 24
[PE4-GigabitEthernet3/1/1] ospf 1 area 0
[PE4-GigabitEthernet3/1/1] mpls enable
[PE4-GigabitEthernet3/1/1] mpls ldp enable
[PE4-GigabitEthernet3/1/1] undo shutdown
[PE4-GigabitEthernet3/1/1] quit
# 配置连接PE 2的接口GigabitEthernet3/1/2。
[PE4] interface gigabitethernet 3/1/2
[PE4-GigabitEthernet3/1/2] ip address 20.1.1.4 24
[PE4-GigabitEthernet3/1/2] ospf 1 area 0
[PE4-GigabitEthernet3/1/2] mpls enable
[PE4-GigabitEthernet3/1/2] mpls ldp enable
[PE4-GigabitEthernet3/1/2] undo shutdown
[PE4-GigabitEthernet3/1/2] quit
# 配置VSI实例aaa采用LDP信令协议,并在PE 4和PE 1之间建立主PW,在PE 4和PE 2之间建立备PW,配置PW冗余保护的双收功能。
[PE4] vsi vpna
[PE4-vsi-vpna] protection dual-receive
[PE4-vsi-vpna] pwsignaling ldp
[PE4-vsi-vpna-ldp] peer 1.1.1.9 pw-id 500
[PE4-vsi-vpna-ldp-1.1.1.9-500] backup-peer 2.2.2.9 pw-id 500
[PE4-vsi-vpna-ldp-1.1.1.9-500-backup] quit
[PE4-vsi-vpna-ldp-1.1.1.9-500] quit
[PE4-vsi-vpna-ldp] quit
[PE4-vsi-vpna] quit
# 在接口GigabitEthernet3/1/3绑定VSI实例aaa。
[PE4] interface gigabitethernet 3/1/3
[PE4-GigabitEthernet3/1/3] xconnect vsi vpna
[PE4-GigabitEthernet3/1/3] quit
(3) 配置PE 1
# 配置Loopback0接口。
<PE1> system-view
[PE1] interface loopback 0
[PE1-LoopBack1] ip address 1.1.1.9 32
[PE1-LoopBack1] quit
# 配置MPLS基本能力。
[PE1] mpls lsr-id 1.1.1.9
# 全局使能LDP。
[PE1] mpls ldp
[PE1-ldp] quit
# 开启L2VPN功能。
[PE1] l2vpn enable
# 在PE 1上运行OSPF,用于建立LSP。
[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 30.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 1.1.1.9 0.0.0.0
[PE1-ospf-1] quit
# 配置连接PE 4的接口GigabitEthernet3/1/1。
[PE1] interface gigabitethernet 3/1/1
[PE1-GigabitEthernet3/1/1] ip address 10.1.1.1 24
[PE1-GigabitEthernet3/1/1] mpls enable
[PE1-GigabitEthernet3/1/1] mpls ldp enable
[PE1-GigabitEthernet3/1/1] undo shutdown
[PE1-GigabitEthernet3/1/1] quit
# 配置连接PE 3的接口GigabitEthernet3/1/2。
[PE1] interface gigabitethernet 3/1/2
[PE1-GigabitEthernet3/1/2] ip address 30.1.1.1 24
[PE1-GigabitEthernet3/1/2] mpls enable
[PE1-GigabitEthernet3/1/2] mpls ldp enable
[PE1-GigabitEthernet3/1/2] undo shutdown
[PE1-GigabitEthernet3/1/2] quit
# 配置连接PE 2的接口GigabitEthernet3/1/3。
[PE1] interface gigabitethernet 3/1/3
[PE1-GigabitEthernet3/1/3] ip address 10.1.3.1 24
[PE1-GigabitEthernet3/1/3] mpls enable
[PE1-GigabitEthernet3/1/3] mpls ldp enable
[PE1-GigabitEthernet3/1/3] undo shutdown
[PE1-GigabitEthernet3/1/3] quit
# 在PE 1、PE 2和PE 3之间建立IBGP连接,并配置通过BGP EVPN发布路由信息。
[PE1] bgp 100
[PE1-bgp-default] peer 2.2.2.9 as-number 100
[PE1-bgp-default] peer 2.2.2.9 connect-interface loopback 0
[PE1-bgp-default] peer 3.3.3.9 as-number 100
[PE1-bgp-default] peer 3.3.3.9 connect-interface loopback 0
[PE1-bgp-default] address-family l2vpn evpn
[PE1-bgp-default-evpn] peer 2.2.2.9 enable
[PE1-bgp-default-evpn] peer 3.3.3.9 enable
[PE1-bgp-default-evpn] peer 2.2.2.9 advertise encap-type mpls
[PE1-bgp-default-evpn] peer 3.3.3.9 advertise encap-type mpls
[PE1-bgp-default-evpn] quit
[PE1-bgp-default] quit
# 创建PW class,并配置PW的数据封装类型为Ethernet。
[PE1] pw-class aaa
[PE1-pw-aaa] pw-type ethernet
[PE1-pw-aaa] quit
# 创建VSI和EVPN实例,并指定EVPN采用MPLS封装,配置EVPN实例的RD与RT。
[PE1] vsi vpna
[PE1-vsi-vpna] evpn encapsulation mpls
[PE1-vsi-vpna-evpn-srv6] route-distinguisher 1:1
[PE1-vsi-vpna-evpn-srv6] vpn-target 1:1 export-extcommunity
[PE1-vsi-vpna-evpn-srv6] vpn-target 1:1 import-extcommunity
[PE1-vsi-vpna-evpn-srv6] quit
# 配置VSI实例vpna采用LDP信令协议,并在PE 4和PE 1之间建立UPW,并配置ESI值和接口的冗余备份模式。
[PE1-vsi-vpna] pwsignaling ldp
[PE1-vsi-vpna-ldp] peer 4.4.4.9 pw-id 500 no-split-horizon pw-class aaa
[PE1-vsi-vpna-ldp-4.4.4.9-500] esi 1.1.1.1.1
[PE1-vsi-vpna-ldp-4.4.4.9-500] evpn redundancy-mode all-active
[PE1-vsi-vpna-ldp-4.4.4.9-500] quit
[PE1-vsi-vpna-ldp] quit
[PE1-vsi-vpna] quit
(4) 配置PE 2
# 配置MPLS基本能力。
<PE2> system-view
[PE2] interface loopback 0
[PE2-LoopBack0] ip address 2.2.2.9 32
[PE2-LoopBack0] quit
[PE2] mpls lsr-id 2.2.2.9
# 全局使能LDP。
[PE2] mpls ldp
[PE2-ldp] quit
# 开启L2VPN功能。
[PE2] l2vpn enable
# 在PE 2上运行OSPF,用于建立LSP。
[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 20.1.1.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 2.2.2.9 0.0.0.0
[PE2-ospf-1] quit
# 配置连接PE 1的接口GigabitEthernet3/1/3。
[PE2] interface gigabitethernet 3/1/3
[PE2-GigabitEthernet3/1/3] ip address 10.1.3.2 24
[PE2-GigabitEthernet3/1/3] mpls enable
[PE2-GigabitEthernet3/1/3] mpls ldp enable
[PE2-GigabitEthernet3/1/3] undo shutdown
[PE2-GigabitEthernet3/1/3] quit
# 配置连接PE 3的接口GigabitEthernet3/1/2。
[PE2] interface gigabitethernet 3/1/2
[PE2-GigabitEthernet3/1/2] ip address 10.1.2.1 24
[PE2-GigabitEthernet3/1/2] mpls enable
[PE2-GigabitEthernet3/1/2] mpls ldp enable
[PE2-GigabitEthernet3/1/2] undo shutdown
[PE2-GigabitEthernet3/1/2] quit
# 配置连接PE 4的接口GigabitEthernet3/1/1。
[PE2] interface gigabitethernet 3/1/1
[PE2-GigabitEthernet3/1/1] ip address 20.1.1.2 24
[PE2-GigabitEthernet3/1/1] mpls enable
[PE2-GigabitEthernet3/1/1] mpls ldp enable
[PE2-GigabitEthernet3/1/1] undo shutdown
[PE2-GigabitEthernet3/1/1] quit
# 在PE 1、PE 2和PE 3之间建立IBGP连接,并配置通过BGP EVPN发布路由信息。
[PE2] bgp 100
[PE2-bgp-default] peer 1.1.1.9 as-number 100
[PE2-bgp-default] peer 1.1.1.9 connect-interface loopback 0
[PE2-bgp-default] peer 3.3.3.9 as-number 100
[PE2-bgp-default] peer 3.3.3.9 connect-interface loopback 0
[PE2-bgp-default] address-family l2vpn evpn
[PE2-bgp-default-evpn] peer 1.1.1.9 enable
[PE2-bgp-default-evpn] peer 3.3.3.9 enable
[PE2-bgp-default-evpn] peer 1.1.1.9 advertise encap-type mpls
[PE2-bgp-default-evpn] peer 3.3.3.9 advertise encap-type mpls
[PE2-bgp-default-evpn] quit
[PE2-bgp-default] quit
# 创建PW class,并配置PW的数据封装类型为Ethernet。
[PE2] pw-class aaa
[PE2-pw-aaa] pw-type ethernet
[PE2-pw-aaa] quit
# 创建VSI和EVPN实例,并指定EVPN采用MPLS封装,配置EVPN实例的RD与RT。
[PE2] vsi vpna
[PE2-vsi-vpna] evpn encapsulation mpls
[PE2-vsi-vpna-evpn-srv6] route-distinguisher 1:1
[PE2-vsi-vpna-evpn-srv6] vpn-target 1:1 export-extcommunity
[PE2-vsi-vpna-evpn-srv6] vpn-target 1:1 import-extcommunity
[PE2-vsi-vpna-evpn-srv6] quit
# 配置VSI实例vpna采用LDP信令协议,并在PE 4和PE 2之间建立UPW,并配置ESI值和接口的冗余备份模式。
[PE2] vsi vpna
[PE2-vsi-vpna] pwsignaling ldp
[PE2-vsi-vpna-ldp] peer 1.1.1.9 pw-id 500 no-split-horizon pw-class aaa
[PE2-vsi-vpna-ldp-1.1.1.9-500] esi 1.1.1.1.1
[PE2-vsi-vpna-ldp-1.1.1.9-500] evpn redundancy-mode all-active
[PE2-vsi-vpna-ldp-1.1.1.9-500] quit
[PE2-vsi-vpna-ldp] quit
[PE2-vsi-vpna] quit
(5) 配置PE 3
# 配置MPLS基本能力。
<PE3> system-view
[PE3] interface loopback 0
[PE3-LoopBack0] ip address 3.3.3.9 32
[PE3-LoopBack0] quit
[PE1] mpls lsr-id 3.3.3.9
# 全局使能LDP。
[PE1] mpls ldp
[PE1-ldp] quit
# 开启L2VPN功能。
[PE3] l2vpn enable
# 在PE 3上运行OSPF,用于建立LSP。
[PE3] ospf
[PE3-ospf-1] area 0
[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] network 30.1.1.0 0.0.0.255
[PE3-ospf-1-area-0.0.0.0] network 3.3.3.9 0.0.0.0
[PE3-ospf-1] quit
# 配置连接PE 1的接口GigabitEthernet3/1/2。
[PE3] interface gigabitethernet 3/1/2
[PE3-GigabitEthernet3/1/2] ip address 30.1.1.3 24
[PE3-GigabitEthernet3/1/2] undo shutdown
[PE3-GigabitEthernet3/1/2] quit
# 配置连接PE 2的接口GigabitEthernet3/1/3。
[PE3] interface gigabitethernet 3/1/3
[PE3-GigabitEthernet3/1/3] ip address 10.1.2.3 24
[PE3-GigabitEthernet3/1/3] undo shutdown
[PE3-GigabitEthernet3/1/3] quit
# 在PE 1、PE 2和PE 3之间建立IBGP连接,并配置通过BGP EVPN发布路由信息。
[PE3] bgp 100
[PE3-bgp-default] peer 1.1.1.9 as-number 100
[PE3-bgp-default] peer 1.1.1.9 connect-interface loopback 0
[PE3-bgp-default] peer 2.2.2.9 as-number 100
[PE3-bgp-default] peer 2.2.2.9 connect-interface loopback 0
[PE3-bgp-default] address-family l2vpn evpn
[PE3-bgp-default-evpn] peer 1.1.1.9 enable
[PE3-bgp-default-evpn] peer 2.2.2.9 enable
[PE3-bgp-default-evpn] peer 1.1.1.9 advertise encap-type mpls
[PE3-bgp-default-evpn] peer 2.2.2.9 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-srv6] route-distinguisher 1:1
[PE3-vsi-vpna-evpn-srv6] vpn-target 1:1 export-extcommunity
[PE3-vsi-vpna-evpn-srv6] vpn-target 1:1 import-extcommunity
[PE3-vsi-vpna-evpn-srv6] quit
# 将接口GigabitEthernet3/1/1与VSI关联。
[PE3] interface gigabitethernet 3/1/1
[PE3-GigabitEthernet3/1/1] xconnect vsi vpna
[PE3-GigabitEthernet3/1/1] quit
(6) 配置CE 2
<CE2> system-view
[CE2] interface gigabitethernet 3/1/1
[CE2-GigabitEthernet3/1/1] ip address 100.1.1.2 24
[CE2-GigabitEthernet3/1/1] quit
# 在PE 1上查看PW信息,可以看到PE 1与PE 4建立了LDP PW,PE 1与PE 2和PE 3建立了EVPN 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: 3
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
4.4.4.9 500 1147/- LDP MN 8 Up
2.2.2.9 - 1148/1148 EVPN M 9 Up
3.3.3.9 - 1148/1149 EVPN M 10 Up
# 在PE 1上查看本地ES信息,可以看到LDP PW(即UPW)作为ES实现多归属接入。
<PE1> display evpn es local verbose
VSI name : vpna
ESI : 0001.0001.0001.0001.0001
Interface : -
Redundancy mode : All-active
State : Up
UPWs :
Link ID Service instance ID Tag ID DF address ESI label
8 - - - 1146
# 在PE 2上的显示信息与PE 1类似。(具体显示信息略)
# CE 1与CE 2之间能够ping通。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!