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

20-EVPN配置指导

目录

02-EVPN VXLAN配置

本章节下载 02-EVPN VXLAN配置  (1.32 MB)

02-EVPN VXLAN配置

  录

1 EVPN VXLAN概述

1.1 网络模型

1.2 自动发现邻居、建立隧道、关联隧道

1.3 识别报文所属的VXLAN

1.3.1 本地站点内接收到数据帧的识别

1.3.2 VXLAN隧道上接收报文的识别

1.4 转发二层流量

1.4.1 学习MAC地址

1.4.2 转发已知单播流量

1.4.3 转发泛洪流量

1.5 集中式EVPN网关

1.6 分布式EVPN网关

1.6.1 简介

1.6.2 对称IRB转发方式

1.6.3 非对称IRB转发方式

1.7 多归属站点

1.7.1 功能简介

1.7.2 DF选举

1.7.3 水平分割

1.7.4 冗余备份模式

1.7.5 Aliasing

1.8 ARP/ND泛洪抑制

1.9 MAC地址迁移

2 配置EVPN VXLAN

2.1 EVPN VXLAN配置任务简介

2.2 EVPN VXLAN配置限制和指导

2.3 配置VSI和VXLAN

2.3.1 配置限制和指导

2.3.2 创建VSI和VXLAN

2.3.3 配置VSI参数

2.4 配置EVPN实例

2.4.1 功能简介

2.4.2 配置限制和指导

2.4.3 配置系统视图下的EVPN实例并与VSI关联

2.4.4 配置VSI实例下的EVPN实例

2.5 配置多归属站点

2.5.1 配置限制和指导

2.5.2 配置ESI

2.5.3 配置DF选举算法

2.5.4 配置DF选举延迟时间

2.5.5 配置禁止通告以太网自动发现路由和以太网段路由

2.5.6 配置发布以太网自动发现路由和MAC/IP发布路由时忽略以太网标签

2.5.7 配置成员设备监视BGP邻居状态

2.6 配置BGP发布EVPN路由

2.6.1 配置限制和指导

2.6.2 开启BGP发布EVPN路由能力

2.6.3 配置BGP EVPN路由属性

2.6.4 配置BGP EVPN路由发布和优选

2.6.5 配置BGP路由反射

2.6.6 配置BGP EVPN路由过滤

2.6.7 配置向对等体/对等体组发送BGP RPKI验证结果

2.6.8 通过将所有路由更新信息保存在本地实现BGP软复位

2.6.9 维护BGP会话

2.7 配置AC与VSI关联

2.7.1 配置三层接口与VSI关联

2.7.2 配置以太网服务实例与VSI关联

2.8 配置集中式EVPN网关

2.9 配置分布式EVPN网关

2.9.1 配置限制和指导

2.9.2 配置EVPN VXLAN的转发方式

2.9.3 配置VSI虚接口作为分布式网关接口

2.9.4 配置VSI虚接口关联L3VNI

2.9.5 配置发布IP前缀路由

2.10 管理MAC地址和ARP信息学习

2.10.1 关闭远端MAC地址和远端ARP自动学习功能

2.10.2 配置禁止通告MAC地址信息

2.10.3 开启MAC地址反复迁移抑制功能

2.10.4 配置禁止EVPN从ARP/ND信息中学习MAC地址表项

2.10.5 配置AC的源MAC地址检查表项并开启AC的源MAC地址检查功能

2.10.6 配置禁止通告ARP信息

2.10.7 开启ARP反复迁移抑制功能

2.10.8 开启ND反复迁移抑制功能

2.11 配置BGP EVPN路由的引入和发布

2.11.1 配置将包含ARP/ND信息的MAC/IP发布路由引入BGP单播路由表

2.11.2 配置BGP EVPN路由添加到VPN实例路由表时的Metric值

2.11.3 配置允许向本地站点发布BGP EVPN路由

2.11.4 配置BGP EVPN路由的ORF功能

2.12 配置VSI泛洪抑制

2.13 配置ARP/ND泛洪抑制

2.14 配置EVPN VXLAN网络与VPLS网络互通

2.14.1 功能简介

2.14.2 配置限制和指导

2.14.3 配置准备

2.14.4 配置LDP PW接入VXLAN隧道

2.14.5 配置静态PW接入EVPN VXLAN

2.15 配置EVPN VXLAN网络与EVPN VPLS网络互通

2.16 开启VXLAN隧道的报文统计功能

2.17 开启EVPN告警功能

2.18 EVPN VXLAN显示和维护

2.19 EVPN VXLAN典型配置举例

2.19.1 集中式IPv4 EVPN网关配置举例

2.19.2 对称IRB方式分布式IPv4 EVPN网关配置举例

2.19.3 EVPN支持IPv4站点多归属配置举例

2.19.4 EVPN VXLAN网络与VPLS网络互通配置举例

2.19.5 EVPN VXLAN网络与EVPN VPLS网络互通配置举例

 


1 EVPN VXLAN概述

EVPN路由可以用来在VXLAN网络中搭建VXLAN隧道、同步MAC地址信息等,以实现VXLAN组网,该网络称为EVPN VXLAN。与传统VXLAN网络相比,EVPN VXLAN网络可以实现隧道的自动建立与关联,简化配置。

1.1  网络模型

图1-1 EVPN VXLAN网络模型示意图

 

在EVPN组网中,站点网络和IP核心网络既可以是IPv4网络也可以是IPv6网络。如图1-1所示,EVPN的典型网络模型中包括如下几部分:

·     VTEP(VXLAN Tunnel End Point,VXLAN隧道端点):EVPN的边缘设备。EVPN的相关处理都在VTEP上进行。VTEP可以是一台独立的物理设备,也可以是虚拟机所在的服务器。

·     VXLAN隧道:两个VTEP之间的点到点逻辑隧道。VTEP为数据帧封装VXLAN头、UDP头和IP头后,通过VXLAN隧道将封装后的报文转发给远端VTEP,远端VTEP对其进行解封装。

·     核心设备:IP核心网络中的设备(如图1-1中的P设备)。核心设备不参与EVPN处理,仅需要根据封装后报文的外层目的IP地址对报文进行三层转发。

·     VXLAN网络/EVPN实例:用户网络可能包括分布在不同地理位置的多个站点内的虚拟机。在骨干网上可以利用VXLAN隧道将这些站点连接起来,为用户提供一个逻辑的二层VPN。这个二层VPN称为一个VXLAN网络,也称为EVPN实例。VXLAN网络通过VXLAN ID来标识,VXLAN ID又称VNI(VXLAN Network Identifier,VXLAN网络标识符),其长度为24比特。不同VXLAN网络中的虚拟机不能二层互通。

·     VSI(Virtual Switch Instance,虚拟交换实例):VTEP上为一个VXLAN提供二层交换服务的虚拟交换实例。VSI可以看作是VTEP上的一台基于VXLAN进行二层转发的虚拟交换机。VSI与VXLAN一一对应。

·     ES(Ethernet Segment,以太网段):用户站点连接到VTEP的链路,通过ESI(Ethernet Segment Identifier,以太网段标识符)唯一标识。目前,一个用户站点只能通过一条链路连接一台VTEP,该ES的ESI为0。

1.2  自动发现邻居、建立隧道、关联隧道

在EVPN的二层转发组网中,VTEP可以通过以下方式自动发现邻居、建立隧道并关联隧道:

·     IMET路由方式:VTEP通过IMET路由通告自己的VXLAN信息。这样,每个VTEP设备都能获取到网络中所有的VTEP及其所属VXLAN信息。如果本地VTEP和远端VTEP属于同一个VXLAN,则自动在二者之间建立VXLAN隧道,并将该隧道与该VXLAN关联。

·     MAC/IP发布路由方式:VTEP通过MAC/IP发布路由通告本地MAC地址和VXLAN信息。这样,每个VTEP设备都能通过接收到的MAC/IP发布路由获取到网络中的VTEP及其所属VXLAN信息。如果本地VTEP和远端VTEP属于同一个VXLAN,则自动在二者之间建立VXLAN隧道,并将该隧道与该VXLAN关联。

在EVPN的三层转发组网中,VTEP可以通过以下方式自动发现邻居、建立隧道并关联隧道:

·     IMET路由方式:VTEP通过IMET路由通告自己的VXLAN信息。这样,每个VTEP设备都能获取到网络中所有的VTEP及其所属VXLAN信息。如果本地VTEP和远端VTEP属于同一个VXLAN,则自动在二者之间建立VXLAN隧道,并将该隧道与该VXLAN关联。

·     MAC/IP发布路由和IP前缀路由方式:在EVPN的三层转发组网中,当本地VTEP接收到远端VTEP通告的MAC/IP发布路由或IP前缀路由,且该路由携带的Export target属性与本地某个VPN实例的Import target属性匹配时,本地VTEP会与远端VTEP建立VXLAN隧道,并将该VXLAN隧道与VPN实例对应的L3VNI(Layer 3 VNI,三层VXLAN ID)关联。L3VNI的详细介绍,请参见“1.6  分布式EVPN网关”。

1.3  识别报文所属的VXLAN

EVPN的MAC地址/ARP表项/ND表项学习、流量转发均基于报文所属的VXLAN进行,因此,VTEP接收到报文需要识别报文所属的VXLAN。

1.3.1  本地站点内接收到数据帧的识别

VTEP将连接本地站点的三层接口或以太网服务实例(Service Instance)与VSI关联。VTEP从三层接口或以太网服务实例接收到数据帧后,查找与其关联的VSI,VSI内创建的VXLAN即为该数据帧所属的VXLAN。

在VXLAN中,与VSI关联的三层接口或以太网服务实例称为AC(Attachment Circuit,接入电路)。以太网服务实例在二层以太网接口上创建,它定义了一系列匹配规则,用来匹配从该二层以太网接口上接收到的数据帧。

图1-2所示,VM 1属于VLAN 2,在VTEP上配置以太网服务实例1匹配VLAN 2的报文,将以太网服务实例1与VSI A绑定,并在VSI A内创建VXLAN 10,则VTEP接收到VM 1发送的数据帧后,可以判定该数据帧属于VXLAN 10。

图1-2 数据帧所属VXLAN识别

 

1.3.2  VXLAN隧道上接收报文的识别

对于从VXLAN隧道上接收到的VXLAN报文,VTEP根据报文中携带的VXLAN ID判断该报文所属的VXLAN。

1.4  转发二层流量

1.4.1  学习MAC地址

VTEP根据学习到的MAC地址表项转发二层单播流量。VTEP上MAC地址学习分为两部分:

·     本地MAC地址学习:学习本地站点内虚拟机的MAC地址。VTEP接收到本地虚拟机发送的数据帧后,判断该数据帧所属的VSI,并将数据帧中的源MAC地址(本地虚拟机的MAC地址)添加到该VSI的MAC地址表中,该MAC地址对应的接口为接收到数据帧的接口。

·     远端MAC地址学习:学习远端站点内虚拟机的MAC地址。VTEP通过MP-BGP协议将本地学习的MAC地址及其所属的VXLAN通告给远端VTEP。远端VTEP接收到该信息后,将其添加到所属VXLAN对应VSI的MAC地址表中,该MAC地址对应的接口为两个VTEP之间的VXLAN隧道接口(Tunnel接口)。

1.4.2  转发已知单播流量

VTEP接收到二层数据帧后,判断其所属的VSI,根据目的MAC地址查找该VSI的MAC地址表,通过表项的出接口转发该数据帧。如图1-3所示,如果出接口为本地接口,则VTEP直接通过该接口转发数据帧;如图1-4所示,如果出接口为Tunnel接口,则VTEP根据Tunnel接口为数据帧添加VXLAN封装后,通过VXLAN隧道将其转发给远端VTEP。

图1-3 站点内单播流量转发

 

图1-4 站点间单播流量转发

 

1.4.3  转发泛洪流量

泛洪流量包括组播、广播和未知单播流量,该流量通过单播路由方式(头端复制)转发。VTEP负责复制报文,采用单播方式将复制后的报文通过本地接口发送给本地站点,并通过VXLAN隧道发送给VXLAN内的所有远端VTEP。

图1-5 泛洪流量转发示意图

 

图1-5所示,泛洪流量转发过程为:

(1)     VTEP 1接收到本地虚拟机发送的组播、广播和未知单播数据帧后,判断数据帧所属的VXLAN,通过该VXLAN内除接收接口外的所有本地接口和VXLAN隧道转发该数据帧。通过VXLAN隧道转发数据帧时,需要为其封装VXLAN头、UDP头和IP头,以便将泛洪流量封装在多个单播报文中,发送到VXLAN内的所有远端VTEP。

(2)     远端VTEP(VTEP 2和VTEP 3)接收到VXLAN报文后,解封装报文,将原始的数据帧在本地站点的指定VXLAN内泛洪。为了避免环路,远端VTEP从VXLAN隧道上接收到报文后,不会再将其泛洪到其他的VXLAN隧道。

1.5  集中式EVPN网关

说明

本节仅以IPv4网络为例说明集中式EVPN网关转发三层流量的过程,IPv6网络中的三层流量转发过程与此类似。

 

集中式EVPN网关进行二层VXLAN业务终结的同时,还对内层封装的IP报文进行三层转发处理。

集中式EVPN网关配置简单,但不同VXLAN之间的流量以及VXLAN访问外界网络的流量全部由集中式EVPN网关处理,网关压力较大。

图1-6 集中式EVPN网关的三层通信过程

 

图1-6所示,集中式EVPN网关上需要配置VSI虚接口,该接口的IP地址作为VXLAN内虚拟机的网关IP地址。虚拟机访问其他子网的过程为:

(1)     虚拟机获取网关的MAC地址(网关IP对应的MAC地址),并将报文发送给集中式EVPN网关。

(2)     VTEP接收到报文后,根据目的MAC地址在VSI的MAC地址表中查找匹配的表项,将报文通过VXLAN隧道发送给集中式EVPN网关。

(3)     网关解除VXLAN封装后,对内层封装的IP报文进行三层转发,将其发送给最终的目的节点。

(4)     目的节点返回的报文到达网关后,网关根据已经学习到的虚拟机ARP表项,将报文转发给虚拟机。

1.6  分布式EVPN网关

说明

本节仅以IPv4网络为例说明分布式EVPN网关转发三层流量的过程,IPv6网络中的三层流量转发过程与此类似。

 

1.6.1  简介

图1-7所示,在分布式EVPN网关组网中,每台VTEP设备都作为EVPN网关,对本地站点的流量进行三层转发,缓解了网关的压力。

图1-7 分布式EVPN网关示意图

 

分布式EVPN网关支持非对称IRB和对称IRB两种流量转发方式:

·     非对称IRB转发方式:连接报文源节点的网关(入口网关)上需要进行二层和三层转发,连接目的节点的网关(出口网关)上仅需要进行二层转发。

·     对称IRB转发方式:入口网关和出口网关上的报文转发方式相同,都需要同时进行二层和三层转发。

1.6.2  对称IRB转发方式

1. 基本概念

对称IRB方式引入了如下概念:

·     L3VNI(Layer 3 VNI,三层VXLAN ID):在网关之间通过VXLAN隧道转发流量时,属于同一路由域、能够进行三层互通的流量通过L3VNI来标识。L3VNI唯一关联一个VPN实例,通过VPN实例确保不同业务之间的隔离。

·     网关的Router MAC地址:每个分布式EVPN网关拥有一个唯一的Router MAC地址,用于在网关之间通过VXLAN隧道转发流量。报文在网关之间转发时,报文的内层MAC地址为出口网关的Router MAC地址。

2. 分布式EVPN网关部署要求

图1-8所示,在分布式EVPN网关组网中,所有的分布式EVPN网关(GW)上都存在以下类型的VSI虚接口:

·     作为分布式网关接口的VSI虚接口。该接口需要与VSI、VPN实例关联。不同GW上相同VSI虚接口的IP地址必须相同,该IP地址作为VXLAN内虚拟机的网关地址。

·     承载L3VNI的VSI虚接口。该接口需要与VPN实例关联,并需要指定L3VNI。关联相同VPN实例的VSI虚接口共用该L3VNI。

边界网关(Border)上也需要存在承载L3VNI的VSI虚接口。

图1-8 分布式EVPN网关部署示意图

 

3. 三层转发表项学习

三层流量通过查找FIB表项进行转发。FIB表项通过路由信息或ARP信息生成。

在EVPN地址族下引入外部路由后,VTEP通过MP-BGP将该路由及其所属的L3VNI发布给远端VTEP,远端VTEP学习该路由,并将其添加到L3VNI对应VPN实例的FIB表项中,表项的出接口为两个VTEP之间的VXLAN隧道接口(Tunnel接口)、下一跳为路由的NEXT_HOP属性携带的地址(即对端VTEP的地址)。

VTEP上ARP信息学习分为两部分:

·     本地学习:学习本地站点内虚拟机的ARP信息。VTEP通过本地虚拟机发送的GARP、RARP和对网关的ARP请求学习本地虚拟机的ARP信息,并添加ARP表项和FIB表项。VTEP判断GARP、RARP、ARP请求所属的VSI,查找与该VSI关联的VSI虚接口。ARP表项和FIB表项的出接口为接收到报文的接口,该表项所属的VPN实例为VSI虚接口关联的VPN实例。

·     远端学习:学习远端站点内虚拟机的ARP信息。VTEP通过MP-BGP协议将本地的ARP信息及其所属的L3VNI通告给远端VTEP。远端VTEP学习该信息,但不会添加ARP表项,而是由路由管理模块添加FIB表项。该FIB表项的出接口为与L3VNI关联的VSI虚接口、下一跳为路由的NEXT_HOP属性携带的地址(即对端VTEP的地址),该表项所属的VPN实例为L3VNI对应的VPN实例。远端VTEP查找下一跳对应的ARP信息,并添加对应的ARP表项。

4. 流量转发过程

分布式网关对流量的转发方式分为两种:

·     区分二三层转发方式:对于二层流量,查找MAC地址表进行转发;对于三层流量,查找FIB表进行转发。在该方式下,建议在分布式网关上开启ARP/ND泛洪抑制功能,以减少泛洪流量。

·     全三层转发方式:对于二层和三层流量,均查找FIB表进行转发。在该方式下,需要在分布式网关上开启本地代理ARP功能。

查找MAC地址表转发二层流量的过程,请参见“1.4.2  转发已知单播流量”;相同站点间三层流量的转发过程如图1-9所示;不同站点间三层流量转发过程如图1-10所示。

图1-9 相同站点间三层流量转发过程

 

图1-10 不同站点间三层流量转发过程

 

以IPv4网络为例,查找FIB表转发流量的过程为:

(1)     虚拟机访问相同子网、不同子网内的其他虚拟机时,发送ARP请求获取ARP信息。

(2)     GW接收到ARP请求后,判断ARP请求所属VSI,采用与该VSI关联的VSI虚接口MAC地址对其进行应答。

(3)     虚拟机将报文发送给GW。

(4)     GW判断报文所属VSI,并查找与该VSI关联的VSI虚接口,在与VSI虚接口关联的VPN实例内查找FIB表项,并根据匹配的FIB表项转发报文:

¡     如果FIB表项的出接口为本地接口,则GW将目的MAC替换为目的虚拟机的MAC地址、源MAC替换为VSI虚接口的MAC,并通过本地接口转发给目的虚拟机。

¡     如果FIB表项的出接口为VSI虚接口,则GW将目的MAC替换为目的GW的Router MAC地址、源MAC替换为自己的Router MAC,报文添加VXLAN封装后将其转发给目的GW。其中,为报文封装的VXLAN ID为与VPN实例关联的L3VNI。

(5)     目的GW接收到报文后,根据L3VNI判断报文所属的VPN实例,解除VXLAN封装后,在该VPN实例内查找ARP表项转发该报文。

5. 转发公网三层流量及公私网互通

分布式EVPN网关基于VPN实例转发三层流量,不能转发公网的三层流量。将传统网络升级为EVPN网络时,用户可能希望在保持原有公私网部署不变的前提下,实现公私网流量通过分布式EVPN网关转发,并实现公私网的互通。此时,需要在分布式EVPN网关上配置公网实例。

公网实例可以看作是特殊的VPN实例,分布式EVPN网关对公网实例的处理与VPN实例完全相同:

·     公网实例也包括RD、Route Target属性和L3VNI。

·     如果VSI虚接口没有绑定任何VPN实例,则该VSI虚接口属于公网实例。

合理地规划公网实例、VPN实例的VPN target属性,可以实现公私网的互通。

1.6.3  非对称IRB转发方式

1. 分布式EVPN网关部署要求

非对称IRB与对称IRB方式中,分布式EVPN网关的部署方式基本相同。

图1-8所示,所有的分布式EVPN网关(GW)上都存在以下类型的VSI虚接口:

·     作为分布式网关接口的VSI虚接口。该接口需要与VSI、VPN实例关联。不同GW上相同VSI虚接口的IP地址不能相同。

·     承载L3VNI的VSI虚接口。在非对称IRB转发方式中,L3VNI用来实现VXLAN网络与外界网络的互通。当VXLAN内的虚拟机需要通过边界网关(Border)与外界通信时,GW上必须部署该类VSI虚接口。该接口需要与VPN实例关联,并需要指定L3VNI。关联相同VPN实例的VSI虚接口共用该L3VNI。

边界网关上也需要存在承载L3VNI的VSI虚接口。

2. 三层流量转发过程

目前,非对称IRB转发方式仅支持通过分布式EVPN网关转发相同VXLAN的三层流量。

在非对称IRB转发方式中,GW学习到本地虚拟机的ARP信息后,通过MAC/IP发布路由将其通告给其他GW。其他GW学习ARP信息,并生成对应的FIB表项。

图1-11所示,VM 1和VM 2属于VXLAN 10,通过分布式EVPN网关实现三层互通。分布式EVPN网关采用非对称IRB方式转发三层流量的过程为:

(1)     GW 1接收到VM 1发送的报文后,由于目的MAC地址为自己,GW 1剥离二层帧头,根据目的IP地址查找FIB表。

(2)     GW 1在FIB表中匹配到VM 2的ARP信息生成的FIB表项。

(3)     GW 1为报文封装源和目的MAC地址(分别为网关MAC地址和VM 2的MAC地址)、VXLAN头后,通过VXLAN隧道将其转发到GW 2。

(4)     GW 2接收到报文后,解除VXLAN封装,并在VXLAN 10内进行二层转发,即根据目的MAC地址查找MAC地址表。

(5)     GW 2根据MAC地址表查找结果,将报文转发给VM 2。

图1-11 非对称IRB三层流量转发过程

 

1.7  多归属站点

说明

多归属站点组网仅支持IPv4网络作为Underlay网络。

 

1.7.1  功能简介

当一个站点通过不同的以太网链路连接到多台VTEP时,这些链路就构成了一个ES(Ethernet Segment,以太网段),并以一个相同的ESI(ES Identifier)标识其属于同一个ES。连接的多台VTEP组成冗余备份组,可以避免VTEP单点故障对网络造成影响,从而提高EVPN网络的可靠性。

图1-12 多归属站点示意图

 

1.7.2  DF选举

当一个站点连接到多台VTEP时,为了避免冗余备份组中的VTEP均发送泛洪流量给该站点,需要在冗余备份组中选举一个VTEP作为DF(Designated Forwarder,指定转发者),负责将泛洪流量转发给本地站点。其他VTEP作为BDF(Backup DF,备份DF),不会向本地站点转发泛洪流量。多归属成员通过发送以太网段路由,向其它VTEP通告ES及其连接的VTEP信息,仅配置了ESI的VTEP会接收以太网段路由并根据其携带的ES、VTEP信息选举出DF。

设备支持多种DF选举算法,用户可以根据业务需要灵活地选择DF选举算法,使组网中DF能够均匀分布,提高网络设备的使用率。

图1-13 DF示意图

 

2. 基于VLAN Tag的DF选举算法

基于VLAN Tag的DF选举算法根据VLAN Tag和VTEP的IP地址为每个AC选举DF。

图1-14 基于VLAN Tag的DF选举

 

图1-14所示,以允许VLAN Tag 4通过的AC 1的DF选举为例,基于VLAN Tag的DF选举算法为:

(1)     选取AC内允许通过的最小VLAN Tag代表该AC。在本例中,代表AC 1的VLAN Tag为4。

(2)     VTEP根据接收到的以太网段路由,对携带相同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 1的DF为编号为0的VTEP 1。

3. 基于优先级的DF选举算法

基于优先级的DF选举算法根据DF选举优先级、DP(Don't Preempt Me,不可回切)位和VTEP的IP地址为每个ES选举DF。其中,DP位的取值包括:

·     1:表示开启了基于优先级DF选举算法不回切功能。即当前设备被选举为DF后,即使后续选举出了新的设备作为DF,依然使用当前设备作为DF。

·     0:表示关闭了基于优先级DF选举算法不回切功能。即当前设备被选举为DF后,如果后续选举出了新的设备作为DF,则直接使用新的设备作为DF。

图1-15 基于优先级的DF选举

 

图1-15所示,以ES 1、ES 2的DF选举为例,基于优先级的DF选举算法为:

(1)     同一ES内DF选举优先级(数值越大则优先级越高)最高的VTEP作为该ES的DF。在本例中,选举VTEP 2作为ES 1的DF。

(2)     若优先级相同,则DP位为1的VTEP作为DF。

(3)     若DP位相同,则IP地址小的VTEP作为DF。在本例中,选举VTEP 1作为ES 2的DF。

1.7.3  水平分割

在多归属站点组网中,VTEP接收到站点发送的组播、广播和未知单播数据帧后,判断数据帧所属的VXLAN,通过该VXLAN内除接收接口外的所有本地接口和VXLAN隧道转发该数据帧。同一冗余备份组中的VTEP接收到该数据帧后会在本地所属的VXLAN内泛洪,这样数据帧会通过AC泛洪到本地站点,造成环路和站点的重复接收。EVPN通过水平分割解决该问题。水平分割的机制为:VTEP接收到同一冗余备份组中成员转发的广播、组播、未知单播数据帧后,不向具有相同ESI标识的ES转发该数据帧。

图1-16 水平分割

 

1.7.4  冗余备份模式

当前设备支持的冗余备份模式为多活模式。

在该模式下,冗余备份组中的任何一台成员VTEP设备接收到本地站点发送的组播、广播和未知单播数据帧后,判断数据帧所属的VXLAN,通过该VXLAN内除接收接口外的所有本地接口和VXLAN隧道转发该数据帧。通过VXLAN隧道转发数据帧时,需要为其封装VXLAN头、UDP头和IP头,将泛洪流量封装在多个单播报文中,发送到VXLAN内的所有远端VTEP。

冗余备份组中的成员VTEP接收到远端VTEP发送的组播、广播和未知单播数据帧时,只有DF可以将数据帧泛洪到本地站点,BDF接收到后会将泛洪的数据帧丢弃。

1.7.5  Aliasing

在多活模式下,冗余备份组中的VTEP都会通过MP-BGP向远端VTEP通告同一ES的信息。即使只有一个VTEP学习到了MAC/ARP信息并发布给远端VTEP,远端VTEP除了会添加下一跳为该VTEP的IP地址,还会添加下一跳为冗余备份组中其他VTEP的IP地址,以实现自动在不同VTEP之间形成等价路径。该功能称为Aliasing。

1.8  ARP/ND泛洪抑制

为了避免广播发送的ARP请求报文和组播发送的ND请求占用核心网络带宽,VTEP会根据接收到的ARP/ND请求和ARP/ND应答报文、BGP EVPN路由在本地建立ARP/ND泛洪抑制表项。后续当VTEP收到本站点内虚拟机请求其它虚拟机MAC地址的ARP/ND请求时,优先根据ARP/ND泛洪抑制表项进行代答。如果没有对应的表项,则通过VXLAN隧道将ARP/ND请求泛洪到其他站点。ARP/ND泛洪抑制功能可以大大减少ARP/ND泛洪的次数。

图1-17 ARP泛洪抑制示意图

 

图1-17所示,以ARP为例,泛洪抑制的处理过程如下:

(1)     虚拟机VM 1发送ARP请求,获取VM 7的MAC地址。

(2)     VTEP 1根据接收到的ARP请求,建立VM 1的ARP泛洪抑制表项,在VXLAN内泛洪该ARP请求(图1-17以单播路由泛洪方式为例)。VTEP 1还会通过BGP EVPN将该表项同步给VTEP 2和VTEP 3。

(3)     远端VTEP(VTEP 2和VTEP 3)解封装VXLAN报文,获取原始的ARP请求报文后,在本地站点的指定VXLAN内泛洪该ARP请求。

(4)     VM 7接收到ARP请求后,回复ARP应答报文。

(5)     VTEP 2接收到ARP应答后,建立VM 7的ARP泛洪抑制表项,通过VXLAN隧道将ARP应答发送给VTEP 1。VTEP 2通过BGP EVPN将该表项同步给VTEP 1和VTEP 3。

(6)     VTEP 1解封装VXLAN报文,获取原始的ARP应答,将ARP应答报文发送给VM 1。

(7)     在VTEP 1上建立ARP泛洪抑制表项后,虚拟机VM 4发送ARP请求,获取VM 1的MAC地址。

(8)     VTEP 1接收到ARP请求后,建立VM 4的ARP泛洪抑制表项,并查找本地ARP泛洪抑制表项,根据已有的表项回复ARP应答报文,不会对ARP请求进行泛洪。

(9)     虚拟机VM 10发送ARP请求,获取VM 1的MAC地址。

(10)     VTEP 3接收到ARP请求后,建立VM 10的ARP泛洪抑制表项,并查找ARP泛洪抑制表项,根据已有的表项(VTEP 1通过BGP EVPN同步)回复ARP应答报文,不会对ARP请求进行泛洪。

1.9  MAC地址迁移

MAC地址迁移是指虚拟机或主机从一个ES迁移到另一个ES。原ES连接的VTEP无法感知MAC地址已经迁移到其他ES段。新迁移到的ES所在VTEP需要重新通告该MAC/IP路由。原VTEP在收到此路由后,撤销之前通告的路由。MAC地址每次迁移,迁移序列号依次递增,以便在MAC地址多次迁移时,通过序列号来标识最近一次迁移。


2 配置EVPN VXLAN

2.1  EVPN VXLAN配置任务简介

EVPN VXLAN配置任务如下:

(1)     配置VSI和VXLAN

a.     创建VSI和VXLAN

b.     (可选)配置VSI参数

(2)     配置EVPN实例

(3)     (可选)配置多归属站点

a.     配置ESI

b.     (可选)配置DF选举算法

c.     (可选)配置DF选举延迟时间

d.     (可选)配置禁止通告以太网自动发现路由和以太网段路由

e.     (可选)配置发布以太网自动发现路由和MAC/IP发布路由时忽略以太网标签

f.     (可选)配置成员设备监视BGP邻居状态

(4)     配置BGP发布EVPN路由

a.     开启BGP发布EVPN路由能力

b.     (可选)配置BGP EVPN路由属性

c.     (可选)配置BGP EVPN路由发布和优选

d.     (可选)配置BGP路由反射

e.     (可选)配置BGP EVPN路由过滤

f.     (可选)配置向对等体/对等体组发送BGP RPKI验证结果

g.     (可选)通过将所有路由更新信息保存在本地实现BGP软复位

h.     (可选)维护BGP会话

(5)     配置AC与VSI关联

(6)     配置EVPN网关

转发三层流量时,请选择以下一项任务进行配置:

¡     配置集中式EVPN网关

¡     配置分布式EVPN网关

(7)     (可选)管理MAC地址和ARP信息学习

(8)     (可选)配置BGP EVPN路由的引入和发布

¡     配置将包含ARP/ND信息的MAC/IP发布路由引入BGP单播路由表

¡     配置BGP EVPN路由添加到VPN实例路由表时的Metric值

¡     配置允许向本地站点发布BGP EVPN路由

¡     配置BGP EVPN路由的ORF功能

(9)     (可选)配置EVPN VXLAN网络与其他网络互通

¡     配置EVPN VXLAN网络与VPLS网络互通

¡     配置EVPN VXLAN网络与EVPN VPLS网络互通

(10)     (可选)维护和优化EVPN网络

¡     配置VSI泛洪抑制

¡     配置ARP/ND泛洪抑制

¡     开启VXLAN隧道的报文统计功能

¡     开启EVPN告警功能

2.2  EVPN VXLAN配置限制和指导

EVPN VXLAN功能仅在下表所列单板上配置生效。

表2-1 单板信息一览表

单板类型

单板丝印

CEPC单板

CEPC-XP4LX、CEPC-XP24LX、CEPC-XP48RX、CEPC-CP4RX、CEPC-CP4RX-L、CEPC-CQ8L、CEPC-CQ16L1

CSPEX单板

CSPEX-1304X、CSPEX-1304S、CSPEX-1404X、CSPEX-1404S、CSPEX-1502X、CSPEX-1504X、CSPEX-1504S、CSPEX-1602X、CSPEX-1804X、CSPEX-1512X、CSPEX-1612X、CSPEX-1812X、CSPEX-1802XB、CSPEX-1802X、CSPEX-1812X-E、CSPEX-2304X-G、CSPEX-2612X-E

SPE单板

RX-SPE200、RX-SPE200-E

 

仅上述单板上配置的VSI虚接口支持QoS策略和策略路由。策略的匹配条件不能为:

·     通过if-match命令匹配ACL规则中的VPN实例;

·     通过if-match命令匹配认证用户或者目的MAC地址;

·     通过if-match命令匹配二层ACL规则中的目的MAC地址。

配置EVPN网关功能时,AC不支持接入模式Ethernet(相关命令为xconnect vsi)。

同一个VSI虚接口不支持同时配置为网关接口和关联L3VNI。

VXLAN隧道既可以通过EVPN自动创建,也可以手工创建。隧道目的地址相同的EVPN自动创建隧道和手工创建隧道不能关联同一个VXLAN。手工创建VXLAN隧道的详细介绍,请参见“VXLAN配置指导”中的“VXLAN”。

建议在同一个EVPN网关上为所有的VSI虚接口配置相同的MAC地址,以免流量转发不通。

2.3  配置VSI和VXLAN

2.3.1  配置限制和指导

本配置中各命令的详细介绍,请参见“VXLAN命令参考”中的“VXLAN”。

2.3.2  创建VSI和VXLAN

(1)     进入系统视图。

system-view

(2)     开启L2VPN功能。

l2vpn enable

缺省情况下,L2VPN功能处于关闭状态。

(3)     创建VSI,并进入VSI视图。

vsi vsi-name

(4)     开启VSI。

undo shutdown

缺省情况下,VSI处于开启状态。

(5)     创建VXLAN,并进入VXLAN视图。

vxlan vxlan-id

在一个VSI下只能创建一个VXLAN。

不同VSI下创建的VXLAN,其VXLAN ID不能相同。

2.3.3  配置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地址学习功能。

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地址。

2.4  配置EVPN实例

2.4.1  功能简介

创建EVPN实例后,可以为其配置RD和RT属性。仅用于二层交换的VXLAN网络无需关联VPN实例。VTEP在发布该VXLAN内路由时,携带VXLAN对应EVPN实例下配置的RD和RT。

EVPN实例的创建方式包括以下几种:

·     系统视图下创建EVPN实例:创建EVPN实例后,不同的VSI均可以关联该EVPN实例,无需在各个VSI下重复配置相同的EVPN实例,以简化配置。

·     VSI实例下创建EVPN实例:创建EVPN实例时,该EVPN实例直接与该VSI关联,无需手动关联VSI与EVPN实例。

在EVPN实例视图下,可以配置入方向和出方向路由策略。其中:

·     入方向路由策略:用来对从BGP EVPN协议引入到EVPN实例的路由进行过滤。

·     出方向路由策略:用来对EVPN实例发布给BGP EVPN协议的路由进行过滤。

2.4.2  配置限制和指导

VSI实例视图下创建EVPN实例后,该VSI不能与系统视图下的EVPN实例关联;反之亦然。

2.4.3  配置系统视图下的EVPN实例并与VSI关联

(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相同,反之亦然。VPN实例、公网实例的配置,请参见“2.9.4  配置VSI虚接口关联L3VNI

 

(5)     (可选)对EVPN实例应用出方向路由策略。

export route-policy route-policy

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

(6)     (可选)对EVPN实例应用入方向路由策略。

import route-policy route-policy

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

(7)     退回系统视图。

quit

(8)     进入VSI视图。

vsi vsi-name

(9)     配置VSI与EVPN实例关联。

evpn encapsulation vxlan binding instance instance-name vsi-tag { tag-id | auto-vxlan }

缺省情况下,VSI未关联EVPN实例。

一个VSI实例可以关联一个或者两个EVPN实例。关联两个EVPN实例时,其中一个EVPN实例的封装类型必须为MPLS,另一个EVPN实例的封装类型必须为VXLAN。

2.4.4  配置VSI实例下的EVPN实例

(1)     进入系统视图。

system-view

(2)     进入VSI视图。

vsi vsi-name

(3)     创建EVPN实例,并进入VSI实例下的EVPN实例视图。

evpn encapsulation vxlan

(4)     配置EVPN实例的RD。

route-distinguisher { route-distinguisher | auto [ router-id ] }

缺省情况下,未指定EVPN实例的RD。

(5)     配置EVPN实例的Route Target属性。

vpn-target { vpn-target&<1-8> | auto } [ 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相同,反之亦然。VPN实例、公网实例的配置,请参见“2.9.4  配置VSI虚接口关联L3VNI

 

2.5  配置多归属站点

2.5.1  配置限制和指导

多归属的站点,在冗余备份组的每个成员设备上的AC和VXLAN ID的配置应该保持一致,VXLAN ID相同的VSI应该配置不同的EVPN实例的RD,相同VXLAN网关关联的VPN实例或公网实例应该配置不同的RD。

主接口及其子接口上均可以配置ESI:

·     若主接口及其子接口上都配置了ESI,或仅在子接口上配置了ESI,则子接口的ESI以该子接口上的配置为准,子接口的ES相关配置(evpn df-election algorithmevpn df-election preferenceevpn df-election preference non-revertiveevpn timer es-delay命令)也以该子接口上的配置为准。

·     若仅在主接口上配置了ESI,则子接口继承主接口的ESI和ES相关配置。即使 子接口上执行了ES相关配置,也不会生效。

2.5.2  配置ESI

1. 功能简介

ESI是ES的唯一标识,ESI相同的接口(或VSI)属于同一个ES,报文可以在这些接口(或VSI)之间进行负载分担。

2. 配置接口的ESI

(1)     进入系统视图。

system-view

(2)     进入接口视图。

¡     进入二层以太网接口视图。

interface interface-type interface-number

¡     进入二层聚合接口视图。

interface bridge-aggregation interface-number

¡     进入三层接口视图。

interface interface-type interface-number

¡     进入三层聚合接口视图。

interface route-aggregation interface-number

¡     进入FlexE物理接口视图。

interface interface-type interface-number

¡     进入FlexE业务接口视图。

interface flexe interface-number

(3)     配置接口ESI。

esi esi-id

缺省情况下,未配置接口的ESI。

3. 配置VSI的ESI

(1)     进入系统视图。

system-view

(2)     进入VSI视图。

vsi vsi-name

(3)     配置VSI的ESI。

esi esi-id

缺省情况下,未配置VSI的ESI。

2.5.3  配置DF选举算法

1. 功能简介

在EVPN多归属组网中,用户可以通过本功能灵活地选择DF选举算法,以提高设备的利用率。

2. 配置限制和指导

如果在作为AC的子接口上配置了模糊VLAN终结,则不能使用基于VLAN Tag的DF选举算法。否则,会导致流量转发错误。

系统视图和接口视图下均可以配置DF选举算法。系统视图的配置对所有ES都有效,而接口视图下的配置只对当前接口下的ES有效。对于一个ES来说,优先采用该接口视图下的配置,只有该接口下未进行配置时,才采用系统视图的配置。

3. 全局配置DF选举算法

(1)     进入系统视图。

system-view

(2)     全局配置DF选举算法。

evpn df-election algorithm algorithm

缺省情况下,采用基于VLAN Tag的算法。

4. 接口下配置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

¡     进入FlexE物理接口视图。

interface interface-type interface-number

¡     进入FlexE业务接口视图。

interface flexe interface-number

(3)     配置DF选举算法。

evpn df-election algorithm algorithm

缺省情况下,以系统视图下配置的DF选举算法为准。

5. 配置基于优先级的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

¡     进入FlexE物理接口视图。

interface interface-type interface-number

¡     进入FlexE业务接口视图。

interface flexe interface-number

(3)     配置DF选举优先级。

evpn df-election preference preference

缺省情况下,DF选举优先级为32767。

DF选举优先级数值越大则优先级越高。

(4)     (可选)开启基于优先级DF选举算法的不回切功能。

evpn df-election preference non-revertive

缺省情况下,基于优先级算法的DF选举不回切功能处于关闭状态。

2.5.4  配置DF选举延迟时间

1. 功能简介

AC所在接口的状态、多归属成员设备数量或者接口下ESI值的频繁变化都会导致DF频繁选举,极大影响了网络的性能。通过本命令可以指定DF选举的时间间隔,避免频繁选举DF,保证网络的稳定性。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置DF选举延迟时间。

evpn multihoming timer df-delay delay-value

缺省情况下,DF选举的延迟时间为3秒。

2.5.5  配置禁止通告以太网自动发现路由和以太网段路由

1. 功能简介

在站点多归属组网中,用户需要重启其中一台VTEP时,重启该VTEP前,可以通过在该VTEP上执行本命令,来禁止通告以太网自动发现路由和以太网段路由,并撤销已经通告的该类路由,以便其他VTEP及时更新本地的EVPN路由表,确保VTEP的重启不会影响报文转发。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置禁止通告以太网自动发现路由和以太网段路由,并撤销已经通告的该类路由。

evpn multihoming advertise disable

缺省情况下,允许通告EVPN以太网自动发现路由和以太网段路由。

2.5.6  配置发布以太网自动发现路由和MAC/IP发布路由时忽略以太网标签

1. 功能简介

多归属站点组网中,为冗余备份组成员上的AC配置ESI后,冗余备份组成员发送以太网自动发现路由和MAC/IP发布路由时会携带AC的以太网标签。如果对端设备无法识别以太网标签,为了与该对端设备互通,需要在本端设备上配置本命令,使得本端设备将发送的以太网自动发现路由和MAC/IP发布路由中的以太网标签字段填为0。

执行本命令后,设备会撤销已经发布的以太网自动发现路由和MAC/IP发布路由,并重新发布以太网标签字段为0的以太网自动发现路由和MAC/IP发布路由。

2. 配置限制和指导

为二层以太网接口或二层聚合接口配置ESI后,同一个接口上创建的不同以太网服务实例不能关联相同的VSI,具有相同ESI的接口上的以太网服务实例也不能关联相同的VSI。

为三层主接口配置ESI后,如果该接口上的子接口未配置ESI,则子接口会继承主接口的ESI。此时,具有相同ESI的子接口不能关联相同的VSI。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置发布以太网自动发现路由和MAC/IP发布路由时忽略以太网标签。

evpn multihoming advertise ignore-ethernet-tag

缺省情况下,PE发送以太网自动发现路由和MAC/IP发布路由时携带以太网标签。

2.5.7  配置成员设备监视BGP邻居状态

1. 功能简介

在多归属组网中,冗余备份组的一台成员设备因故障等原因重启后,站点间的广播流量转发可能会失败。为了解决这个问题,可以在成员设备连接CE的接口上执行本配置。这样,当成员设备从故障中恢复且连接CE的接口状态变为Up时,成员设备会启动以太网段路由的延迟发送定时器,并对指定的BGP邻居状态进行监控。如果在定时器超时前,所有设备的BGP邻居状态均Up,则本地成员设备正常发送以太网段路由;否则,定时器超时后,本地成员设备向所有BGP邻居状态为Up的设备发送以太网段路由。定时器超时或所有监控的BGP邻居均Up后,本地成员设备根据收到的所有以太网段路由进行DF选举。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入接口视图。

¡     进入二层以太网接口视图。

interface interface-type interface-number

¡     进入二层聚合接口视图。

interface bridge-aggregation interface-number

¡     进入三层接口视图。

interface interface-type interface-number

¡     进入三层聚合接口视图。

interface route-aggregation interface-number

¡     进入FlexE物理接口视图。

interface interface-type interface-number

¡     进入FlexE业务接口视图。

interface flexe interface-number

(3)     配置冗余备份组中的成员设备监视其它VTEP设备的BGP邻居状态。

evpn track peer peer-address

缺省情况下,冗余备份组中的成员设备不会监视其它设备的BGP邻居状态。

(4)     开启以太网段路由延迟发布功能,并指定延迟发布时间。

evpn timer es-delay delay-time

缺省情况下,以太网段路由延迟发布功能处于关闭状态,即不延迟发布以太网段路由。

2.6  配置BGP发布EVPN路由

2.6.1  配置限制和指导

设备从IPv4地址的BGP EVPN对等体接收到EVPN路由后,可以将该路由发布给IPv6地址的BGP EVPN对等体;反之亦然。

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

2.6.2  开启BGP发布EVPN路由能力

(1)     进入系统视图。

system-view

(2)     配置全局Router ID。

router id router-id

缺省情况下,未配置全局Router ID。

(3)     启动BGP实例,并进入BGP实例视图。

bgp as-number [ instance instance-name ]

缺省情况下,系统没有运行BGP。

(4)     将远端VTEP配置为对等体。

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

(5)     创建BGP EVPN地址族,并进入BGP EVPN地址族视图。

address-family l2vpn evpn

(6)     使能本地路由器与指定对等体/对等体组交换BGP EVPN路由的能力。

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

缺省情况下,本地路由器不能与对等体/对等体组交换BGP EVPN路由。

2.6.3  配置BGP EVPN路由属性

(1)     进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

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

address-family l2vpn evpn

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

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

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

(5)     配置对于从对等体/对等体组接收的BGP消息,允许本地AS号在该消息的AS_PATH属性中出现,并配置允许出现的次数。

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

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

(6)     配置向指定EBGP对等体/对等体组发送BGP更新消息时删除或替换AS_PATH属性的私有AS号。

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

peer { group-name | ipv4-address [ mask-length ] | ipv6-address [ prefix-length ] } public-as-only [ force [ include-peer-as ] ] keep-local-as

缺省情况下,向EBGP对等体/对等体组发送BGP更新消息时,不会删除或替换AS_PATH属性中的私有AS号,即可以同时携带公有AS号和私有AS号。

(7)     配置向EBGP对等体/对等体组发布路由时不改变下一跳。

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

缺省情况下,向EBGP对等体/对等体组发布路由时会将下一跳改为自己的地址。

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

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

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

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

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

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

(10)     为对等体/对等体组配置SoO(Site of Origin,源站点)属性。

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

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

(11)     为对等体/对等体组配置链路带宽属性。

peer { group-name | ipv4-address [ mask-length ] | ipv6-address [ prefix-length ] } bandwidth

缺省情况下,没有为对等体/对等体组配置链路带宽属性。

2.6.4  配置BGP EVPN路由发布和优选

(1)     进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

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

address-family l2vpn evpn

(4)     配置向对等体/对等体组发送缺省路由。

peer { group-name | ipv4-address [ mask-length ] | ipv6-address [ prefix-length ] } default-route-advertise { ipv4 | ipv6 } vpn-instance vpn-instance-name

缺省情况下,不向对等体/对等体组发送缺省路由。

(5)     配置BGP选择最优路由时,优选下一跳地址为IPv6地址的路由。

bestroute ipv6-nexthop

缺省情况下,BGP选择最优路由时,优选下一跳地址为IPv4地址的路由。

(6)     为指定对等体/对等体组设置高优先级,路由选路时优选从该对等体/对等体组学习到的路由。

peer { group-name | ipv4-address [ mask-length ] | ipv6-address [ prefix-length ] } high-priority

缺省情况下,BGP不为指定对等体/对等体组设置高优先级,选路规则不发生变化。

本命令仅对当前地址族下学习到的BGP路由优选生效,这些路由加入到其他实例或地址族的BGP路由表后,是否被优选不受本命令的影响。

(7)     配置BGP路由延迟优选。

route-select delay delay-value

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

(8)     配置BGP路由衰减。

¡     配置EBGP路由的衰减。

dampening [ half-life-reachable half-life-unreachable reuse suppress ceiling | route-policy route-policy-name ] *

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

¡     配置IBGP路由的衰减。

dampening ibgp [ half-life-reachable half-life-unreachable reuse suppress ceiling | route-policy route-policy-name ] *

本命令的详细介绍,请参见“MPLS命令参考”中的“MPLS L3VPN”。

缺省情况下,未配置BGP路由衰减。

有关路由衰减的详细介绍,请参见“三层技术-IP路由配置指导”中的“BGP”。

(9)     开启下一跳路由迭代变化延迟响应功能。

nexthop recursive-lookup [ non-critical-event ] delay [ delay-value ]

缺省情况下,下一跳路由迭代变化延迟响应功能处于关闭状态。

(10)     设置允许从指定对等体/对等体组接收的BGP EVPN路由的最大数量。

¡     设置允许从指定对等体/对等体组接收的所有类型的BGP EVPN路由的最大数量。

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

¡     设置允许从指定对等体/对等体组接收的MAC/IP发布路由的最大数量。

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

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

在BGP EVPN地址族视图下,对于同一对等体/对等体组,peer macip-route-limit命令和peer route-limit命令互斥。

2.6.5  配置BGP路由反射

(1)     进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

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

address-family l2vpn evpn

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

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

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

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

reflect between-clients

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

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

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

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

(7)     (可选)配置路由反射器对反射的EVPN路由进行过滤。

rr-filter { ext-comm-list-number | ext-comm-list-name }

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

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

reflect change-path-attribute

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

(9)     (可选)配置将指定对等体/对等体组加入就近反射组。

peer { group-name | ipv4-address [ mask-length ] | ipv6-address [ prefix-length ] } reflect-nearby-group

缺省情况下,就近反射组中不存在任何对等体或对等体组

路由反射器在就近反射组内的对等体/对等体组之间反射路由时,不修改下一跳属性。

2.6.6  配置BGP EVPN路由过滤

(1)     进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

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

address-family l2vpn evpn

(4)     开启BGP EVPN路由的VPN-Target过滤功能。

policy vpn-target

缺省情况下,BGP EVPN路由的VPN-Target过滤功能处于开启状态。

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

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

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

(6)     配置通过存在策略对BGP EVPN发布路由进行控制。

peer { group-name | ipv4-address [ mask-length ] | ipv6-address [ prefix-length ] } advertise-policy advertise-policy-name exist-policy exist-policy-name

缺省情况下,不对发布的BGP EVPN路由进行控制。

(7)     配置通过不存在策略对BGP EVPN发布路由进行控制。

peer { group-name | ipv4-address [ mask-length ] | ipv6-address [ prefix-length ] } advertise-policy advertise-policy-name non-exist-policy non-exist-policy-name

缺省情况下,不对发布的BGP EVPN路由进行控制。

(8)     为对等体/对等体组设置基于二层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路由的过滤不生效。

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

¡     为IPv4类型的BGP EVPN路由设置过滤策略。

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

¡     为IPv6类型的BGP EVPN路由设置过滤策略。

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

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

本配置只能过滤携带了主机路由信息的MAC/IP发布路由以及IP前缀路由,无法过滤其他类型的EVPN路由。

2.6.7  配置向对等体/对等体组发送BGP RPKI验证结果

1. 配置限制和指导

BGP RPKI验证结果以扩展团体属性的方式传递。有关BGP RPKI的详细介绍,请参见“三层技术-IP路由配置指导”中的“BGP”。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

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

address-family l2vpn evpn

(4)     配置向对等体/对等体组发送BGP RPKI验证结果。

peer { group-name | ipv4-address [ mask-length ] | ipv6-address [ prefix-length ] } advertise origin-as-validation

缺省情况下,不会向对等体/对等体组发送BGP RPKI验证结果。

2.6.8  通过将所有路由更新信息保存在本地实现BGP软复位

1. 功能简介

对于不支持Route-refresh功能的设备,可以配置本功能,将从对等体接收的所有原始路由更新信息保存在本地,当选路策略发生改变后,对保存在本地的所有路由使用新的路由策略进行重新过滤,以实现BGP软复位。

2. 配置限制和指导

有关Route-refresh功能以及BGP软复位的详细介绍,请参见“三层技术-IP路由配置指导”中的“BGP”。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

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

address-family l2vpn evpn

(4)     保存所有来自指定对等体/对等体组的原始路由更新信息。

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

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

2.6.9  维护BGP会话

请在用户视图下执行如下命令,复位或软复位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

2.7  配置AC与VSI关联

2.7.1  配置三层接口与VSI关联

1. 功能简介

将三层接口与VSI关联后,从三层接口接收到的报文,将通过查找关联VSI的MAC地址表进行转发。

本配置中各命令的详细介绍,请参见“VXLAN命令参考”中的“VXLAN”。

2. 配置步骤

(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。

2.7.2  配置以太网服务实例与VSI关联

1. 功能简介

将以太网服务实例与VSI关联后,从该接口接收到的、符合以太网服务实例报文匹配规则的报文,将通过查找关联VSI的MAC地址表进行转发。以太网服务实例提供了多种报文匹配规则(包括接口接收到的所有报文、所有携带VLAN Tag的报文和所有不携带VLAN Tag的报文等),为报文关联VSI提供了更加灵活的方式。

本配置中各命令的详细介绍,请参见“VXLAN命令参考”中的“VXLAN”。

2. 配置限制和指导

不能通过重复执行encapsulation命令修改报文匹配规则。如需修改报文匹配规则,请先通过undo encapsulation命令删除报文匹配规则,再执行encapsulation命令。

删除以太网服务实例下的报文匹配规则后,会自动取消以太网服务实例与VSI的关联。

3. 配置步骤

(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 } ] [ track track-entry-number&<1-3> ]

缺省情况下,以太网服务实例未关联VSI。

2.8  配置集中式EVPN网关

1. 配置限制和指导

在集中式EVPN网关组网中,VTEP上需要开启ARP/ND泛洪抑制功能。EVPN组网中通常关闭远端ARP/ND自动学习功能,网关从VXLAN隧道上接收到请求网关MAC地址的ARP/ND请求后,不会对其进行应答。如果未开启ARP/ND泛洪抑制功能,则可能会导致虚拟机获取不到网关的MAC地址。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     创建VSI虚接口,并进入VSI虚接口视图。

interface vsi-interface vsi-interface-id

本命令的详细介绍,请参见“VXLAN命令参考”中的“VXLAN”。

(3)     配置VSI虚接口的IP地址。

(IPv4网络)

ip address ip-address { mask | mask-length } [ sub ]

(IPv6网络)

IPv6地址的配置方法,请参见“三层技术-IP业务配置指导”中的“IPv6基础”。

缺省情况下,未配置VSI虚接口的IPv4地址。

(4)     退回系统视图。

quit

(5)     进入VXLAN所在VSI视图。

vsi vsi-name

(6)     为VSI指定网关接口。

gateway vsi-interface vsi-interface-id

缺省情况下,未指定VSI的网关接口。

本命令的详细介绍,请参见“VXLAN命令参考”中的“VXLAN”。

2.9  配置分布式EVPN网关

2.9.1  配置限制和指导

分布式EVPN网关连接IPv4站点网络时,所有网关上都需要为相同VSI虚接口配置相同的MAC地址。如果网关同时连接IPv4站点网络和IPv6站点网络,则不同分布式EVPN网关上需要为相同VSI虚接口配置不同的链路本地地址。

如果虚拟机要想与外部网络进行三层通信,那么完成分布式EVPN网关的配置后,还需要在接入虚拟机的本地分布式EVPN网关上配置静态路由或策略路由:

·     配置静态路由:指定路由的下一跳为Border上同一个VXLAN对应VSI虚接口的IP地址。

·     配置策略路由:通过apply default-next-hop命令或apply next-hop命令设置报文的缺省下一跳或下一跳为Border上同一个VXLAN对应VSI虚接口的IP地址。策略路由的配置方法,请参见“三层技术-IP路由配置指导”中的“策略路由”。

在分布式EVPN网关设备上,如果开启了ARP/ND泛洪抑制功能,并在VSI虚接口上开启了本地代理ARP/ND功能,则只有本地代理ARP/ND功能生效。建议不要在分布式EVPN网关设备上同时开启这两个功能。

在分布式EVPN网关设备上,如果通过mac-address命令修改了某一关联L3VNI的VSI虚接口的MAC地址,则必须通过该命令将所有与L3VNI关联的VSI虚接口的MAC地址修改为相同的值,否则可能会导致报文转发失败。

2.9.2  配置EVPN VXLAN的转发方式

1. 配置限制和指导

目前,非对称IRB转发方式仅支持通过分布式EVPN网关转发相同VXLAN的三层流量,且不同GW上相同VSI虚接口的IP地址不能相同。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置EVPN VXLAN的转发方式。请选择其中一项进行配置。

¡     EVPN VXLAN采用非对称IRB方式转发流量。

evpn irb asymmetric

¡     EVPN VXLAN采用对称IRB方式转发流量。

undo evpn irb asymmetric

缺省情况下,EVPN网关采用对称IRB方式转发流量。

2.9.3  配置VSI虚接口作为分布式网关接口

1. 功能简介

为了节省分布式VXLAN IP网关设备上的三层接口资源,在网关设备上多个VXLAN可以共用一个VSI虚接口,为VSI虚接口配置一个主IPv4地址和多个从IPv4地址、或多个IPv6地址,分别作为不同VXLAN内虚拟机的网关地址。

多个VXLAN共用一个VSI虚接口时,网关设备无法判断从VSI虚接口接收到的报文属于哪个VXLAN。为了解决该问题,需要在VSI视图下通过gateway subnet命令指定VSI所属的子网网段,通过子网网段判断报文所属的VSI,并在该VSI内转发报文,从而限制IPv4广播报文或IPv6组播报文范围,有效地节省带宽资源。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     创建VSI虚接口,并进入VSI虚接口视图。

interface vsi-interface vsi-interface-id

本命令的详细介绍,请参见“VXLAN命令参考”中的“VXLAN”。

(3)     配置VSI虚接口的IPv4地址或IPv6地址。

(IPv4网络)

ip address ip-address { mask | mask-length } [ sub ]

(IPv6网络)

IPv6地址的配置方法,请参见“三层技术-IP业务配置指导”中的“IPv6基础”。

缺省情况下,未配置VSI虚接口的IPv4地址和IPv6地址。

(4)     (可选)配置VSI虚接口的MAC地址。

mac-address mac-address

缺省情况下,VSI虚接口的MAC地址为桥MAC地址+2。

如果通过本命令修改VSI虚接口的MAC地址,则不同分布式EVPN网关设备上,为同一个VXLAN的VSI虚接口配置的MAC地址必须相同。否则,虚拟机可能错误地将网关IP地址对应的MAC地址学习为远端网关的MAC地址,导致流量转发失败。

(5)     配置VSI虚接口为分布式网关接口。

distributed-gateway local

缺省情况下,VSI虚接口不是分布式本地网关接口。

本命令的详细介绍,请参见“VXLAN命令参考”中的“VXLAN”。

(6)     (可选)开启本地代理ARP功能或本地ND代理功能。

(IPv4网络)

local-proxy-arp enable [ ip-range startIP to endIP ]

缺省情况下,本地代理ARP功能处于关闭状态。

本命令的详细介绍,请参见“三层技术-IP业务命令参考”中的“代理ARP”。

(IPv6网络)

local-proxy-nd enable

缺省情况下,本地ND代理功能处于关闭状态。

本命令的详细介绍,请参见“三层技术-IP业务命令参考”中的“IPv6基础”。

(7)     退回系统视图。

quit

(8)     进入VXLAN所在VSI视图。

vsi vsi-name

(9)     为VSI指定网关接口。

gateway vsi-interface vsi-interface-id

缺省情况下,未指定VSI的网关接口。

本命令的详细介绍,请参见“VXLAN命令参考”中的“VXLAN”。

(10)     配置当前VSI所属的子网网段。

gateway subnet { ipv4-address wildcard-mask | ipv6-address prefix-length }

缺省情况下,未指定VSI所属的子网网段。

本命令的详细介绍,请参见“VXLAN命令参考”中的“VXLAN”。

2.9.4  配置VSI虚接口关联L3VNI

1. 配置限制和指导

L3VNI不能与mapping vni命令配置的映射远端VXLAN ID相同。映射远端VXLAN ID的详细介绍,请参见“EVPN配置指导”中的“EVPN数据中心互联。

分布式EVPN网关的Router MAC的选取方法为:

·     如果设备上的VSI虚接口均未关联L3VNI或所有VSI虚接口均未通过mac-address命令配置MAC地址,则设备的桥MAC地址将作为分布式EVPN网关的Router MAC。

·     如果设备上存在关联了L3VNI的VSI虚接口,且通过mac-address命令为该接口配置了MAC地址,则必须为所有关联L3VNI的VSI虚接口配置相同的MAC地址,该MAC地址作为分布式EVPN网关的Router MAC。

若分布式EVPN网关已经完成Router MAC选举,且选定的MAC地址生效,则新增VSI虚接口时,不会重新选举Router MAC。

2. 配置VSI虚接口关联L3VNI(VPN实例)

(1)     进入系统视图。

system-view

(2)     配置VPN实例。

a.     创建VPN实例,并进入VPN实例视图。

ip vpn-instance vpn-instance-name

b.     配置VPN实例的RD。

route-distinguisher route-distinguisher

缺省情况下,未配置VPN实例的RD。

c.     配置VPN实例的RT。

vpn-target { vpn-target&<1-8> [ both | export-extcommunity | import-extcommunity ] | auto }

缺省情况下,未配置VPN实例的Route Target。

d.     (可选)对VPN实例应用出方向路由策略。

export route-policy route-policy

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

e.     (可选)对VPN实例应用入方向路由策略。

import route-policy route-policy

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

f.     (可选)进入VPN实例IPv4地址族视图或VPN实例IPv6地址族视图。

address-family { ipv4 | ipv6 }

g.     (可选)配置EVPNRT。

vpn-target vpn-target&<1-8> [ both | export-extcommunity | import-extcommunity ] evpn

执行本命令后,配置的RT仅用于EVPN路由,不用于VPNv4和VPNv6路由,从而实现EVPN与VPNv4/VPNv6路由使用不同的RT。

本命令的详细介绍,请参见“MPLS命令参考”中的“MPLS L3VPN”。

h.     (可选)退回VPN实例视图。

quit

(3)     配置VPN实例下的EVPN。

a.     进入VPN实例EVPN视图。

address-family evpn

b.     在VPN实例下配置EVPN的Route Target。

vpn-target vpn-target&<1-8> [ both | export-extcommunity | import-extcommunity ]

缺省情况下,VPN实例下的EVPN未配置Route Target。

建议为EVPN实例配置的Import target不要与VPN实例的Export target匹配,反之亦然。

c.     (可选)在VPN实例下配置EVPN的出方向路由策略。

export route-policy route-policy

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

出方向路由策略用来对VPN实例发布给BGP EVPN协议的路由进行过滤。

d.     (可选)在VPN实例下配置EVPN的入方向路由策略。

import route-policy route-policy

缺省情况下,在VPN实例下未配置EVPN的入方向路由策略,即如果接收到的路由携带的Route Target属性中存在与本地配置的Import Target相同的值,则接收该路由。

入方向路由策略用来对从BGP EVPN协议引入到VPN实例的路由进行过滤。

(4)     依次执行以下命令,退回系统视图。

a.     quit

b.     quit

(5)     进入VSI虚接口视图。

interface vsi-interface vsi-interface-id

(6)     配置接口与指定的VPN实例关联。

ip binding vpn-instance vpn-instance-name

缺省情况下,接口未关联VPN实例,接口属于公网。

(7)     (可选)配置VSI虚接口的MAC地址。

mac-address mac-address

缺省情况下,VSI虚接口的MAC地址为桥MAC地址+2。

(8)     配置VPN实例的L3VNI。

l3-vni vxlan-id

缺省情况下,未配置VPN实例的L3VNI。

一个VPN实例只能关联一个L3VNI。若为VPN实例配置多个L3VNI,则该VPN实例与数值最小的L3VNI关联。通过display evpn routing-table命令可以查看与VPN实例关联的L3VNI。

3. 配置VSI虚接口关联L3VNI(公网实例)

(1)     进入系统视图。

system-view

(2)     创建公网实例,并进入公网实例视图。

ip public-instance

(3)     配置公网实例的RD。

route-distinguisher route-distinguisher

缺省情况下,未配置公网实例的RD。

(4)     配置公网实例的L3VNI。

l3-vni vxlan-id

缺省情况下,未配置公网实例的L3VNI。

一个公网实例只能关联一个L3VNI。不能通过重复执行本命令修改公网实例的L3VNI。如需修改,请先删除已有的L3VNI后再配置。

(5)     进入公网实例IPv4地址族视图、IPv6 VPN视图或公网实例EVPN视图。

¡     进入公网实例IPv4地址族视图。

address-family ipv4

¡     进入公网实例IPv4地址族视图。

address-family ipv6

¡     进入公网实例EVPN视图。

address-family evpn

(6)     在公网实例下配置IPv4 VPN、IPv6 VPN或EVPN的Route Target。

vpn-target vpn-target&<1-8> [ both | export-extcommunity | import-extcommunity ]

缺省情况下,公网实例下的IPv4 VPN、IPv6 VPN和EVPN未配置Route Target。

建议为EVPN实例配置的Import target不要与公网实例的Export target匹配,反之亦然。

(7)     依次执行以下命令,退回系统视图。

a.     quit

b.     quit

(8)     创建VSI虚接口,并进入VSI虚接口视图。

interface vsi-interface vsi-interface-id

(9)     在属于公网实例的VSI虚接口上配置L3VNI。

l3-vni vxlan-id

缺省情况下,在属于公网实例的VSI虚接口上未配置L3VNI。

在所有属于公网实例的VSI虚接口中,必须至少有一个接口上配置的L3VNI与公网实例视图下指定的L3VNI相同。

2.9.5  配置发布IP前缀路由

1. 功能简介

在BGP-VPN IPv4单播地址族视图/BGP-VPN IPv6单播地址族视图下引入IGP路由后,如果该VPN实例关联了L3VNI,则引入的路由将作为EVPN的IP前缀路由发布给远端VTEP。

在BGP IPv4单播地址族视图/BGP IPv6单播地址族视图下引入IGP路由后,如果公网实例关联了L3VNI,则引入的路由将作为EVPN的IP前缀路由发布给远端VTEP。

远端VTEP接收到EVPN的IP前缀路由后,将路由中的Route Target属性与本地VPN实例/公网实例下为IPv4 VPN/IPv6 VPN配置的Import Target进行比较。若匹配则接收该路由,并将该路由添加到该VPN实例或公网的路由表中。

2. 配置限制和指导

只有分布式EVPN网关组网支持本配置。

本配置中各命令的详细介绍,请参见“三层业务-IP路由命令参考”中的“BGP”。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

(3)     进入BGP IPv4单播地址族视图。

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

address-family ipv4 [ unicast ]

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

ip vpn-instance vpn-instance-name

address-family ipv4 [ unicast ]

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

address-family ipv6 [ unicast ]

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

ip vpn-instance vpn-instance-name

address-family ipv6 [ unicast ]

(4)     将IGP路由协议的路由信息引入到BGP路由表中。

import-route protocol [ { process-id | all-processes } [ allow-direct | med med-value | route-policy route-policy-name ] * ]

缺省情况下,BGP不会引入IGP路由协议的路由信息。

(5)     (可选)允许将缺省路由引入到BGP路由表中。

default-route imported

缺省情况下,BGP不允许将缺省路由引入到BGP路由表中。

(6)     (可选)配置VPN引入等价路由功能。

a.     退回BGP实例视图。

quit

b.     进入BGP EVPN地址族视图。

address-family l2vpn evpn

c.     开启VPN引入等价路由功能。

vpn-route cross multipath

缺省情况下,VPN引入等价路由功能处于关闭状态,对于前缀和RD均相同的多条路由,只会将最优路由引入到BGP EVPN路由表中。

开启本功能后,BGP将前缀和RD均相同的多条路由全部引入到BGP EVPN路由表中。

2.10  管理MAC地址和ARP信息学习

2.10.1  关闭远端MAC地址和远端ARP自动学习功能

1. 功能简介

缺省情况下,设备从VXLAN隧道接收到报文后可以自动学习远端虚拟机的MAC地址和ARP/ND信息。在EVPN组网中,为了避免自动学习的远端MAC地址/ARP信息/ND信息与通过BGP通告的MAC地址/ARP信息/ND信息冲突,需要关闭远端MAC地址和远端ARP/ND自动学习功能。

本配置中各命令的详细介绍,请参见“VXLAN命令参考”中的“VXLAN”。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     关闭远端MAC地址自动学习功能。

vxlan tunnel mac-learning disable

缺省情况下,远端MAC地址自动学习功能处于开启状态。

(3)     关闭远端ARP自动学习功能。

vxlan tunnel arp-learning disable

缺省情况下,远端ARP自动学习功能处于开启状态。

(4)     关闭远端ND自动学习功能。

vxlan tunnel nd-learning disable

缺省情况下,远端ND自动学习功能处于开启状态。

2.10.2  配置禁止通告MAC地址信息

1. 功能简介

VTEP可能会同时向远端VTEP通告MAC地址信息和ARP/ND信息。其中,ARP/ND信息中已经包含MAC地址信息。为了避免重复,可以执行本配置来禁止本端VTEP向远端VTEP通告MAC地址信息。执行本配置后,本端VTEP还会撤销已经发布的MAC地址信息。

2. 配置步骤(系统视图下的EVPN实例)

(1)     进入系统视图。

system-view

(2)     进入EVPN实例视图。

evpn instance instance-name

(3)     配置禁止通告MAC地址信息,并撤销已经通告的MAC地址信息。

mac-advertising disable

缺省情况下,允许通告MAC地址信息。

3. 配置步骤(VSI实例下的EVPN实例)

(1)     进入系统视图。

system-view

(2)     进入VSI视图。

vsi vsi-name

(3)     进入VSI实例下的EVPN实例视图。

evpn encapsulation vxlan

(4)     配置禁止通告MAC地址信息,并撤销已经通告的MAC地址信息。

mac-advertising disable

缺省情况下,允许通告MAC地址信息。

2.10.3  开启MAC地址反复迁移抑制功能

1. 功能简介

EVPN VXLAN组网中,不同VTEP下的设备如果错误地配置了相同的MAC地址,会造成VTEP间不断同步MAC地址信息,并更新本地EVPN的MAC地址表项。此时VTEP认为该设备在不断迁移。这种情况可能会使VTEP间形成环路,占用大量的链路带宽。开启本功能后,若在检测周期内某MAC地址从本地迁移到远端的次数超过阈值,则抑制最后一次由远端向本地迁移,即仅本地学习但不对外通告该MAC地址,避免VTEP间形成环路。

2. 配置限制与指导

执行undo evpn route mac-mobility suppression命令或MAC地址的抑制时间超过抑制恢复时间时,如果VTEP上被抑制迁移的MAC地址未老化,则立即向远端通告该MAC地址;如果VTEP上被抑制迁移的MAC地址已经老化,则VTEP重新从本地学习该MAC地址后再对外通告。

当MAC地址表项和ARP表项均发生冲突时,需要同时开启MAC地址反复迁移抑制功能和ARP反复迁移抑制功能。如果仅开启MAC地址表项抑制功能,则会导致MAC地址表项抑制失败。

系统视图、EVPN实例视图、VSI实例下的EVPN实例视图和三层接口视图下均可以开启MAC地址反复迁移抑制功能。系统视图的配置对所有EVPN实例都有效,EVPN实例视图下的配置对关联该EVPN实例的所有VSI有效,VSI实例下的EVPN实例视图下的配置仅对该VSI有效,三层接口视图下的配置仅对该接口有效。对于一个MAC地址来说,MAC地址反复迁移抑制功能生效的优先级为三层接口视图>EVPN实例视图/VSI实例下的EVPN实例视图>系统视图。

3. 配置步骤(系统视图)

(1)     进入系统视图。

system-view

(2)     开启MAC地址反复迁移抑制功能。

evpn route mac-mobility suppression [ detect-cycle detect-time | detect-threshold  move-times | suppression-time [ suppression-time | permanent ] ] *

缺省情况下,MAC地址反复迁移抑制功能处于关闭状态。

4. 配置步骤(系统视图下的EVPN实例视图)

(1)     进入系统视图。

system-view

(2)     进入EVPN实例视图。

evpn instance instance-name

(3)     开启MAC地址反复迁移抑制功能。

evpn route mac-mobility suppression [ detect-cycle detect-time | detect-threshold  move-times | suppression-time [ suppression-time | permanent ] ] *

缺省情况下,MAC地址反复迁移抑制功能处于关闭状态。

5. 配置步骤(VSI实例下的EVPN实例视图)

(1)     进入系统视图。

system-view

(2)     进入VSI视图。

vsi vsi-name

(3)     进入VSI实例下的EVPN实例视图。

evpn encapsulation vxlan

(4)     开启MAC地址反复迁移抑制功能。

evpn route mac-mobility suppression [ detect-cycle detect-time | detect-threshold  move-times | suppression-time [ suppression-time | permanent ] ] *

缺省情况下,MAC地址反复迁移抑制功能处于关闭状态。

6. 配置步骤(三层接口视图)

(1)     进入系统视图。

system-view

(2)     进入三层接口视图。

interface interface-type interface-number

(3)     开启MAC地址反复迁移抑制功能。

evpn route mac-mobility suppression [ detect-cycle detect-time | detect-threshold  move-times | suppression-time [ suppression-time | permanent ] ] *

缺省情况下,MAC地址反复迁移抑制功能处于关闭状态。

2.10.4  配置禁止EVPN从ARP/ND信息中学习MAC地址表项

1. 功能简介

VTEP可能会同时接收到远端VTEP通告的MAC地址信息和ARP/ND信息。其中,ARP/ND信息中包含MAC地址信息。为了避免重复,可以在VTEP上执行本配置来禁止EVPN从ARP/ND信息中学习MAC地址表项,EVPN仅通过MAC地址信息学习远端MAC地址表项。

2. 配置步骤(系统视图下的EVPN实例)

(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地址表项。

3. 配置步骤(VSI实例下的EVPN实例)

(1)     进入系统视图。

system-view

(2)     进入VSI视图。

vsi vsi-name

(3)     进入VSI实例下的EVPN实例视图。

evpn encapsulation vxlan

(4)     配置禁止EVPN从ARP信息中学习MAC地址表项。

arp mac-learning disable

缺省情况下,EVPN可以从ARP信息中学习MAC地址表项。

(5)     配置禁止EVPN从ND信息中学习MAC地址表项。

nd mac-learning disable

缺省情况下,EVPN可以从ND信息中学习MAC地址表项。

2.10.5  配置AC的源MAC地址检查表项并开启AC的源MAC地址检查功能

1. 功能简介

在EVPN VXLAN组网中,本地学习的MAC地址通过EVPN路由同步到远端设备上。在某些情况下,由于流量异常,远端设备可能会从本地AC学习到相同的MAC地址。此时,远端设备认为MAC地址发生迁移,刷新MAC地址表项,后续访问该MAC地址的流量会因表项错误而导致转发失败。

为了避免上述情况,可以在设备上配置本功能。开启本功能后,设备将判断从AC接收到的报文的源MAC地址是否在本配置指定的MAC地址范围内。若在其范围内,则不进行源MAC地址学习,从而避免设备学习到错误的MAC地址表项。

2. 配置限制和指导

不同情况下,多次执行mac-address source-mac-check ac mac-address mask命令对源MAC地址检查功能影响不同:

·     mac-address参数不同时,设备上会生成多条源MAC地址检查表项。

·     mac-address参数相同、mask参数不同,则最后一次执行的命令生效。

在VSI视图下执行display this命令,可以查看设备上当前存在的源MAC地址检查表项。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入VSI视图。

vsi vsi-name

(3)     配置AC的源MAC地址检查表项并开启AC的源MAC地址检查功能。

mac-address source-mac-check ac mac-address mask

缺省情况下,AC的源MAC地址检查功能处于关闭状态。

2.10.6  配置禁止通告ARP信息

1. 功能简介

在EVPN分布式网关组网中,如果同一个VXLAN内的所有用户终端都部署在同一台EVPN网关下,则EVPN不需要通告该VXLAN的ARP信息(同时携带MAC和IP地址的MAC/IP发布路由),只需通告IP前缀路由,其他VXLAN内的用户终端通过IP前缀路由即可访问该VXLAN。此时,可以配置本命令禁止EVPN通告ARP信息,以减少占用的设备和网络资源。执行本命令后,设备还会撤销已经发布的ARP信息。

2. 配置步骤(系统视图下的EVPN实例)

(1)     进入系统视图。

system-view

(2)     进入EVPN实例视图。

evpn instance instance-name

(3)     配置禁止通告ARP信息,并撤销已经通告的ARP信息。

arp-advertising disable

缺省情况下,允许通告ARP信息。

3. 配置步骤(VSI实例下的EVPN实例)

(1)     进入系统视图。

system-view

(2)     进入VSI视图。

vsi vsi-name

(3)     进入VSI实例下的EVPN实例视图。

evpn encapsulation vxlan

(4)     配置禁止通告ARP信息,并撤销已经通告的ARP信息。

arp-advertising disable

缺省情况下,允许通告ARP信息。

2.10.7  开启ARP反复迁移抑制功能

1. 功能简介

EVPN VXLAN组网中,不同VTEP下的设备如果错误地配置了相同的IP地址,会造成VTEP间不断同步ARP信息,并更新本地EVPN的ARP表项信息,此时VTEP认为该设备在不断迁移。这种情况可能会使VTEP间形成环路,占用大量的链路带宽。开启本功能后,若检测周期内某ARP信息从本地迁移到远端的次数超过阈值,则抑制最后一次由远端向本地迁移,即仅本地学习但不对外通告该ARP信息,避免VTEP间形成环路。

2. 配置限制与指导

ARP反复迁移抑制功能仅在EVPN VXLAN分布式网关组网中生效。

执行undo evpn route arp-mobility suppression命令或ARP表项的抑制时间超过抑制恢复时间时,如果VTEP上被抑制迁移的ARP表项未老化,则立即向远端通告该ARP信息;如果VTEP上被抑制迁移的ARP表项已经老化,则VTEP重新从本地学习该ARP信息后再对外通告。

当MAC地址表项和ARP表项均发生冲突时,需要同时开启MAC地址反复迁移抑制功能和ARP反复迁移抑制功能。如果仅开启MAC地址表项抑制功能,则会导致MAC地址表项抑制失败。

系统视图、EVPN实例视图、VSI实例下的EVPN实例视图和三层接口视图下均可以开启ARP反复迁移抑制功能。系统视图的配置对所有EVPN实例都有效,EVPN实例视图下的配置对关联该EVPN实例的所有VSI有效,VSI实例下的EVPN实例视图下的配置仅对该VSI有效,三层接口视图下的配置仅对该接口有效。对于一个ARP来说,ARP反复迁移抑制功能生效的优先级为三层接口视图>EVPN实例视图/VSI实例下的EVPN实例视图>系统视图。

3. 配置步骤(系统视图)

(1)     进入系统视图。

system-view

(2)     开启ARP反复迁移抑制功能。

evpn route arp-mobility suppression [ detect-cycle detect-time | detect-threshold move-times | suppression-time [ suppression-time | permanent ] ] *

缺省情况下,ARP反复迁移抑制功能处于关闭状态。

4. 配置步骤(系统视图下的EVPN实例视图)

(1)     进入系统视图。

system-view

(2)     进入EVPN实例视图。

evpn instance instance-name

(3)     开启ARP反复迁移抑制功能。

evpn route arp-mobility suppression [ detect-cycle detect-time | detect-threshold move-times | suppression-time [ suppression-time | permanent ] ] *

缺省情况下,ARP反复迁移抑制功能处于关闭状态。

5. 配置步骤(VSI实例下的EVPN实例视图)

(1)     进入系统视图。

system-view

(2)     进入VSI视图。

vsi vsi-name

(3)     进入VSI实例下的EVPN实例视图。

evpn encapsulation vxlan

(4)     开启ARP反复迁移抑制功能。

evpn route arp-mobility suppression [ detect-cycle detect-time | detect-threshold move-times | suppression-time [ suppression-time | permanent ] ] *

缺省情况下,ARP反复迁移抑制功能处于关闭状态。

6. 配置步骤(三层接口视图)

(1)     进入系统视图。

system-view

(2)     进入三层接口视图。

interface interface-type interface-number

(3)     开启ARP反复迁移抑制功能。

evpn route arp-mobility suppression [ detect-cycle detect-time | detect-threshold move-times | suppression-time [ suppression-time | permanent ] ] *

缺省情况下,ARP反复迁移抑制功能处于关闭状态。

2.10.8  开启ND反复迁移抑制功能

1. 功能简介

EVPN VXLAN组网中,如果不同VTEP学习到了相同的本地ND表项,则VTEP会不断在彼此之间同步ND信息,并更新本地EVPN的ND表项信息,此时VTEP认为该设备在不断迁移。这种情况可能会使VTEP间形成环路,占用大量的链路带宽。开启本功能后,若检测周期内某ND信息从本地迁移出到远端的次数超过阈值,则抑制最后一次由远端向本地迁移,即仅本地学习但不对外通告该ND信息,避免VTEP间形成环路。

2. 配置限制与指导

执行undo evpn route nd-mobility suppression命令或ND表项的抑制时间超过抑制恢复时间时,如果VTEP上被抑制迁移的ND表项未老化,则立即向远端通告该ND信息;如果VTEP上被抑制迁移的ND表项已经老化,则VTEP重新从本地学习该ND信息后再对外通告。

ND反复迁移抑制功能仅在如下两种组网中生效:

·     启用ND泛洪抑制功能的EVPN VXLAN组网

·     EVPN VXLAN分布式网关组网

当MAC地址表项和ND表项均发生冲突时,需要同时开启MAC地址反复迁移抑制功能和ND反复迁移抑制功能。如果仅开启MAC地址表项抑制功能,则会导致MAC地址表项抑制失败。

系统视图、EVPN实例视图、VSI实例下的EVPN实例视图和三层接口视图下均可以开启ND反复迁移抑制功能。系统视图的配置对所有EVPN实例都有效,EVPN实例视图下的配置对关联该EVPN实例的所有VSI有效,VSI实例下的EVPN实例视图下的配置仅对该VSI有效,三层接口视图下的配置仅对该接口有效。对于一个ND来说,ND反复迁移抑制功能生效的优先级为三层接口视图>EVPN实例视图/VSI实例下的EVPN实例视图>系统视图。

3. 配置步骤(系统视图)

(1)     进入系统视图。

system-view

(2)     开启ND反复迁移抑制功能。

evpn route nd-mobility suppression [ detect-cycle detect-time | detect-threshold move-times | suppression-time [ suppression-time | permanent ] ] *

缺省情况下,ND反复迁移抑制功能处于关闭状态。

4. 配置步骤(系统视图下的EVPN实例视图)

(1)     进入系统视图。

system-view

(2)     进入EVPN实例视图。

evpn instance instance-name

(3)     开启ND反复迁移抑制功能。

evpn route nd-mobility suppression [ detect-cycle detect-time | detect-threshold move-times | suppression-time [ suppression-time | permanent ] ] *

缺省情况下,ND反复迁移抑制功能处于关闭状态。

5. 配置步骤(VSI实例下的EVPN实例视图)

(1)     进入系统视图。

system-view

(2)     进入VSI视图。

vsi vsi-name

(3)     进入VSI实例下的EVPN实例视图。

evpn encapsulation vxlan

(4)     开启ND反复迁移抑制功能。

evpn route nd-mobility suppression [ detect-cycle detect-time | detect-threshold move-times | suppression-time [ suppression-time | permanent ] ] *

缺省情况下,ND反复迁移抑制功能处于关闭状态。

6. 配置步骤(三层接口视图)

(1)     进入系统视图。

system-view

(2)     进入三层接口视图。

interface interface-type interface-number

(3)     开启ND反复迁移抑制功能。

evpn route nd-mobility suppression [ detect-cycle detect-time | detect-threshold move-times | suppression-time [ suppression-time | permanent ] ] *

缺省情况下,ND反复迁移抑制功能处于关闭状态。

2.11  配置BGP EVPN路由的引入和发布

2.11.1  配置将包含ARP/ND信息的MAC/IP发布路由引入BGP单播路由表

1. 功能简介

在BGP IPv4或BGP IPv6单播地址族下配置BGP EVPN路由引入BGP单播路由表后,设备会将从对等体/对等体组收到的包含ARP/ND信息的MAC/IP发布路由添加到BGP IPv4或BGP IPv6单播路由表,并发布到本地站点。

在BGP-VPN IPv4或BGP-VPN IPv6单播地址族下配置BGP EVPN路由引入BGP单播路由表后,设备会将从对等体/对等体组收到的包含ARP/ND信息的MAC/IP发布路由添加到VPN实例对应的BGP IPv4或BGP IPv6单播路由表,如果执行了advertise l2vpn evpn命令配置允许向本地站点发布BGP EVPN路由,则该路由会发布到本地站点,否则,该路由不会发布到本地站点。

2. 配置步骤(BGP实例视图)

(1)     进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

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

address-family { ipv4 | ipv6 }

(4)     配置将包含ARP/ND信息的MAC/IP发布路由引入BGP IPv4或BGP IPv6单播路由表。

import evpn mac-ip

缺省情况下,禁止将包含ARP/ND信息的MAC/IP发布路由引入BGP IPv4或BGP IPv6单播路由表。

3. 配置步骤(BGP-VPN实例视图)

(1)     进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

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

ip vpn-instance vpn-instance-name

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

address-family { ipv4 | ipv6 }

(5)     配置将包含ARP/ND信息的MAC/IP发布路由引入BGP-VPN IPv4或BGP-VPN IPv6单播路由表。

import evpn mac-ip

缺省情况下,禁止将包含ARP/ND信息的MAC/IP发布路由引入BGP-VPN IPv4或BGP-VPN IPv6单播路由表。

2.11.2  配置BGP EVPN路由添加到VPN实例路由表时的Metric值

1. 功能简介

配置本功能后,设备将BGP EVPN路由添加到VPN实例的路由表时,VPN实例中的该路由将会继承到达原EVPN路由下一跳的IGP路由的Metric值,即该路由在VPN实例路由表中的IGP Metric值为到达原EVPN路由下一跳的IGP路由的Metric值。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

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

address-family l2vpn evpn

(4)     配置将BGP EVPN路由添加到VPN实例路由表时,路由的Metric值为到达原EVPN路由下一跳的IGP路由的Metric值。

igp-metric inherit

缺省情况下,将BGP EVPN路由添加到VPN实例路由表时,路由的Metric值变为0。

2.11.3  配置允许向本地站点发布BGP EVPN路由

1. 功能简介

配置允许对外发布 BGP EVPN路由后,设备接收到BGP EVPN路由,并将其添加到某个VPN实例路由表后,会将该路由(私网路由)发布到本地站点。

2. 配置步骤(IPv4网络)

(1)     进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

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

ip vpn-instance vpn-instance-name

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

address-family ipv4 [ unicast ]

(5)     配置允许向本地站点发布BGP EVPN路由。

advertise l2vpn evpn

缺省情况下,允许向本地站点发布BGP EVPN路由。

3. 配置步骤(IPv6网络)

(1)     进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

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

ip vpn-instance vpn-instance-name

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

address-family ipv6 [ unicast ]

(5)     配置允许向本地站点发布BGP EVPN路由。

advertise l2vpn evpn

缺省情况下,允许向本地站点发布BGP EVPN路由。

2.11.4  配置BGP EVPN路由的ORF功能

1. 基于RT过滤的EVPN ORF功能简介

在大规模的EVPN网络中,BGP EVPN对等体之间会相互发送大量的EVPN路由。缺省情况下,即使对等体上没有RT匹配的EVPN实例,设备也会向该对等体发送BGP EVPN路由。为了减少设备资源和网络中带宽的占用,使得VTEP设备仅向BGP对等体发布RT与其匹配的BGP EVPN路由,需要为网络中的设备开启EVPN ORF功能。

本功能需要与BGP IPv4 RT-Filter路由交换功能配合使用。配置本功能后,只要本端设备与BGP对等体同时建立了BGP EVPN会话和BGP IPv4 RT-Filter会话,本端设备就会根据接收到的所有BGP IPv4 RT-Filter路由中携带的Route Target信息对BGP EVPN路由的发布进行过滤:

·     只要BGP EVPN路由携带的Route Target属性匹配上任一接收到的BGP IPv4 RT-Filter路由,本端设备就能够将该BGP EVPN路由发布给BGP IPv4 RT-Filter路由的发布者。

·     如果BGP EVPN路由携带的Route Target属性未匹配上任何接收到的BGP IPv4 RT-Filter路由,则本端设备不会将该BGP EVPN路由发布出去。

未配置本功能时,本端设备只会通过BGP IPv4 RT-Filter路由向BGP对等体发布公网实例IPv4地址族或VPN实例IPv4地址族下的Route Target属性信息。配置本命令后,本端设备还会额外通过BGP IPv4 RT-Filter路由将设备上配置的如下几类Route Target属性值发给BGP对等体:

·     VPN实例EVPN视图和公网实例EVPN视图下配置的Import Target属性值。

·     VPN实例IPv4地址族视图下为EVPN配置的Import Target属性值。

·     VSI实例下的EVPN实例视图下配置的Import Target属性值。

·     根据接口、UPW或VSI的ESI自动生成的ES-Import Route Target属性值。

所有BGP IPv4 RT-Filter路由中携带的Route Target信息均可用于BGP EVPN路由的发布过滤。

配置本功能后,对于所有同时建立了BGP EVPN会话以及BGP IPv4 RT-Filter会话的对等体,设备在向这些对等体发布BGP EVPN路由时,均会应用EVPN ORF功能对路由进行过滤。如果BGP对等体未开启EVPN ORF功能,由于BGP对等体可能无法发布部分或者全部本地配置的Route Target信息,可能导致本端设备无法发布部分或所有BGP EVPN路由给该对等体。为了防止与设备建立了BGP IPv4 RT-Filter会话、却不支持EVPN ORF功能的对等体无法接收到所需的BGP EVPN路由,请在开启了本功能的设备上为这些对等体配置peer vpn-orf ignore命令,使得EVPN ORF功能对这些对等体不生效。

2. 基于前缀列表过滤的EVPN ORF功能简介

配置本功能后,本设备和对端会通过Open报文进行ORF能力协商。协商成功后,就能解析对端发送的携带了标准ORF信息的Route-refresh报文或者给对端发送携带标准ORF信息的Route-refresh报文。ORF信息中携带了本端接收BGP路由的前缀列表信息,对端收到ORF信息后仅会向本端发送通过前缀列表过滤的BGP路由前缀信息,以减少设备资源和网络带宽的占用。

3. BGP EVPN路由的ORF功能配置限制和指导

基于RT过滤的EVPN ORF功能与基于前缀列表过滤的EVPN ORF功能的关系是:

·     基于前缀列表过滤的EVPN ORF功能通过前缀列表对BGP EVPN路由的发布进行过滤,基于RT过滤的EVPN ORF功能通过Route Target属性对BGP EVPN路由的发布进行过滤,两个功能独立生效,互不影响。

·     基于前缀列表过滤的EVPN ORF功能只能用于IPv4地址类型的MAC/IP发布路由和IP前缀路由的发布过滤,而基于RT过滤的EVPN ORF功能可以用于所有BGP EVPN路由的发布过滤。

请在BGP EVPN会话的两端设备上均配置vpn-orf enable命令,以开启基于RT过滤的EVPN ORF功能。本端设备配置vpn-orf enable命令后,对于未建立BGP IPv4 RT-Filter会话、但是建立了BGP EVPN会话的对等体,本端设备在向这些对等体发布BGP EVPN路由时,不会应用EVPN ORF功能对路由进行过滤,即设备可以向这些对等体发布所有的BGP EVPN路由。

由于BGP IPv4 RT-Filter路由无法携带专门为IPv6 VPN配置的Route Target值,部分IPv6地址类型的BGP EVPN路由可能无法被发送出去。例如,在VPN实例vpn1的IPv6地址族中为EVPN配置了Import Target属性值8:8后,该属性值无法通过BGP IPv4 RT-Filter路由发送给对等体,导致本端无法接收到对端Export Target属性值为8:8的IPv6地址类型的BGP EVPN路由。要解决此问题,需要保证为IPv6 VPN配置的Route Target值与为IPv4 VPN配置的Route Target值一致。

有关BGP IPv4 RT-Filter的详细介绍,请参见“MPLS配置指导”中的“MPLS L3VPN”。

配置基于前缀列表过滤的EVPN ORF功能时,如果要进行非标准ORF能力协商,还需要为对等体/对等体组配置peer capability-advertise orf non-standard命令。

4. BGP EVPN路由的ORF功能配置准备

如需正常使用基于RT过滤的EVPN ORF功能,请指定需要实现EVPN ORF功能的BGP对等体允许BGP IPv4 RT-Filter路由信息的交换。

如需正常使用基于前缀列表过滤的EVPN ORF功能,请在BGP EVPN地址族下,通过peer prefix-list命令配置需要用来过滤BGP EVPN路由信息的前缀列表,有关peer prefix-list命令的详细介绍,请参见“三层技术-IP路由命令参考”中的“BGP”。

5. 配置基于RT过滤的EVPN ORF功能

(1)     进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

(3)     进入BGP IPv4 RT-Filter地址族视图。

address-family ipv4 rtfilter

(4)     允许本地设备与指定对等体/对等体组交换BGP IPv4 RT-Filter路由信息。

peer { group-name | ipv4-address [ mask-length ] } enable

缺省情况下,本地设备不能与对等体/对等体组交换BGP IPv4 RT-Filter路由信息。

(5)     退回BGP实例视图。

quit

(6)     进入BGP EVPN地址族视图。

address-family l2vpn evpn

(7)     开启基于RT过滤的EVPN ORF功能。

vpn-orf enable

缺省情况下,基于RT过滤的EVPN ORF功能处于关闭状态。

(8)     (可选)配置向指定BGP EVPN对等体发送BGP EVPN路由时不根据Route Target进行过滤。

peer { group-name | ipv4-address [ mask-length ] | ipv6-address [ prefix-length ] } vpn-orf ignore

缺省情况下,设备开启了基于RT过滤的EVPN ORF功能后,设备向所有BGP EVPN对等体发送BGP EVPN路由时,都会根据Route Target对发送的路由进行过滤。

6. 配置基于前缀列表过滤的EVPN ORF功能

(1)     进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

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

address-family l2vpn evpn

(4)     配置向指定对等体/对等体组发送BGP EVPN路由时根据前缀列表进行过滤。

peer { group-name | ipv4-address [ mask-length ] } capability-advertise orf prefix-list { both | receive | send }

缺省情况下,向对等体发送BGP EVPN路由时不经过前缀列表的过滤。

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

(5)     (可选)开启BGP对等体/对等体组协商非标准ORF的能力。

peer { group-name | ip-address [ mask-length ] | ipv6-address [ prefix-length ] } capability-advertise orf non-standard

缺省情况下,设备不具有与对等体协商非标准ORF的能力。

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

2.12  配置VSI泛洪抑制

1. 功能简介

缺省情况下,VTEP从本地站点内接收到目的MAC地址为广播、未知单播和未知组播的数据帧后,会在该VXLAN内除接收接口外的所有本地接口和VXLAN隧道上泛洪该数据帧,将该数据帧发送给VXLAN内的所有站点。如果用户希望把某类数据帧限制在本地站点内,不通过VXLAN隧道将其转发到远端站点,则可以通过本命令手工禁止该类数据帧向远端站点泛洪。

禁止泛洪功能后,为了将某些MAC地址的数据帧泛洪到远端站点以保证某些业务的流量在站点间互通,可以配置选择性泛洪的MAC地址,当数据帧的目的MAC地址匹配该MAC地址时,该数据帧可以泛洪到远端站点。

本配置中各命令的详细介绍,请参见“VXLAN命令参考”中的“VXLAN”。

2. 配置限制和指导

选择性泛洪的MAC地址不能为组播MAC地址、全0的MAC地址或全F的MAC地址。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入VSI视图。

vsi vsi-name

(3)     关闭VSI的泛洪功能。

flooding disable all

缺省情况下,VSI泛洪功能处于开启状态。

(4)     (可选)配置VSI选择性泛洪的MAC地址。

selective-flooding mac-address mac-address

2.13  配置ARP/ND泛洪抑制

1. 配置限制和指导

开启ARP/ND泛洪抑制时,如果同时执行flooding disable命令关闭了VSI的泛洪功能,则建议通过mac-address timer命令配置动态MAC地址的老化时间大于25分钟(ARP/ND泛洪抑制表项的老化时间),以免MAC地址在ARP/ND泛洪抑制表项老化之前老化,产生黑洞MAC地址。

如果配置了vxlan tunnel arp-learning disable命令或vxlan tunnel nd-learning disable命令,则设备从VXLAN隧道上接收到ARP/ND请求报文后,不会采用匹配的ARP/ND泛洪抑制表项对其进行应答。

当配置了ARP泛洪抑制功能时,作为AC的三层接口的子接口不支持QinQ终结功能、模糊的Dot1q终结功能。有关QinQ终结和Dot1q终结的介绍,请参见“二层技术-以太网交换配置指导”中的“VLAN终结”。

2. 配置ARP泛洪抑制

(1)     进入系统视图。

system-view

(2)     进入VSI视图。

vsi vsi-name

(3)     开启ARP泛洪抑制功能。

arp suppression enable

缺省情况下,ARP泛洪抑制功能处于关闭状态。

本命令的详细介绍,请参见“VXLAN命令参考”中的“VXLAN”。

3. 配置ND泛洪抑制

(1)     进入系统视图。

system-view

(2)     进入VSI视图。

vsi vsi-name

(3)     开启ND泛洪抑制功能。

ipv6 nd suppression enable

缺省情况下,ND泛洪抑制功能处于关闭状态。

本命令的详细介绍,请参见“VXLAN命令参考”中的“VXLAN”。

2.14  配置EVPN VXLAN网络与VPLS网络互通

2.14.1  功能简介

新部署的数据中心网络通常为EVPN VXLAN网络。但是,现网中仍然存在一些基于VPLS的数据中心网络,且连接不同数据中心的运营商城域网也可能为VPLS网络。新数据中心为了与老数据中心互联,需要在网络边界设备上实现EVPN VXLAN网络与VPLS网络的互通。本配置可以用来实现上述功能。

EVPN VXLAN网络与VPLS网络互通功能的典型应用场景如图2-1所示。新数据中心内部署EVPN VXLAN,老数据中心内部署EVPN VPLS,新老数据中心通过基于VPLS的WAN网络互联。GW 1和GW 2作为EVPN VXLAN网络与VPLS网络的边界设备,其上不仅需要执行EVPN VXLAN和VPLS相关配置,还需要执行本配置,实现LDP PW或静态PW接入VXLAN隧道。执行本配置后,VPLS网络中的LDP PW或静态PW将被看作为EVPN VXLAN网络的AC(该PW称为UPW),实现报文在VXLAN隧道与UPW之间相互转发,从而实现EVPN VXLAN网络与VPLS网络的互通。

图2-1 EVPN VXLAN网络与VPLS网络互通典型应用场景

 

图2-1所示,连接不同数据中心的基于VPLS的WAN网络中,GW 1与GW 3、GW 4分别建立主备LDP PW或静态PW,GW 2与GW 4、GW 3分别建立主备LDP PW或静态PW,这些PW称为UPW;在EVPN VXLAN网络中,VTEP与GW 1、GW 2分别建立VXLAN隧道。UPW作为EVPN VXLAN网络中的AC,GW 1或GW 2从UPW接收到报文后,会解除MPLS封装,查找MAC地址表获取到对应的VXLAN隧道,为报文添加VXLAN封装,并将其转发给VTEP;GW 1或GW 2从VXLAN隧道接收报文的处理方法与此类似。

2.14.2  配置限制和指导

standard工作模式下,本功能仅在下表所列单板上配置生效。

表2-2 单板信息一览表

单板类型

单板丝印

CEPC单板

CEPC-CQ8L、CEPC-CQ16L1

CSPEX单板

CSPEX-1802XB、CSPEX-1802X、CSPEX-1812X-E、CSPEX-2304X-G、CSPEX-2612X-E

SPE单板

RX-SPE200-E

 

建议为同一冗余备份组中各GW连接多归属站点的UPW配置相同的冗余备份模式。

在多归属站点组网中,如果采用多活模式,则必须在多归属接入的GW上执行protection dual-receive命令配置PW冗余保护的双收功能。

2.14.3  配置准备

除本节列出的配置步骤外,EVPN VXLAN网络与VPLS网络互通组网中,还需要完成以下任务:

·     在VPLS网络中的PE设备上完成VPLS相关配置,建立LDP PW或静态PW。

·     在EVPN VXLAN网络中的VTEP设备上完成EVPN VXLAN相关配置,建立VXLAN隧道。

2.14.4  配置LDP PW接入VXLAN隧道

(1)     进入系统视图。

system-view

(2)     进入VSI视图。

vsi vsi-name

(3)     进入VSI实例下的EVPN实例视图。

evpn encapsulation vxlan

(4)     退回VSI视图。

quit

(5)     指定VSI使用LDP信令建立PW,并进入VSI LDP信令视图。

pwsignaling ldp

缺省情况下,未指定VSI使用的PW信令协议。

(6)     配置VPLS的LDP PW,并进入VSI LDP PW视图。

peer ip-address [ pw-id pw-id ] { dci | no-split-horizon } [ hub | ignore-standby-state | pw-class class-name | tunnel-policy tunnel-policy-name ] *

本命令配置的LDP PW称为UPW,作为EVPN VXLAN 网络的AC。

如果WAN网络同时连接三个及以上数据中心网络,则执行本命令建立LDP PW时需要指定dci参数,以便在数据中心之间建立DCI PW,通过DCI PW避免GW收到重复的泛洪报文。

本命令的详细介绍,请参见“MPLS命令参考”中的“VPLS”。

(7)     (可选)配置UPW的ESI。

esi esi-id

缺省情况下,未配置PW的ESI。

在多归属站点组网中,需要在EVPN VXLAN网络与VPLS网络的边缘设备上执行本命令。

(8)     (可选)配置UPW的冗余备份模式。

evpn redundancy-mode { all-active | single-active }

缺省情况下,冗余备份模式为多活模式。

在多归属站点组网中,可以在EVPN VXLAN网络与VPLS网络的边缘设备上执行本命令。

(9)     配置VPLS的备份PW,并进入VSI LDP备份PW视图。

backup-peer ip-address [ pw-id pw-id ] [ pw-class class-name | tunnel-policy tunnel-policy-name ] *

在多归属站点组网中,多归属接入的GW上需要执行本命令。

本命令的详细介绍,请参见“MPLS命令参考”中的“VPLS”。

2.14.5  配置静态PW接入EVPN VXLAN

(1)     进入系统视图。

system-view

(2)     进入VSI视图。

vsi vsi-name

(3)     进入VSI实例下的EVPN实例视图。

evpn encapsulation vxlan

(4)     退回VSI视图。

quit

(5)     指定VSI采用静态配置方式建立PW,并进入VSI静态配置视图。

pwsignaling static

缺省情况下,未指定VSI使用的PW信令协议。

(6)     配置VPLS的静态PW,并进入VSI静态PW视图。

peer ip-address [ pw-id pw-id ] in-label label-value out-label label-value { dci | no-split-horizon } [ hub | pw-class class-name | tunnel-policy tunnel-policy-name ] *

本命令配置的静态PW称为UPW,作为EVPN VXLAN网络的AC。

如果WAN网络同时连接三个及以上数据中心网络,则执行本命令建立静态PW时需要指定dci参数,以便在数据中心之间建立DCI PW,通过DCI PW避免GW收到重复的泛洪报文。

本命令的详细介绍,请参见“MPLS命令参考”中的“VPLS”。

(7)     (可选)配置UPW的ESI。

esi esi-id

缺省情况下,未配置PW的ESI。

在多归属站点组网中,需要在EVPN VXLAN网络与VPLS网络的边缘设备上执行本命令。

(8)     (可选)配置UPW的冗余备份模式。

evpn redundancy-mode { all-active | single-active }

缺省情况下,冗余备份模式为多活模式。

在多归属站点组网中,可以在EVPN VXLAN网络与VPLS网络的边缘设备上执行本命令。

(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 ] *

在多归属站点组网中,多归属接入的GW上需要执行本命令。

本命令的详细介绍,请参见“MPLS命令参考”中的“VPLS”。

2.15  配置EVPN VXLAN网络与EVPN VPLS网络互通

1. 功能简介

在实际组网中,EVPN VXLAN网络和EVPN VPLS网络可能会共存,并需要互相通信。通过本配置可以实现EVPN VXLAN网络与EVPN VPLS网络的互通。

EVPN VXLAN网络与EVPN VPLS网络互通功能的典型应用场景如图2-2所示。两个EVPN VXLAN网络通过EVPN VPLS网络互联。GW 1、GW 2、GW 3和GW 4为EVPN VXLAN网络和EVPN VPLS网络的边界设备,其上不仅需要执行EVPN VXLAN和EVPN VPLS相关配置,还需要执行本配置,实现EVPN路由在EVPN VXLAN网络和EVPN VPLS网络之间重生成。

图2-2 EVPN VXLAN网络与EVPN VPLS网络互通典型应用场景

 

图2-2所示,在GW上执行本配置后,GW将会在EVPN VXLAN网络和EVPN VPLS网络之间重生成以太网自动发现路由、MAC/IP发布路由、包含性组播以太网标签路由和以太网段路由。以MAC/IP发布路由为例,路由的重生成过程为:

·     如果GW从EVPN VXLAN网络接收到MAC/IP发布路由,则GW将重生成该路由,即为该路由分配并添加MPLS标签、将路由的封装类型修改为MPLS封装、修改路由的RD和RT,之后将该路由发送到EVPN VPLS网络。

·     如果GW从EVPN VPLS网络接收到MAC/IP发布路由,则GW将重生成该路由,即查找该路由对应的VXLAN ID并为路由添加VXLAN ID、将路由的封装类型修改为VXLAN封装、修改路由的RD和RT,之后将该路由发送到EVPN VXLAN网络。

通过MAC/IP发布路由完成MAC地址表项学习后,GW将根据学习到的表项为接收到的报文添加VXLAN或MPLS封装,将报文转发到EVPN VXLAN或EVPN VPLS网络。

GW支持多归属接入远端GW。此时,多归属站点的ESI和冗余备份模式需要在GW的VSI视图下指定。

2. 配置限制和指导

standard工作模式下,本功能仅在下表所列单板上配置生效。

表2-3 单板信息一览表

单板类型

单板丝印

CEPC单板

CEPC-CQ8L、CEPC-CQ16L1

CSPEX单板

CSPEX-1802XB、CSPEX-1802X、CSPEX-1812X-E、CSPEX-2304X-G、CSPEX-2612X-E

SPE单板

RX-SPE200-E

 

建议为同一冗余备份组中各GW连接多归属站点的VSI配置相同的冗余备份模式。

执行本配置,在同一个VSI实例视图下关联两种不同封装方式的EVPN实例后,设备将自动对以太网自动发现路由、包含性组播以太网标签路由和以太网段路由进行重生成。

3. 配置准备

除本节列出的配置步骤外,EVPN VXLAN网络与EVPN VPLS网络互通组网中,还需要完成以下任务:

·     在EVPN VXLAN网络中的VTEP设备上完成EVPN VXLAN相关配置,建立VXLAN隧道。

·     在EVPN VPLS网络中的PE设备上完成EVPN VPLS相关配置,建立EVPN PW。

4. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入VSI视图。

vsi vsi-name

(3)     配置VSI与指定EVPN实例关联,并指定EVPN采用VXLAN封装方式。

evpn encapsulation vxlan binding instance instance-name vsi-tag { tag-id | auto-vxlan }

(4)     配置VSI与指定EVPN实例关联,并指定EVPN采用MPLS封装方式。

evpn encapsulation mpls binding instance instance-name vsi-tag tag-id

(5)     (可选)配置VSI的ESI。

esi esi-id

缺省情况下,未配置VSI的ESI。

在多归属站点组网中,需要在EVPN VXLAN网络与EVPN VPLS网络的边缘设备上执行本命令。

(6)     (可选)配置VSI的冗余备份模式。

evpn redundancy-mode { all-active | single-active }

缺省情况下,冗余备份模式为多活模式。

在多归属站点组网中,可以在EVPN VXLAN网络与EVPN VPLS网络的边缘设备上执行本命令。

(7)     退回系统视图。

quit

(8)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

(9)     开启MAC/IP发布路由重生成功能。

evpn mac re-originated enable

缺省情况下,MAC/IP发布路由重生成功能处于关闭状态。

(10)     进入BGP EVPN地址族视图。

address-family l2vpn evpn

(11)     配置从对等体/对等体组接收到MAC/IP发布路由后,修改路由中的信息。

peer { group-name | ipv4-address [ mask-length ] | ipv6-address [ prefix-length ] } re-originated mac [ replace-rt ]

缺省情况下,不修改从对等体/对等体组接收到的MAC/IP发布路由的信息。

(12)     (可选)抑制向对等体/对等体组发布源EVPN路由,并撤销已经通告的源路由。

peer { group-name | ipv4-address [ mask-length ] | ipv6-address [ prefix-length ] } suppress original-route { auto-discovery | es | imet }

缺省情况下,不抑制向对等体/对等体组发布源EVPN路由。

2.16  开启VXLAN隧道的报文统计功能

1. 功能简介

通过本配置,可以:

·     开启自动VXLAN隧道的报文统计功能:开启本功能后,设备会统计已经创建的自动VXLAN隧道上转发的流量,也会对之后创建的自动VXLAN隧道进行流量统计,直到删除VXLAN隧道或关闭本功能。可以通过display interface tunnel命令查看统计信息,通过reset counters interface tunnel命令清除VXLAN隧道的统计信息。

·     开启与L3VNI关联的VXLAN隧道的报文统计功能:开启本功能后,设备会统计关联了L3VNI的VXLAN隧道上转发的流量。可以通过display vxlan tunnel命令查看VXLAN隧道的报文统计信息,通过reset l2vpn statistics tunnel命令清除VXLAN隧道的报文统计信息。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启VXLAN隧道的报文统计功能。

tunnel statistics vxlan { auto | l3-vni }

缺省情况下,VXLAN隧道的报文统计功能处于关闭状态。

本命令的详细介绍,请参见“VXLAN命令参考”中的“VXLAN”。

2.17  开启EVPN告警功能

1. 功能简介

开启EVPN告警功能后,当MAC地址迁移次数达到设置的阈值时会产生告警信息。生成的告警信息将发送到设备的SNMP模块,通过设置SNMP中告警信息的发送参数,来决定告警信息输出的相关属性。

有关告警信息的详细介绍,请参见“网络管理和监控配置指导”中的“SNMP”。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启EVPN告警功能。

snmp-agent trap enable evpn [ mac-mobility-suppression ]

缺省情况下,EVPN告警功能处于关闭状态。

2.18  EVPN VXLAN显示和维护

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

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

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

display bgp route-target l3vpn命令的详细介绍,请参见“MPLS命令参考”中的“MPLS L3VPN”。

表2-4 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 } [ { evpn-route route-length | evpn-prefix } [ verbose ] | statistics ] | [ route-distinguisher route-distinguisher | route-type { auto-discovery | es | igmp-js | igmp-ls | imet | ip-prefix | mac-ip | smet } ] * [ { evpn-route route-length | evpn-prefix } [ advertise-info ] | ipv4-address | ipv6-address | mac-address ] | statistics ]

display bgp [ instance instance-name ] l2vpn evpn [ peer { ipv4-address | ipv6-address } { accepted-routes | not-accepted-routes } ]

显示BGP对等体或对等体组的状态和统计信息

display bgp [ instance instance-name ] peer l2vpn evpn [ ipv4-address mask-length | ipv6-address prefix-length | { ipv4-address | ipv6-address | group-name group-name } log-info | [ ipv4-address | ipv6-address ] verbose ]

显示BGP打包组的相关信息

display bgp [ instance instance-name ] update-group l2vpn evpn [ ipv4-address | ipv6-address ]

显示衰减的BGP EVPN路由信息

display bgp [ instance instance-name ] l2vpn evpn dampened

显示BGP EVPN路由衰减参数

display bgp [ instance instance-name ] dampening parameter l2vpn evpn

显示BGP EVPN路由的震荡统计信息

display bgp [ instance instance-name ] l2vpn evpn flap-info

显示BGP中来源为EVPN进程的Route Target以及ES-Import Route Target信息

display bgp [ instance instance-name ] route-target evpn

显示BGP中来源为VPN实例的Route Target信息

display bgp [ instance instance-name ] route-target l3vpn [ ipv4 | ipv6 | evpn ] [ vpn-instance vpn-instance-name ]

显示EVPN通过BGP自动发现的IPv4邻居信息

display evpn auto-discovery { { imet | 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通过BGP自动发现的IPv6邻居信息

display evpn ipv6 auto-discovery { { imet | mac-ip } [ vxlan ] [ peer ipv6-address ] [ vsi vsi-name ] | macip-prefix [ nexthop next-hop ] [ count ] }

显示EVPN的ARP信息

display evpn route arp [ local | remote ] [ public-instance | vpn-instance vpn-instance-name ] [ ip ip-address ] [ count ]

显示EVPN的ARP泛洪抑制信息

display evpn route arp suppression [ vxlan ] [ ip ip-address ] [ local | remote ] [ vsi vsi-name ] [ count ]

显示EVPN的ARP迁移信息

display evpn route arp-mobility [ public-instance | vpn-instance vpn-instance-name ] [ ip ip-address ] [ verbose ]

显示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 [ evpn-instance instance-name | interface interface-type interface-number | vsi vsi-name ] [ mac-address mac-address ] [ verbose ]

显示EVPN的ND信息

display evpn route nd [ local | remote ] [ public-instance | vpn-instance vpn-instance-name ] [ ipv6 ipv6-address ] [ count ]

显示EVPN的ND泛洪抑制信息

display evpn route nd suppression [ local | remote ] [ ipv6 ipv6-address ] [ vsi vsi-name ] [ count ]

显示EVPN的ND迁移信息

display evpn route nd-mobility [ public-instance | vpn-instance vpn-instance-name ] [ ipv6 ipv6-address ]

显示EVPN的路由表信息

display evpn routing-table [ ipv6 ] { public-instance | vpn-instance vpn-instance-name } [ count ]

显示EVPN实例的信息

display evpn instance [ name instance-name | vsi vsi-name ]

显示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 ] ]

清除BGP EVPN路由的衰减信息,并解除对BGP EVPN路由的抑制

reset bgp [ instance instance-name ] dampening l2vpn evpn

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

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

取消对ARP迁移的抑制

reset evpn route arp-mobility suppression [ public-instance | vpn-instance vpn-instance-name [ ip ip-address ] ]

取消对MAC地址迁移的抑制

reset evpn route mac-mobility suppression [ evpn-instance instance-name | interface interface-type interface-number  | vsi vsi-name ] [ mac mac-address ]

取消对ND迁移的抑制

reset evpn route nd-mobility suppression [ public-instance | vpn-instance vpn-instance-name [ ipv6 ipv6-address ] ]

 

2.19  EVPN VXLAN典型配置举例

2.19.1  集中式IPv4 EVPN网关配置举例

1. 组网需求

Router A、Router B为与服务器连接的VTEP设备;Router C为与广域网连接的集中式EVPN网关设备;Router D为RR,负责在路由器之间反射BGP路由。

虚拟机VM 1和VM 3属于VXLAN 10;VM 2和VM 4属于VXLAN 20。相同VXLAN之间可以二层互通,不同VXLAN之间、VXLAN与广域网之间可以通过集中式EVPN网关互通。

2. 组网图

图2-3 集中式EVPN网关配置组网图

3. 配置步骤

(1)     配置IP地址和单播路由协议

# 在VM 1和VM 3上指定网关地址为10.1.1.1;在VM 2和VM 4上指定网关地址为10.1.2.1。(具体配置过程略)

# 请按照图2-3配置各接口的IP地址和子网掩码;在IP核心网络内配置OSPF协议,确保路由器之间路由可达。(具体配置过程略)

(2)     配置Router A

# 开启L2VPN能力。

<RouterA> system-view

[RouterA] l2vpn enable

# 关闭远端MAC地址和远端ARP自动学习功能。

[RouterA] vxlan tunnel mac-learning disable

[RouterA] vxlan tunnel arp-learning disable

# 在VSI实例vpna下创建EVPN实例,并配置自动生成EVPN实例的RD和RT。

[RouterA] vsi vpna

[RouterA-vsi-vpna] arp suppression enable

[RouterA-vsi-vpna] evpn encapsulation vxlan

[RouterA-vsi-vpna-evpn-vxlan] route-distinguisher auto

[RouterA-vsi-vpna-evpn-vxlan] vpn-target auto

[RouterA-vsi-vpna-evpn-vxlan] quit

# 创建VXLAN 10。

[RouterA-vsi-vpna] vxlan 10

[RouterA-vsi-vpna-vxlan-10] quit

[RouterA-vsi-vpna] quit

# 在VSI实例vpnb下创建EVPN实例,并配置自动生成EVPN实例的RD和RT。

[RouterA] vsi vpnb

[RouterA-vsi-vpnb] arp suppression enable

[RouterA-vsi-vpnb] evpn encapsulation vxlan

[RouterA-vsi-vpnb-evpn-vxlan] route-distinguisher auto

[RouterA-vsi-vpnb-evpn-vxlan] vpn-target auto

[RouterA-vsi-vpnb-evpn-vxlan] quit

# 创建VXLAN 20。

[RouterA-vsi-vpnb] vxlan 20

[RouterA-vsi-vpnb-vxlan-20] quit

[RouterA-vsi-vpnb] quit

# 配置BGP发布EVPN路由。

[RouterA] bgp 200

[RouterA-bgp-default] peer 4.4.4.4 as-number 200

[RouterA-bgp-default] peer 4.4.4.4 connect-interface loopback 0

[RouterA-bgp-default] address-family l2vpn evpn

[RouterA-bgp-default-evpn] peer 4.4.4.4 enable

[RouterA-bgp-default-evpn] quit

[RouterA-bgp-default] quit

# 配置接口Ten-GigabitEthernet3/1/1与VSI实例vpna关联。

[RouterA] interface ten-gigabitethernet 3/1/1

[RouterA-Ten-GigabitEthernet3/1/1] xconnect vsi vpna

[RouterA-Ten-GigabitEthernet3/1/1] quit

# 配置接口Ten-GigabitEthernet3/1/2与VSI实例vpnb关联。

[RouterA] interface ten-gigabitethernet 3/1/2

[RouterA-Ten-GigabitEthernet3/1/2] xconnect vsi vpnb

[RouterA-Ten-GigabitEthernet3/1/2] quit

(3)     配置Router B

# 开启L2VPN能力。

<RouterB> system-view

[RouterB] l2vpn enable

# 关闭远端MAC地址和远端ARP自动学习功能。

[RouterB] vxlan tunnel mac-learning disable

[RouterB] vxlan tunnel arp-learning disable

# 在VSI实例vpna下创建EVPN实例,并配置自动生成EVPN实例的RD和RT。

[RouterB] vsi vpna

[RouterB-vsi-vpna] arp suppression enable

[RouterB-vsi-vpna] evpn encapsulation vxlan

[RouterB-vsi-vpna-evpn-vxlan] route-distinguisher auto

[RouterB-vsi-vpna-evpn-vxlan] vpn-target auto

[RouterB-vsi-vpna-evpn-vxlan] quit

# 创建VXLAN 10。

[RouterB-vsi-vpna] vxlan 10

[RouterB-vsi-vpna-vxlan-10] quit

[RouterB-vsi-vpna] quit

# 在VSI实例vpnb下创建EVPN实例,并配置自动生成EVPN实例的RD和RT。

[RouterB] vsi vpnb

[RouterB-vsi-vpnb] arp suppression enable

[RouterB-vsi-vpnb] evpn encapsulation vxlan

[RouterB-vsi-vpnb-evpn-vxlan] route-distinguisher auto

[RouterB-vsi-vpnb-evpn-vxlan] vpn-target auto

[RouterB-vsi-vpnb-evpn-vxlan] quit

# 创建VXLAN 20。

[RouterB-vsi-vpnb] vxlan 20

[RouterB-vsi-vpnb-vxlan-20] quit

[RouterB-vsi-vpnb] quit

# 配置BGP发布EVPN路由。

[RouterB] bgp 200

[RouterB-bgp-default] peer 4.4.4.4 as-number 200

[RouterB-bgp-default] peer 4.4.4.4 connect-interface loopback 0

[RouterB-bgp-default] address-family l2vpn evpn

[RouterB-bgp-default-evpn] peer 4.4.4.4 enable

[RouterB-bgp-default-evpn] quit

[RouterB-bgp-default] quit

# 配置接口Ten-GigabitEthernet3/1/1与VSI实例vpna关联。

[RouterB] interface ten-gigabitethernet 3/1/1

[RouterB-Ten-GigabitEthernet3/1/1] xconnect vsi vpna

[RouterB-Ten-GigabitEthernet3/1/1] quit

# 配置接口Ten-GigabitEthernet3/1/2与VSI实例vpnb关联。

[RouterB] interface ten-gigabitethernet 3/1/2

[RouterB-Ten-GigabitEthernet3/1/2] xconnect vsi vpnb

[RouterB-Ten-GigabitEthernet3/1/2] quit

(4)     配置Router C

# 开启L2VPN能力。

<RouterC> system-view

[RouterC] l2vpn enable

# 关闭远端MAC地址和远端ARP自动学习功能。

[RouterC] vxlan tunnel mac-learning disable

[RouterC] vxlan tunnel arp-learning disable

# 在VSI实例vpna下创建EVPN实例,并配置自动生成EVPN实例的RD和RT。

[RouterC] vsi vpna

[RouterC-vsi-vpna] arp suppression enable

[RouterC-vsi-vpna] evpn encapsulation vxlan

[RouterC-vsi-vpna-evpn-vxlan] route-distinguisher auto

[RouterC-vsi-vpna-evpn-vxlan] vpn-target auto

[RouterC-vsi-vpna-evpn-vxlan] quit

# 创建VXLAN 10。

[RouterC-vsi-vpna] vxlan 10

[RouterC-vsi-vpna-vxlan-10] quit

[RouterC-vsi-vpna] quit

# 在VSI实例vpnb下创建EVPN实例,并配置自动生成EVPN实例的RD和RT。

[RouterC] vsi vpnb

[RouterC-vsi-vpnb] evpn encapsulation vxlan

[RouterC-vsi-vpnb-evpn-vxlan] route-distinguisher auto

[RouterC-vsi-vpnb-evpn-vxlan] vpn-target auto

[RouterC-vsi-vpnb-evpn-vxlan] quit

# 创建VXLAN 20。

[RouterC-vsi-vpnb] vxlan 20

[RouterC-vsi-vpnb-vxlan-20] quit

[RouterC-vsi-vpnb] quit

# 配置BGP发布EVPN路由。

[RouterC] bgp 200

[RouterC-bgp-default] peer 4.4.4.4 as-number 200

[RouterC-bgp-default] peer 4.4.4.4 connect-interface loopback 0

[RouterC-bgp-default] address-family l2vpn evpn

[RouterC-bgp-default-evpn] peer 4.4.4.4 enable

[RouterC-bgp-default-evpn] quit

[RouterC-bgp-default] quit

# 创建VSI虚接口VSI-interface1,并为其配置IP地址,该IP地址作为VXLAN 10内虚拟机的网关地址。

[RouterC] interface vsi-interface 1

[RouterC-Vsi-interface1] ip address 10.1.1.1 255.255.255.0

[RouterC-Vsi-interface1] quit

# 配置VXLAN 10所在的VSI实例和接口VSI-interface1关联。

[RouterC] vsi vpna

[RouterC-vsi-vpna] gateway vsi-interface 1

[RouterC-vsi-vpna] quit

# 创建VSI虚接口VSI-interface2,并为其配置IP地址,该IP地址作为VXLAN 20内虚拟机的网关地址。

[RouterC] interface vsi-interface 2

[RouterC-Vsi-interface2] ip address 10.1.2.1 255.255.255.0

[RouterC-Vsi-interface2] quit

# 配置VXLAN 20所在的VSI实例和接口VSI-interface1关联。

[RouterC] vsi vpnb

[RouterC-vsi-vpnb] gateway vsi-interface 2

[RouterC-vsi-vpnb] quit

(5)     配置Router D

# 配置Router D与其他路由器建立BGP连接。

<RouterD> system-view

[RouterD] bgp 200

[RouterD-bgp-default] group evpn

[RouterD-bgp-default] peer 1.1.1.1 group evpn

[RouterD-bgp-default] peer 2.2.2.2 group evpn

[RouterD-bgp-default] peer 3.3.3.3 group evpn

[RouterD-bgp-default] peer evpn as-number 200

[RouterD-bgp-default] peer evpn connect-interface loopback 0

# 配置BGP发布EVPN路由,并关闭BGP EVPN路由的VPN-Target过滤功能。

[RouterD-bgp-default] address-family l2vpn evpn

[RouterD-bgp-default-evpn] peer evpn enable

[RouterD-bgp-default-evpn] undo policy vpn-target

# 配置Router D为路由反射器。

[RouterD-bgp-default-evpn] peer evpn reflect-client

[RouterD-bgp-default-evpn] quit

[RouterD-bgp-default] quit

4. 验证配置

(1)     验证EVPN网关设备Router C

# 查看Router C上的EVPN路由信息,可以看到Router C发送了网关的MAC/IP路由和IMET路由,并接收到Router A和Router B发送的MAC/IP路由和IMET路由。(具体显示信息略)

# 查看Router C上的Tunnel接口信息,可以看到VXLAN模式的Tunnel接口处于up状态。

[RouterC] display interface tunnel

Tunnel0

Interface index: 261

Current state: UP

Line protocol state: UP

Description: Tunnel0 Interface

Bandwidth: 64 kbps

Maximum transmission unit: 1464

Internet protocol processing: Disabled

Last clearing of counters: Never

Tunnel source 3.3.3.3, destination 2.2.2.2

Tunnel protocol/transport UDP_VXLAN/IP

Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Input: 0 packets, 0 bytes, 0 drops

Output: 0 packets, 0 bytes, 0 drops

 

Tunnel1

Interface index: 262

Current state: UP

Line protocol state: UP

Description: Tunnel1 Interface

Bandwidth: 64 kbps

Maximum transmission unit: 1464

Internet protocol processing: Disabled

Last clearing of counters: Never

Tunnel source 3.3.3.3, destination 1.1.1.1

Tunnel protocol/transport UDP_VXLAN/IP

Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Input: 277 packets, 20306 bytes, 0 drops

Output: 1099 packets, 0 bytes, 0 drops

# 查看Router C上的VSI虚接口信息,可以看到VSI虚接口处于up状态。

[RouterC] display interface vsi-interface

Vsi-interface1

Interface index: 263

Current state: UP

Line protocol state: UP

Description: Vsi-interface1 Interface

Bandwidth: 1000000 kbps

Maximum transmission unit: 1500

Internet address: 10.1.1.1/24 (primary)

IP packet frame type: Ethernet II, hardware address: 0003-0003-0003

IPv6 packet frame type: Ethernet II, hardware address: 0003-0003-0003

Physical: Unknown, baudrate: 1000000 kbps

Last clearing of counters: Never

Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Input: 0 packets, 0 bytes, 0 drops

Output: 0 packets, 0 bytes, 0 drops

 

Vsi-interface2

Interface index: 264

Current state: UP

Line protocol state: UP

Description: Vsi-interface2 Interface

Bandwidth: 1000000 kbps

Maximum transmission unit: 1500

Internet address: 10.1.2.1/24 (primary)

IP packet frame type: Ethernet II, hardware address: 0003-0003-0003

IPv6 packet frame type: Ethernet II, hardware address: 0003-0003-0003

Physical: Unknown, baudrate: 1000000 kbps

Last clearing of counters: Never

Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Input: 0 packets, 0 bytes, 0 drops

Output: 0 packets, 0 bytes, 0 drops

# 查看Router C上的VSI信息,可以看到VSI内创建的VXLAN、与VXLAN关联的VXLAN隧道、与VSI关联的VSI虚接口等信息。

[RouterC] display l2vpn vsi verbose

VSI Name: vpna

  VSI Index               : 0

  VSI State               : Up

  MTU                     : 1500

  Diffserv Mode           : -

  Bandwidth               : Unlimited

  Broadcast Restrain      : 5120 kbps

  Multicast Restrain      : 5120 kbps

  Unknown Unicast Restrain: 5120 kbps

  MAC Learning            : Enabled

  MAC Table Limit         : Unlimited

  MAC Learning rate       : -

  Local MAC aging time    : 300 sec

  Remote MAC aging time   : 300 sec

  Drop Unknown            : Disabled

  PW Redundancy Mode      : Slave

  DSCP                    : -

  Service Class           : -

  Flooding                : Enabled

  ESI                     : 0000.0000.0000.0000.0000

  Redundancy Mode         : All-active

  Straight-fwd PW-to-AC   : Disabled

  Statistics              : Disabled

  Gateway Interface       : VSI-interface 1

  VXLAN ID                : 10

  Tunnel Statistics       : Disabled

  Tunnels:

    Tunnel Name          Link ID    State    Type        Flood Proxy

    Tunnel0              0x5000000  UP       Auto        Disabled

    Tunnel1              0x5000001  UP       Auto        Disabled

...

VSI Name: vpnb

  VSI Index               : 1

  VSI State               : Up

  MTU                     : 1500

  Diffserv Mode           : -

  Bandwidth               : Unlimited

  Broadcast Restrain      : 5120 kbps

  Multicast Restrain      : 5120 kbps

  Unknown Unicast Restrain: 5120 kbps

  MAC Learning            : Enabled

  MAC Table Limit         : Unlimited

  MAC Learning rate       : -

  Local MAC aging time    : 300 sec

  Remote MAC aging time   : 300 sec

  Drop Unknown            : Disabled

  DSCP                    : -

  Service Class           : -

  Flooding                : Enabled

  ESI                     : 0000.0000.0000.0000.0000

  Redundancy Mode         : All-active

  Straight-fwd PW-to-AC   : Disabled

  Statistics              : Disabled

  Gateway Interface       : VSI-interface 2

  VXLAN ID                : 20

  Tunnel Statistics       : Disabled

  Tunnels:

    Tunnel Name          Link ID    State    Type        Flood Proxy

    Tunnel0              0x5000000  UP       Auto        Disabled

    Tunnel1              0x5000001  UP       Auto        Disabled

# 查看Router C上VSI的EVPN ARP表项信息,可以看到已学习到了虚拟机的ARP信息。

[RouterC] display evpn route arp

Flags: D - Dynamic   B - BGP      L - Local active

       G - Gateway   S - Static   M - Mapping        I - Invalid

 

Public instance                               Interface: Vsi-interface1

IP address      MAC address     Router MAC      VSI index   Flags

10.1.1.1        0003-0003-0003  -               0           GL

10.1.1.10       0000-1234-0001  -               0           B

10.1.1.20       0000-1234-0003  -               0           B

 

Public instance                               Interface: Vsi-interface2

IP address      MAC address     Router MAC      VSI index   Flags

10.1.2.1        0005-0005-0005  -               1           GL

10.1.2.10       0000-1234-0002  -               1           B

10.1.2.20       0000-1234-0004  -               1           B

# 查看Router C上FIB表项信息,可以看到已学习到了虚拟机的转发表项信息。

[RouterC] display fib 10.1.1.10

Destination count: 1 FIB entry count: 1

Flag:

  U:Useable   G:Gateway   H:Host   B:Blackhole   D:Dynamic   S:Static

  R:Relay     F:FRR

Destination/Mask   Nexthop         Flag     OutInterface/Token       Label

10.1.1.10/32       10.1.1.10       UH       Vsi1                     Null

(2)     验证主机之间可以互访

虚拟机VM 1、VM 2、VM 3、VM 4之间可以互访。

2.19.2  对称IRB方式分布式IPv4 EVPN网关配置举例

1. 组网需求

Router A、Router B为分布式EVPN网关设备;Router C为与广域网连接的边界网关设备;Router D为RR,负责在路由器之间反射BGP路由。

虚拟机VM 1和VM 3属于VXLAN 10;VM 2和VM 4属于VXLAN 20。相同VXLAN之间可以二层互通;不同VXLAN之间通过分布式EVPN网关实现三层互通,并采用对称IRB方式转发流量;VXLAN与广域网之间通过边界网关实现三层互通。

2. 组网图

图2-4 分布式EVPN网关配置组网图

3. 配置步骤

(1)     配置IP地址和单播路由协议

# 在VM 1和VM 3上指定网关地址为10.1.1.1;在VM 2和VM 4上指定网关地址为10.1.2.1。(具体配置过程略)

# 请按照图2-4配置各接口的IP地址和子网掩码;在IP核心网络内配置OSPF协议,确保路由器之间路由可达。(具体配置过程略)

(2)     配置Router A

# 开启L2VPN能力。

<RouterA> system-view

[RouterA] l2vpn enable

# 关闭远端MAC地址和远端ARP自动学习功能。

[RouterA] vxlan tunnel mac-learning disable

[RouterA] vxlan tunnel arp-learning disable

# 在VSI实例vpna下创建EVPN实例,并配置自动生成EVPN实例的RD和RT。

[RouterA] vsi vpna

[RouterA-vsi-vpna] evpn encapsulation vxlan

[RouterA-vsi-vpna-evpn-vxlan] route-distinguisher auto

[RouterA-vsi-vpna-evpn-vxlan] vpn-target auto

[RouterA-vsi-vpna-evpn-vxlan] quit

# 创建VXLAN 10。

[RouterA-vsi-vpna] vxlan 10

[RouterA-vsi-vpna-vxlan-10] quit

[RouterA-vsi-vpna] quit

# 在VSI实例vpnb下创建EVPN实例,并配置自动生成EVPN实例的RD和RT。

[RouterA] vsi vpnb

[RouterA-vsi-vpnb] evpn encapsulation vxlan

[RouterA-vsi-vpnb-evpn-vxlan] route-distinguisher auto

[RouterA-vsi-vpnb-evpn-vxlan] vpn-target auto

[RouterA-vsi-vpnb-evpn-vxlan] quit

# 创建VXLAN 20。

[RouterA-vsi-vpnb] vxlan 20

[RouterA-vsi-vpnb-vxlan-20] quit

[RouterA-vsi-vpnb] quit

# 配置BGP发布EVPN路由。

[RouterA] bgp 200

[RouterA-bgp-default] peer 4.4.4.4 as-number 200

[RouterA-bgp-default] peer 4.4.4.4 connect-interface loopback 0

[RouterA-bgp-default] address-family l2vpn evpn

[RouterA-bgp-default-evpn] peer 4.4.4.4 enable

[RouterA-bgp-default-evpn] quit

[RouterA-bgp-default] quit

# 配置接口Ten-GigabitEthernet3/1/1与VSI实例vpna关联。

[RouterA] interface ten-gigabitethernet 3/1/1

[RouterA-Ten-GigabitEthernet3/1/1] xconnect vsi vpna

[RouterA-Ten-GigabitEthernet3/1/1] quit

# 配置接口Ten-GigabitEthernet3/1/2与VSI实例vpnb关联。

[RouterA] interface ten-gigabitethernet 3/1/2

[RouterA-Ten-GigabitEthernet3/1/2] xconnect vsi vpnb

[RouterA-Ten-GigabitEthernet3/1/2] quit

# 配置L3VNI的RD和RT。

[RouterA] ip vpn-instance l3vpna

[RouterA-vpn-instance-l3vpna] route-distinguisher 1:1

[RouterA-vpn-instance-l3vpna] address-family ipv4

[RouterA-vpn-ipv4-l3vpna] vpn-target 2:2

[RouterA-vpn-ipv4-l3vpna] quit

[RouterA-vpn-instance-l3vpna] address-family evpn

[RouterA-vpn-evpn-l3vpna] vpn-target 1:1

[RouterA-vpn-evpn-l3vpna] quit

[RouterA-vpn-instance-l3vpna] quit

# 配置VSI虚接口VSI-interface1。

[RouterA] interface vsi-interface 1

[RouterA-Vsi-interface1] ip binding vpn-instance l3vpna

[RouterA-Vsi-interface1] ip address 10.1.1.1 255.255.255.0

[RouterA-Vsi-interface1] mac-address 1-1-1

[RouterA-Vsi-interface1] distributed-gateway local

[RouterA-Vsi-interface1] local-proxy-arp enable

[RouterA-Vsi-interface1] quit

# 配置VSI虚接口VSI-interface2。

[RouterA] interface vsi-interface 2

[RouterA-Vsi-interface2] ip binding vpn-instance l3vpna

[RouterA-Vsi-interface2] ip address 10.1.2.1 255.255.255.0

[RouterA-Vsi-interface2] mac-address 2-2-2

[RouterA-Vsi-interface2] distributed-gateway local

[RouterA-Vsi-interface2] local-proxy-arp enable

[RouterA-Vsi-interface2] quit

# 创建VSI虚接口VSI-interface3,在该接口上配置VPN实例l3vpna对应的L3VNI为1000。

[RouterA] interface vsi-interface 3

[RouterA-Vsi-interface3] ip binding vpn-instance l3vpna

[RouterA-Vsi-interface3] l3-vni 1000

[RouterA-Vsi-interface3] quit

# 配置VXLAN 10所在的VSI实例和接口VSI-interface1关联。

[RouterA] vsi vpna

[RouterA-vsi-vpna] gateway vsi-interface 1

[RouterA-vsi-vpna] quit

# 配置VXLAN 20所在的VSI实例和接口VSI-interface2关联。

[RouterA] vsi vpnb

[RouterA-vsi-vpnb] gateway vsi-interface 2

[RouterA-vsi-vpnb] quit

(3)     配置Router B

# 开启L2VPN能力。

<RouterB> system-view

[RouterB] l2vpn enable

# 关闭远端MAC地址和远端ARP自动学习功能。

[RouterB] vxlan tunnel mac-learning disable

[RouterB] vxlan tunnel arp-learning disable

# 在VSI实例vpna下创建EVPN实例,并配置自动生成EVPN实例的RD和RT。

[RouterB] vsi vpna

[RouterB-vsi-vpna] evpn encapsulation vxlan

[RouterB-vsi-vpna-evpn-vxlan] route-distinguisher auto

[RouterB-vsi-vpna-evpn-vxlan] vpn-target auto

[RouterB-vsi-vpna-evpn-vxlan] quit

# 创建VXLAN 10。

[RouterB-vsi-vpna] vxlan 10

[RouterB-vsi-vpna-vxlan-10] quit

[RouterB-vsi-vpna] quit

# 在VSI实例vpnb下创建EVPN实例,并配置自动生成EVPN实例的RD和RT。

[RouterB] vsi vpnb

[RouterB-vsi-vpnb] evpn encapsulation vxlan

[RouterB-vsi-vpnb-evpn-vxlan] route-distinguisher auto

[RouterB-vsi-vpnb-evpn-vxlan] vpn-target auto

[RouterB-vsi-vpnb-evpn-vxlan] quit

# 创建VXLAN 20。

[RouterB-vsi-vpnb] vxlan 20

[RouterB-vsi-vpnb-vxlan-20] quit

[RouterB-vsi-vpnb] quit

# 配置BGP发布EVPN路由。

[RouterB] bgp 200

[RouterB-bgp-default] peer 4.4.4.4 as-number 200

[RouterB-bgp-default] peer 4.4.4.4 connect-interface loopback 0

[RouterB-bgp-default] address-family l2vpn evpn

[RouterB-bgp-default-evpn] peer 4.4.4.4 enable

[RouterB-bgp-default-evpn] quit

[RouterB-bgp-default] quit

# 配置接口Ten-GigabitEthernet3/1/1与VSI实例vpna关联。

[RouterB] interface ten-gigabitethernet 3/1/1

[RouterB-Ten-GigabitEthernet3/1/1] xconnect vsi vpna

[RouterB-Ten-GigabitEthernet3/1/1] quit

# 配置接口Ten-GigabitEthernet3/1/2与VSI实例vpnb关联。

[RouterB] interface ten-gigabitethernet 3/1/2

[RouterB-Ten-GigabitEthernet3/1/2] xconnect vsi vpnb

[RouterB-Ten-GigabitEthernet3/1/2] quit

# 配置L3 VNI的RD和RT。

[RouterB] ip vpn-instance l3vpna

[RouterB-vpn-instance-l3vpna] route-distinguisher 1:1

[RouterB-vpn-instance-l3vpna] address-family ipv4

[RouterB-vpn-ipv4-l3vpna] vpn-target 2:2

[RouterB-vpn-ipv4-l3vpna] quit

[RouterB-vpn-instance-l3vpna] address-family evpn

[RouterB-vpn-evpn-l3vpna] vpn-target 1:1

[RouterB-vpn-evpn-l3vpna] quit

[RouterB-vpn-instance-l3vpna] quit

# 配置VSI虚接口VSI-interface1。

[RouterB] interface vsi-interface 1

[RouterB-Vsi-interface1] ip binding vpn-instance l3vpna

[RouterB-Vsi-interface1] ip address 10.1.1.1 255.255.255.0

[RouterB-Vsi-interface1] mac-address 1-1-1

[RouterB-Vsi-interface1] distributed-gateway local

[RouterB-Vsi-interface1] local-proxy-arp enable

[RouterB-Vsi-interface1] quit

# 创建VSI虚接口VSI-interface2。

[RouterB] interface vsi-interface 2

[RouterB-Vsi-interface2] ip binding vpn-instance l3vpna

[RouterB-Vsi-interface2] ip address 10.1.2.1 255.255.255.0

[RouterB-Vsi-interface2] mac-address 2-2-2

[RouterB-Vsi-interface2] distributed-gateway local

[RouterB-Vsi-interface2] local-proxy-arp enable

[RouterB-Vsi-interface2] quit

# 创建VSI虚接口VSI-interface3,在该接口上配置VPN实例l3vpna对应的L3VNI为1000。

[RouterB] interface vsi-interface 3

[RouterB-Vsi-interface3] ip binding vpn-instance l3vpna

[RouterB-Vsi-interface3] l3-vni 1000

[RouterB-Vsi-interface3] quit

# 配置VXLAN 10所在的VSI实例和接口VSI-interface1关联。

[RouterB] vsi vpna

[RouterB-vsi-vpna] gateway vsi-interface 1

[RouterB-vsi-vpna] quit

# 配置VXLAN 20所在的VSI实例和接口VSI-interface2关联。

[RouterB] vsi vpnb

[RouterB-vsi-vpnb] gateway vsi-interface 2

[RouterB-vsi-vpnb] quit

(4)     配置Router C

# 开启L2VPN能力。

<RouterC> system-view

[RouterC] l2vpn enable

# 关闭远端MAC地址和远端ARP自动学习功能。

[RouterC] vxlan tunnel mac-learning disable

[RouterC] vxlan tunnel arp-learning disable

# 配置BGP发布EVPN路由。

[RouterC] bgp 200

[RouterC-bgp-default] peer 4.4.4.4 as-number 200

[RouterC-bgp-default] peer 4.4.4.4 connect-interface loopback 0

[RouterC-bgp-default] address-family l2vpn evpn

[RouterC-bgp-default-evpn] peer 4.4.4.4 enable

[RouterC-bgp-default-evpn] quit

[RouterC-bgp-default] quit

# 配置L3 VNI的RD和RT。

[RouterC] ip vpn-instance l3vpna

[RouterC-vpn-instance-l3vpna] route-distinguisher 1:1

[RouterC-vpn-instance-l3vpna] address-family ipv4

[RouterC-vpn-ipv4-l3vpna] vpn-target 2:2

[RouterC-vpn-ipv4-l3vpna] quit

[RouterC-vpn-instance-l3vpna] address-family evpn

[RouterC-vpn-evpn-l3vpna] vpn-target 1:1

[RouterC-vpn-evpn-l3vpna] quit

[RouterC-vpn-instance-l3vpna] quit

# 创建VSI虚接口VSI-interface3,在该接口上配置VPN实例l3vpna对应的L3VNI为1000。

[RouterC] interface vsi-interface 3

[RouterC-Vsi-interface3] ip binding vpn-instance l3vpna

[RouterC-Vsi-interface3] l3-vni 1000

[RouterC-Vsi-interface3] quit

# 配置缺省路由,下一跳为广域网中某台设备的IP地址20.1.1.100。

[RouterC] ip route-static vpn-instance l3vpna 0.0.0.0 0 20.1.1.100

# 将缺省路由引入到VPN实例l3vpna的BGP IPv4单播路由表中。

[RouterC] bgp 200

[RouterC-bgp-default] ip vpn-instance l3vpna

[RouterC-bgp-default-l3vpna] address-family ipv4 unicast

[RouterC-bgp-default-ipv4-l3vpna] default-route imported

[RouterC-bgp-default-ipv4-l3vpna] import-route static

[RouterC-bgp-default-ipv4-l3vpna] quit

[RouterC-bgp-default-l3vpna] quit

[RouterC-bgp-default] quit

# 配置连接广域网的接口Ten-GigabitEthernet3/1/2与VPN实例l3vpna关联。

[RouterC] interface ten-gigabitethernet 3/1/2

[RouterC-Ten-GigabitEthernet3/1/2] ip binding vpn-instance l3vpna

[RouterC-Ten-GigabitEthernet3/1/2] ip address 20.1.1.3 24

[RouterC-Ten-GigabitEthernet3/1/2] quit

(5)     配置Router D

# 配置Router D与其他路由器建立BGP连接。

<RouterD> system-view

[RouterD] bgp 200

[RouterD-bgp-default] group evpn

[RouterD-bgp-default] peer 1.1.1.1 group evpn

[RouterD-bgp-default] peer 2.2.2.2 group evpn

[RouterD-bgp-default] peer 3.3.3.3 group evpn

[RouterD-bgp-default] peer evpn as-number 200

[RouterD-bgp-default] peer evpn connect-interface loopback 0

# 配置BGP发布EVPN路由,并关闭BGP EVPN路由的VPN-Target过滤功能。

[RouterD-bgp-default] address-family l2vpn evpn

[RouterD-bgp-default-evpn] peer evpn enable

[RouterD-bgp-default-evpn] undo policy vpn-target

# 配置Router D为路由反射器。

[RouterD-bgp-default-evpn] peer evpn reflect-client

[RouterD-bgp-default-evpn] quit

[RouterD-bgp-default] quit

4. 验证配置

(1)     验证分布式EVPN网关设备Router A

# 查看Router A上的EVPN路由信息,可以看到Router A发送了网关的IP前缀路由、各VSI的IMET路由和MAC/IP路由,并接收到Router B发送的网关IP前缀路由、各VSI的IMET路由和MAC/IP路由。(具体显示信息略)

# 查看Router A上的Tunnel接口信息,可以看到VXLAN模式的Tunnel接口处于up状态。(以Tunnel0接口为例)

[RouterA] display interface tunnel 0

Tunnel0

Interface index: 261

Current state: UP

Line protocol state: UP

Description: Tunnel0 Interface

Bandwidth: 64 kbps

Maximum transmission unit: 1464

Internet protocol processing: Disabled

Last clearing of counters: Never

Tunnel source 1.1.1.1, destination 2.2.2.2

Tunnel protocol/transport UDP_VXLAN/IP

Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Input: 0 packets, 0 bytes, 0 drops

Output: 0 packets, 0 bytes, 0 drops

# 查看Router A上的VSI虚接口信息,可以看到VSI虚接口处于up状态。(以VSI虚接口1为例)

[RouterA] display interface vsi-interface 1

Vsi-interface1

Interface index: 262

Current state: UP

Line protocol state: UP

Description: Vsi-interface1 Interface

Bandwidth: 1000000 kbps

Maximum transmission unit: 1500

Internet address: 10.1.1.1/24 (primary)

IP packet frame type: Ethernet II, hardware address: 0003-0003-0003

IPv6 packet frame type: Ethernet II, hardware address: 0003-0003-0003

Physical: Unknown, baudrate: 1000000 kbps

Last clearing of counters: Never

Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Input: 0 packets, 0 bytes, 0 drops

Output: 0 packets, 0 bytes, 0 drops

# 查看Router A上的VSI信息,可以看到VSI内创建的VXLAN、与VXLAN关联的VXLAN隧道、与VSI关联的VSI虚接口等信息。

[RouterA] display l2vpn vsi verbose

VSI Name: Auto_L3VNI1000_3

  VSI Index               : 1

  VSI State               : Down

  MTU                     : 1500

  Diffserv Mode           : -

  Bandwidth               : Unlimited

  Broadcast Restrain      : 5120 kbps

  Multicast Restrain      : 5120 kbps

  Unknown Unicast Restrain: 5120 kbps

  MAC Learning            : Enabled

  MAC Table Limit         : Unlimited

  MAC Learning rate       : -

  Local MAC aging time    : 300 sec

  Remote MAC aging time   : 300 sec

  Drop Unknown            : Disabled

  PW Redundancy Mode      : Slave

  DSCP                    : -

  Service Class           : -

  Flooding                : Enabled

  ESI                     : 0000.0000.0000.0000.0000

  Redundancy Mode         : All-active

  Straight-fwd PW-to-AC   : Disabled

  Statistics              : Disabled

  Gateway Interface       : VSI-interface 3

  VXLAN ID                : 1000

  Tunnel Statistics       : Disabled

 

VSI Name: vpna

  VSI Index               : 0

  VSI State               : Up

  MTU                     : 1500

  Diffserv Mode           : -

  Bandwidth               : Unlimited

  Broadcast Restrain      : 5120 kbps

  Multicast Restrain      : 5120 kbps

  Unknown Unicast Restrain: 5120 kbps

  MAC Learning            : Enabled

  MAC Table Limit         : Unlimited

  MAC Learning rate       : -

  Local MAC aging time    : 300 sec

  Remote MAC aging time   : 300 sec

  Drop Unknown            : Disabled

  PW Redundancy Mode      : Slave

  DSCP                    : -

  Service Class           : -

  Flooding                : Enabled

  ESI                     : 0000.0000.0000.0000.0000

  Redundancy Mode         : All-active

  Straight-fwd PW-to-AC   : Disabled

  Statistics              : Disabled

  Gateway Interface       : VSI-interface 1

  VXLAN ID                : 10

  Tunnel Statistics       : Disabled

  ACs:

    AC                               Link ID    State

    XGE3/1/1                         0x0        Up

...

VSI Name: vpnb

  VSI Index               : 2

  VSI State               : Up

  MTU                     : 1500

  Diffserv Mode           : -

  Bandwidth               : Unlimited

  Broadcast Restrain      : 5120 kbps

  Multicast Restrain      : 5120 kbps

  Unknown Unicast Restrain: 5120 kbps

  MAC Learning            : Enabled

  MAC Table Limit         : Unlimited

  MAC Learning rate       : -

  Local MAC aging time    : 300 sec

  Remote MAC aging time   : 300 sec

  Drop Unknown            : Disabled

  PW Redundancy Mode      : Slave

  DSCP                    : -

  Service Class           : -

  Flooding                : Enabled

  ESI                     : 0000.0000.0000.0000.0000

  Redundancy Mode         : All-active

  Straight-fwd PW-to-AC   : Disabled

  Statistics              : Disabled

  Gateway Interface       : VSI-interface 2

  VXLAN ID                : 20

  Tunnel Statistics       : Disabled

  ACs:

    AC                                 Link ID    State

    XGE3/1/2                           0x1        Up

...

# 查看Router A上VSI的ARP表项信息,可以看到已学习到了本地虚拟机的ARP信息。

[RouterA] display arp

  Type: S-Static   D-Dynamic   O-Openflow   R-Rule   M-Multiport  I-Invalid

IP address      MAC address    VLAN/VSI name Interface                Aging Type

10.1.1.10       0000-1234-0001 0             0x0                      20    D

10.1.2.10       0000-1234-0002 0             0x0                      19    D

2.2.2.2         a0ce-5e24-0100 1             Tunnel0                  --    R

# 查看Router A上VSI的EVPN ARP表项信息,可以看到已学习到了本地虚拟机的ARP信息。

[RouterA] display evpn route arp

Flags: D - Dynamic   B - BGP      L - Local active

       G - Gateway   S - Static   M - Mapping        I - Invalid

 

VPN instance: l3vpna                         Interface:Vsi-interface1

IP address      MAC address     Router MAC      VSI Index   Flags

10.1.1.1        0001-0001-0001  a0ce-7e40-0400  0           GL

10.1.1.10       0000-1234-0001  a0ce-7e40-0400  0           DL

10.1.2.10       0000-1234-0002  a0ce-7e40-0400  0           DL

10.1.1.20       0000-1234-0003  a0ce-7e40-0400  0           B

10.1.2.20       0000-1234-0004  a0ce-7e40-0400  0           B

(2)     验证主机之间可以互访

虚拟机VM 1、VM 2、VM 3、VM 4之间可以互访。

2.19.3  EVPN支持IPv4站点多归属配置举例

1. 组网需求

Router A、Router B、Router C为分布式EVPN网关设备;Router D为RR,负责在路由器之间反射BGP路由。

虚拟机VM 1、VM 2和VM 3属于VXLAN 10;VM 4属于VXLAN 20。VM 2通过聚合链路多归属于Router A、Router B,VM 3通过聚合链路多归属于Router B、Router C。VM 1、VM 4分别为Router A和Router C下的单归属设备。相同VXLAN之间可以二层互通;不同VXLAN之间通过分布式EVPN网关实现三层互通。

2. 组网图

图2-5 EVPN支持IPv4站点多归属配置组网图

3. 配置步骤

(1)     配置IP地址和单播路由协议

# 在VM 1、VM 2和VM 3上指定网关地址为10.1.1.1;在VM 4上指定网关地址为20.1.1.1。(具体配置过程略)

# 配置各接口的IP地址和子网掩码;在IP核心网络内配置OSPF协议,确保路由器之间路由可达。(具体配置过程略)

(2)     配置Router A

# 开启L2VPN能力。

<RouterA> system-view

[RouterA ] l2vpn enable

# 关闭远端MAC地址和远端ARP自动学习功能。

[RouterA] vxlan tunnel mac-learning disable

[RouterA] vxlan tunnel arp-learning disable

# 在VSI实例vpna下创建EVPN实例,并配置自动生成EVPN实例的RD和RT。

[RouterA] vsi vpna

[RouterA-vsi-vpna] evpn encapsulation vxlan

[RouterA-vsi-vpna-evpn-vxlan] route-distinguisher auto router-id

[RouterA-vsi-vpna-evpn-vxlan] vpn-target auto

[RouterA-vsi-vpna-evpn-vxlan] quit

# 创建VXLAN 10。

[RouterA-vsi-vpna] vxlan 10

[RouterA-vsi-vpna-vxlan-10] quit

[RouterA-vsi-vpna] quit

# 配置BGP发布EVPN路由。

[RouterA] bgp 200

[RouterA-bgp-default] peer 4.4.4.4 as-number 200

[RouterA-bgp-default] peer 4.4.4.4 connect-interface loopback 0

[RouterA-bgp-default] address-family l2vpn evpn

[RouterA-bgp-default-evpn] peer 4.4.4.4 enable

[RouterA-bgp-default-evpn] quit

[RouterA-bgp-default] quit

# 配置接口Ten-GigabitEthernet3/1/1与VSI实例vpna关联。

[RouterA] interface ten-gigabitethernet 3/1/1

[RouterA-Ten-GigabitEthernet3/1/1] xconnect vsi vpna

[RouterA-Ten-GigabitEthernet3/1/1] quit

# 在接入服务器的接口Ten-GigabitEthernet3/1/2上配置ESI值。

[RouterA] interface ten-gigabitethernet 3/1/2

[RouterA-Ten-GigabitEthernet3/1/2] esi 0.0.0.0.1

# 配置接口Ten-GigabitEthernet3/1/2与VSI实例vpna关联。

[RouterA-Ten-GigabitEthernet3/1/2] xconnect vsi vpna

[RouterA-Ten-GigabitEthernet3/1/2] quit

# 配置L3VNI的RD和RT。

[RouterA] ip vpn-instance l3vpna

[RouterA-vpn-instance-l3vpna] route-distinguisher 1:1

[RouterA-vpn-instance-l3vpna] address-family ipv4

[RouterA-vpn-ipv4-l3vpna] vpn-target 2:2

[RouterA-vpn-ipv4-l3vpna] quit

[RouterA-vpn-instance-l3vpna] address-family evpn

[RouterA-vpn-evpn-l3vpna] vpn-target 1:1

[RouterA-vpn-evpn-l3vpna] quit

[RouterA-vpn-instance-l3vpna] quit

# 配置VSI虚接口VSI-interface1。

[RouterA] interface vsi-interface 1

[RouterA-Vsi-interface1] ip binding vpn-instance l3vpna

[RouterA-Vsi-interface1] ip address 10.1.1.1 255.255.255.0

[RouterA-Vsi-interface1] mac-address 1-1-1

[RouterA-Vsi-interface1] distributed-gateway local

[RouterA-Vsi-interface1] local-proxy-arp enable

[RouterA-Vsi-interface1] quit

# 创建VSI虚接口VSI-interface3,在该接口上配置VPN实例l3vpna对应的L3VNI为1000。

[RouterA] interface vsi-interface 3

[RouterA-Vsi-interface3] ip binding vpn-instance l3vpna

[RouterA-Vsi-interface3] l3-vni 1000

[RouterA-Vsi-interface3] quit

# 配置VXLAN 10所在的VSI实例和接口VSI-interface1关联。

[RouterA] vsi vpna

[RouterA-vsi-vpna] gateway vsi-interface 1

[RouterA-vsi-vpna] quit

(3)     配置Router B

# 开启L2VPN能力。

<RouterB> system-view

[RouterB] l2vpn enable

# 关闭远端MAC地址和远端ARP自动学习功能。

[RouterB] vxlan tunnel mac-learning disable

[RouterB] vxlan tunnel arp-learning disable

# 在VSI实例vpna下创建EVPN实例,并配置自动生成EVPN实例的RD和RT。

[RouterB] vsi vpna

[RouterB-vsi-vpna] evpn encapsulation vxlan

[RouterB-vsi-vpna-evpn-vxlan] route-distinguisher auto router-id

[RouterB-vsi-vpna-evpn-vxlan] vpn-target auto

[RouterB-vsi-vpna-evpn-vxlan] quit

# 创建VXLAN 10。

[RouterB-vsi-vpna] vxlan 10

[RouterB-vsi-vpna-vxlan-10] quit

[RouterB-vsi-vpna] quit

# 配置BGP发布EVPN路由。

[RouterB] bgp 200

[RouterB-bgp-default] peer 4.4.4.4 as-number 200

[RouterB-bgp-default] peer 4.4.4.4 connect-interface loopback 0

[RouterB-bgp-default] address-family l2vpn evpn

[RouterB-bgp-default-evpn] peer 4.4.4.4 enable

[RouterB-bgp-default-evpn] quit

[RouterB-bgp-default] quit

# 在接入服务器的接口Ten-GigabitEthernet3/1/1上配置ESI值。

[RouterB] interface ten-gigabitethernet 3/1/1

[RouterB-Ten-GigabitEthernet3/1/1] esi 0.0.0.0.1

# 配置接口Ten-GigabitEthernet3/1/1与VSI实例vpna关联。

[RouterA-Ten-GigabitEthernet3/1/1] xconnect vsi vpna

[RouterA-Ten-GigabitEthernet3/1/1] quit

# 在接入服务器的接口Ten-GigabitEthernet3/1/2上配置ESI值。

[RouterB] interface ten-gigabitethernet 3/1/2

[RouterB-Ten-GigabitEthernet3/1/2] esi 0.0.0.0.2

# 配置接口Ten-GigabitEthernet3/1/2与VSI实例vpna关联。

[RouterA-Ten-GigabitEthernet3/1/2] xconnect vsi vpna

[RouterA-Ten-GigabitEthernet3/1/2] quit

# 配置L3VNI的RD和RT。

[RouterB] ip vpn-instance l3vpna

[RouterB-vpn-instance-l3vpna] route-distinguisher 2:2

[RouterB-vpn-instance-l3vpna] address-family ipv4

[RouterB-vpn-ipv4-l3vpna] vpn-target 2:2

[RouterB-vpn-ipv4-l3vpna] quit

[RouterB-vpn-instance-l3vpna] address-family evpn

[RouterB-vpn-evpn-l3vpna] vpn-target 1:1

[RouterB-vpn-evpn-l3vpna] quit

[RouterB-vpn-instance-l3vpna] quit

# 配置VSI虚接口VSI-interface1。

[RouterB] interface vsi-interface 1

[RouterB-Vsi-interface1] ip binding vpn-instance l3vpna

[RouterB-Vsi-interface1] ip address 10.1.1.1 255.255.255.0

[RouterB-Vsi-interface1] mac-address 1-1-1

[RouterB-Vsi-interface1] distributed-gateway local

[RouterB-Vsi-interface1] local-proxy-arp enable

[RouterB-Vsi-interface1] quit

# 创建VSI虚接口VSI-interface3,在该接口上配置VPN实例l3vpna对应的L3VNI为1000。

[RouterB] interface vsi-interface 3

[RouterB-Vsi-interface3] ip binding vpn-instance l3vpna

[RouterB-Vsi-interface3] l3-vni 1000

[RouterB-Vsi-interface3] quit

# 配置VXLAN 10所在的VSI实例和接口VSI-interface1关联。

[RouterB] vsi vpna

[RouterB-vsi-vpna] gateway vsi-interface 1

(4)     配置Router C

# 开启L2VPN能力。

<RouterC> system-view

[RouterC] l2vpn enable

# 关闭远端MAC地址和远端ARP自动学习功能。

[RouterC] vxlan tunnel mac-learning disable

[RouterC] vxlan tunnel arp-learning disable

# 在VSI实例vpna下创建EVPN实例,并配置自动生成EVPN实例的RD和RT。

[RouterC] vsi vpna

[RouterC-vsi-vpna] evpn encapsulation vxlan

[RouterC-vsi-vpna-evpn-vxlan] route-distinguisher auto router-id

[RouterC-vsi-vpna-evpn-vxlan] vpn-target auto

[RouterC-vsi-vpna-evpn-vxlan] quit

# 创建VXLAN 10。

[RouterC-vsi-vpna] vxlan 10

[RouterC-vsi-vpna-vxlan-10] quit

[RouterC-vsi-vpna] quit

# 在VSI实例vpnb下创建EVPN实例,并配置自动生成EVPN实例的RD和RT。

[RouterC] vsi vpnb

[RouterC-vsi-vpnb] evpn encapsulation vxlan

[RouterC-vsi-vpnb-evpn-vxlan] route-distinguisher auto router-id

[RouterC-vsi-vpnb-evpn-vxlan] vpn-target auto

[RouterC-vsi-vpnb-evpn-vxlan] quit

# 创建VXLAN 20。

[RouterC-vsi-vpnb] vxlan 20

[RouterC-vsi-vpnb-vxlan-20] quit

[RouterC-vsi-vpnb] quit

# 配置BGP发布EVPN路由。

[RouterC] bgp 200

[RouterC-bgp-default] peer 4.4.4.4 as-number 200

[RouterC-bgp-default] peer 4.4.4.4 connect-interface loopback 0

[RouterC-bgp-default] address-family l2vpn evpn

[RouterC-bgp-default-evpn] peer 4.4.4.4 enable

[RouterC-bgp-default-evpn] quit

[RouterC-bgp-default] quit

# 在接入服务器的接口Ten-GigabitEthernet3/1/1上配置ESI值。

[RouterC] interface ten-gigabitethernet 3/1/1

[RouterC-Ten-GigabitEthernet3/1/1] esi 0.0.0.0.2

# 配置接口Ten-GigabitEthernet3/1/1与VSI实例vpna关联。

[RouterC-Ten-GigabitEthernet3/1/1] xconnect vsi vpna

[RouterC-Ten-GigabitEthernet3/1/1] quit

# 配置接口Ten-GigabitEthernet3/1/2与VSI实例vpnb关联。

[RouterC] interface ten-gigabitethernet 3/1/2

[RouterC-Ten-GigabitEthernet3/1/2] xconnect vsi vpnb

[RouterC-Ten-GigabitEthernet3/1/2] quit

# 配置L3VNI的RD和RT。

[RouterC] ip vpn-instance l3vpna

[RouterC-vpn-instance-l3vpna] route-distinguisher 3:3

[RouterC-vpn-instance-l3vpna] address-family ipv4

[RouterC-vpn-ipv4-l3vpna] vpn-target 2:2

[RouterC-vpn-ipv4-l3vpna] quit

[RouterC-vpn-instance-l3vpna] address-family evpn

[RouterC-vpn-evpn-l3vpna] vpn-target 1:1

[RouterC-vpn-evpn-l3vpna] quit

[RouterC-vpn-instance-l3vpna] quit

# 配置VSI虚接口VSI-interface1。

[RouterC] interface vsi-interface 1

[RouterC-Vsi-interface1] ip binding vpn-instance l3vpna

[RouterC-Vsi-interface1] ip address 10.1.1.1 255.255.255.0

[RouterC-Vsi-interface1] mac-address 1-1-1

[RouterC-Vsi-interface1] distributed-gateway local

[RouterC-Vsi-interface1] local-proxy-arp enable

[RouterC-Vsi-interface1] quit

# 配置VSI虚接口VSI-interface2。

[RouterC] interface vsi-interface 2

[RouterC-Vsi-interface2] ip binding vpn-instance l3vpna

[RouterC-Vsi-interface2] ip address 20.1.1.1 255.255.255.0

[RouterC-Vsi-interface2] mac-address 2-2-2

[RouterC-Vsi-interface2] distributed-gateway local

[RouterC-Vsi-interface2] local-proxy-arp enable

[RouterC-Vsi-interface2] quit

# 创建VSI虚接口VSI-interface3,在该接口上配置VPN实例l3vpna对应的L3VNI为1000。

[RouterC] interface vsi-interface 3

[RouterC-Vsi-interface3] ip binding vpn-instance l3vpna

[RouterC-Vsi-interface3] l3-vni 1000

[RouterC-Vsi-interface3] quit

# 配置VXLAN 10所在的VSI实例和接口VSI-interface1关联。

[RouterC] vsi vpna

[RouterC-vsi-vpna] gateway vsi-interface 1

[RouterC-vsi-vpna] quit

# 配置VXLAN 20所在的VSI实例和接口VSI-interface2关联。

[RouterC] vsi vpnb

[RouterC-vsi-vpnb] gateway vsi-interface 2

[RouterC-vsi-vpnb] quit

(5)     配置Router D

# 配置RouterD与其他路由器建立BGP连接。

<RouterD> system-view

[RouterD] bgp 200

[RouterD-bgp-default] group evpn

[RouterD-bgp-default] peer 1.1.1.1 group evpn

[RouterD-bgp-default] peer 2.2.2.2 group evpn

[RouterD-bgp-default] peer 3.3.3.3 group evpn

[RouterD-bgp-default] peer evpn as-number 200

[RouterD-bgp-default] peer evpn connect-interface loopback 0

# 配置BGP发布EVPN路由,并关闭BGP EVPN路由的VPN-Target过滤功能。

[RouterD-bgp-default] address-family l2vpn evpn

[RouterD-bgp-default-evpn] peer evpn enable

[RouterD-bgp-default-evpn] undo policy vpn-target

# 配置Router D为路由反射器。

[RouterD-bgp-default-evpn] peer evpn reflect-client

[RouterD-bgp-default-evpn] quit

[RouterD-bgp-default] quit

4. 验证配置

(1)     验证分布式EVPN多归属网关设备Router C

# 查看Router C上的EVPN路由信息,可以看到Router C发送了网关的IP前缀路由、各VSI的IMET路由、MAC/IP路由、Auto-Discovery路由、Ethernet segment路由,并接收到其他网关发送的网关IP前缀路由、各VSI的IMET路由、MAC/IP路由、Auto-Discovery路由以及Ethernet segment路由。(具体显示信息略)

# 查看Router C上的EVPN Routing信息。可以看到存在关于VM 2的三层等价信息。

<RouterC> display evpn routing-table vpn-instance l3vpna

Flags: E - with valid ESI   A - AD ready   L - Local ES exists

 

VPN instance:l3vpna                          Local L3VNI:1000

IP address       Next hop         Outgoing interface    NibID       Flags

10.1.1.10        1.1.1.1          Vsi-interface3        0x18000001  -

10.1.1.20        2.2.2.2          Vsi-interface3        0x18000000  EA

                 1.1.1.1          Vsi-interface3        0x18000001  EA

# 查看Router C上的L2VPN MAC及EVPN Route MAC信息。可以看到VM 1、VM 2、VM 3和VM 4的MAC信息。其中VM 2的表项存在二层等价信息。

<RouterC> display l2vpn mac-address

MAC Address      State    VSI Name                        Link ID/Name/Peer   

                                   Aging

0001-0001-0010   EVPN     vpna                            Tunnel0             

                                   NotAging

0001-0001-0020   EVPN     vpna                            Tunnel0             

                                   NotAging

                                                          Tunnel1             

                                   NotAging

0001-0001-0030   Dynamic  vpna                            0x0                 

                                   NotAging

0002-0001-0010   Dynamic  vpnb                            0x0                 

                                   NotAging

<RouterC> display evpn route mac

Flags: D - Dynamic   B - BGP      L - Local active

       G - Gateway   S - Static   M - Mapping        I - Invalid

       E – Multihoming ES sync

 

VSI name: vpna

MAC address     Link ID/Name   Flags   Encap           Next hop

0001-0001-0030  0              DL      VXLAN           -

0001-0001-0010  Tunnel0        B       VXLAN           1.1.1.1

0001-0001-0020  Tunnel0        B       VXLAN           1.1.1.1

                Tunnel1        B       VXLAN           2.2.2.2

 

VSI name: vpnb

MAC address     Link ID/Name    Flags   Next hop

0002-0001-0010  0               DL      -

# 查看Router C上的本地和远端ES信息。

<RouterC> display evpn es local

Redundancy mode: A - All active, S - Single active

 

VSI name : vpna

ESI                         Tag ID      DF address      Mode  State ESI label

0000.0000.0000.0000.0002    0           2.2.2.2         A     Up    -

<RouterC> display evpn es remote

Control Flags: P - Primary, B - Backup, C - Control word

VSI name : vpna

  ESI                     : 0000.0000.0000.0000.0001

  A-D per ES routes       :

    Peer IP             Remote Redundancy mode

    1.1.1.1             All-active

    2.2.2.2             All-active

  A-D per EVI routes      :

    Tag ID      Peer IP

    0           1.1.1.1

    0           2.2.2.2

 

  ESI                     : 0000.0000.0000.0000.0002

  Ethernet segment routes :

    2.2.2.2

  A-D per ES routes       :

    Peer IP             Remote Redundancy mode

    2.2.2.2             All-active

  A-D per EVI routes      :

    Tag ID      Peer IP

    0           2.2.2.2

(2)     验证主机之间可以互访。

2.19.4  EVPN VXLAN网络与VPLS网络互通配置举例

1. 组网需求

GW 1、GW 2和PE位于VPLS网络,采用LDP信令协议建立LDP PW。GW 1、GW 2和VTEP位于EVPN VXLAN网络。GW 1和GW 2为VPLS网络和EVPN VXLAN网络的边缘设备。GW 1和GW 2上配置LDP PW接入VXLAN隧道,实现EVPN VXLAN网络与VPLS网络的互通。其中,PE与GW 1、PE与GW 2之间的两条LDP PW作为UPW,多归属接入PE。

2. 组网图

图2-6 EVPN VXLAN网络与VPLS网络互通配置组网图

设备

接口

IP地址

设备

接口

IP地址

GW 1

Loop0

1.1.1.9/32

VTEP

Loop0

3.3.3.9/32

 

XGE3/1/1

10.1.1.1/24

 

XGE3/1/1

-

 

XGE3/1/2

30.1.1.1/24

 

XGE3/1/2

30.1.1.3/24

 

XGE3/1/3

10.1.3.1/24

 

XGE3/1/3

10.1.2.3/24

GW 2

Loop0

2.2.2.9/32

PE

Loop0

4.4.4.9/32

 

XGE3/1/1

20.1.1.2/24

 

XGE3/1/3

-

 

XGE3/1/2

10.1.2.2/24

 

XGE3/1/1

10.1.1.4/24

 

XGE3/1/3

10.1.3.2/24

 

XGE3/1/2

20.1.1.4/24

CE 1

XGE3/1/1

100.1.1.1/32

CE 2

XGE3/1/1

100.1.1.2/32

 

3. 配置步骤

(1)     配置CE 1

# 为接口Ten-GigabitEthernet3/1/1配置IP地址和子网掩码。

<CE1> system-view

[CE1] interface ten-gigabitethernet 3/1/1

[CE1-Ten-GigabitEthernet3/1/1] ip address 100.1.1.1 24

[CE1-Ten-GigabitEthernet3/1/1] quit

(2)     配置PE

# 配置MPLS基本能力。

<PE> system-view

[PE] interface loopback 0

[PE-LoopBack0] ip address 4.4.4.9 32

[PE-LoopBack0] ospf 1 area 0

[PE-LoopBack0] quit

[PE] mpls lsr-id 4.4.4.9

# 全局使能LDP。

[PE] mpls ldp

[PE-ldp] quit

# 开启L2VPN功能。

[PE] l2vpn enable

# 配置连接GW 1的接口Ten-GigabitEthernet3/1/1。

[PE] interface ten-gigabitethernet 3/1/1

[PE-Ten-GigabitEthernet3/1/1] ip address 10.1.1.4 24

[PE-Ten-GigabitEthernet3/1/1] ospf 1 area 0

[PE-Ten-GigabitEthernet3/1/1] mpls enable

[PE-Ten-GigabitEthernet3/1/1] mpls ldp enable

[PE-Ten-GigabitEthernet3/1/1] undo shutdown

[PE-Ten-GigabitEthernet3/1/1] quit

# 配置连接GW 2的接口Ten-GigabitEthernet3/1/2。

[PE] interface ten-gigabitethernet 3/1/2

[PE-Ten-GigabitEthernet3/1/2] ip address 20.1.1.4 24

[PE-Ten-GigabitEthernet3/1/2] ospf 1 area 0

[PE-Ten-GigabitEthernet3/1/2] mpls enable

[PE-Ten-GigabitEthernet3/1/2] mpls ldp enable

[PE-Ten-GigabitEthernet3/1/2] undo shutdown

[PE-Ten-GigabitEthernet3/1/2] quit

# 配置VSI实例aaa采用LDP信令协议,并在PE和GW 1之间建立主PW,在PE和GW 2之间建立备PW,配置PW冗余保护的双收功能。

[PE] vsi vpna

[PE-vsi-vpna] protection dual-receive

[PE-vsi-vpna] pwsignaling ldp

[PE-vsi-vpna-ldp] peer 1.1.1.9 pw-id 500

[PE-vsi-vpna-ldp-1.1.1.9-500] backup-peer 2.2.2.9 pw-id 500

[PE-vsi-vpna-ldp-1.1.1.9-500-backup] quit

[PE-vsi-vpna-ldp-1.1.1.9-500] quit

[PE-vsi-vpna-ldp] quit

[PE-vsi-vpna] quit

# 在接口Ten-GigabitEthernet3/1/3绑定VSI实例aaa。

[PE] interface ten-gigabitethernet 3/1/3

[PE-Ten-GigabitEthernet3/1/3] xconnect vsi vpna

[PE-Ten-GigabitEthernet3/1/3] quit

(3)     配置GW 1

# 配置Loopback0接口。

<GW1> system-view

[GW1] interface loopback 0

[GW1-LoopBack1] ip address 1.1.1.9 32

[GW1-LoopBack1] quit

# 配置MPLS基本能力。

[GW1] mpls lsr-id 1.1.1.9

# 全局使能LDP。

[GW1] mpls ldp

[GW1-ldp] quit

# 开启L2VPN功能。

[GW1] l2vpn enable

# 在GW 1上运行OSPF,用于建立LSP。

[GW1] ospf

[GW1-ospf-1] area 0

[GW1-ospf-1-area-0.0.0.0] network 10.1.1.0 0.0.0.255

[GW1-ospf-1-area-0.0.0.0] network 30.1.1.0 0.0.0.255

[GW1-ospf-1-area-0.0.0.0] network 10.1.3.0 0.0.0.255

[GW1-ospf-1-area-0.0.0.0] network 1.1.1.9 0.0.0.0

[GW1-ospf-1] quit

# 配置连接PE的接口Ten-GigabitEthernet3/1/1。

[GW1] interface ten-gigabitethernet 3/1/1

[GW1-Ten-GigabitEthernet3/1/1] ip address 10.1.1.1 24

[GW1-Ten-GigabitEthernet3/1/1] mpls enable

[GW1-Ten-GigabitEthernet3/1/1] mpls ldp enable

[GW1-Ten-GigabitEthernet3/1/1] undo shutdown

[GW1-Ten-GigabitEthernet3/1/1] quit

# 配置连接VTEP的接口Ten-GigabitEthernet3/1/2。

[GW1] interface ten-gigabitethernet 3/1/2

[GW1-Ten-GigabitEthernet3/1/2] ip address 30.1.1.1 24

[GW1-Ten-GigabitEthernet3/1/2] mpls enable

[GW1-Ten-GigabitEthernet3/1/2] mpls ldp enable

[GW1-Ten-GigabitEthernet3/1/2] undo shutdown

[GW1-Ten-GigabitEthernet3/1/2] quit

# 配置连接GW 2的接口Ten-GigabitEthernet3/1/3。

[GW1] interface ten-gigabitethernet 3/1/3

[GW1-Ten-GigabitEthernet3/1/3] ip address 10.1.3.1 24

[GW1-Ten-GigabitEthernet3/1/3] mpls enable

[GW1-Ten-GigabitEthernet3/1/3] mpls ldp enable

[GW1-Ten-GigabitEthernet3/1/3] undo shutdown

[GW1-Ten-GigabitEthernet3/1/3] quit

# 在GW 1、GW 2和VTEP之间建立IBGP连接,并配置通过BGP EVPN发布路由信息。

[GW1] bgp 100

[GW1-bgp-default] peer 2.2.2.9 as-number 100

[GW1-bgp-default] peer 2.2.2.9 connect-interface loopback 0

[GW1-bgp-default] peer 3.3.3.9 as-number 100

[GW1-bgp-default] peer 3.3.3.9 connect-interface loopback 0

[GW1-bgp-default] address-family l2vpn evpn

[GW1-bgp-default-evpn] peer 2.2.2.9 enable

[GW1-bgp-default-evpn] peer 3.3.3.9 enable

[GW1-bgp-default-evpn] quit

[GW1-bgp-default] quit

# 创建VSI和EVPN实例,并指定EVPN采用VXLAN封装,配置EVPN实例的RD与RT。

[GW1] vsi vpna

[GW1-vsi-vpna] vxlan 10

[GW1-vsi-vpna] evpn encapsulation vxlan

[GW1-vsi-vpna-evpn-vxlan] route-distinguisher 1:1

[GW1-vsi-vpna-evpn-vxlan] vpn-target 1:1 export-extcommunity

[GW1-vsi-vpna-evpn-vxlan] vpn-target 1:1 import-extcommunity

[GW1-vsi-vpna-evpn-vxlan] quit

# 配置VSI实例vpna采用LDP信令协议,并在PE和GW 1之间建立UPW,并配置ESI值和接口的冗余备份模式。

[GW1-vsi-vpna] pwsignaling ldp

[GW1-vsi-vpna-ldp] peer 4.4.4.9 pw-id 500 no-split-horizon

[GW1-vsi-vpna-ldp-4.4.4.9-500] esi 1.1.1.1.1

[GW1-vsi-vpna-ldp-4.4.4.9-500] evpn redundancy-mode all-active

[GW1-vsi-vpna-ldp-4.4.4.9-500] quit

[GW1-vsi-vpna-ldp] quit

[GW1-vsi-vpna] quit

(4)     配置GW 2

# 配置MPLS基本能力。

<GW2> system-view

[GW2] interface loopback 0

[GW2-LoopBack0] ip address 2.2.2.9 32

[GW2-LoopBack0] quit

[GW2] mpls lsr-id 2.2.2.9

# 全局使能LDP。

[GW2] mpls ldp

[GW2-ldp] quit

# 开启L2VPN功能。

[GW2] l2vpn enable

# 在GW 2上运行OSPF,用于建立LSP。

[GW2] ospf

[GW2-ospf-1] area 0

[GW2-ospf-1-area-0.0.0.0] network 10.1.2.0 0.0.0.255

[GW2-ospf-1-area-0.0.0.0] network 20.1.1.0 0.0.0.255

[GW2-ospf-1-area-0.0.0.0] network 10.1.3.0 0.0.0.255

[GW2-ospf-1-area-0.0.0.0] network 2.2.2.9 0.0.0.0   

[GW2-ospf-1] quit

# 配置连接GW 1的接口Ten-GigabitEthernet3/1/3。

[GW2] interface ten-gigabitethernet 3/1/3

[GW2-Ten-GigabitEthernet3/1/3] ip address 10.1.3.2 24

[GW2-Ten-GigabitEthernet3/1/3] mpls enable

[GW2-Ten-GigabitEthernet3/1/3] mpls ldp enable

[GW2-Ten-GigabitEthernet3/1/3] undo shutdown

[GW2-Ten-GigabitEthernet3/1/3] quit

# 配置连接VTEP的接口Ten-GigabitEthernet3/1/2。

[GW2] interface ten-gigabitethernet 3/1/2

[GW2-Ten-GigabitEthernet3/1/2] ip address 10.1.2.1 24

[GW2-Ten-GigabitEthernet3/1/2] mpls enable

[GW2-Ten-GigabitEthernet3/1/2] mpls ldp enable

[GW2-Ten-GigabitEthernet3/1/2] undo shutdown

[GW2-Ten-GigabitEthernet3/1/2] quit

# 配置连接PE的接口Ten-GigabitEthernet3/1/1。

[GW2] interface ten-gigabitethernet 3/1/1

[GW2-Ten-GigabitEthernet3/1/1] ip address 20.1.1.2 24

[GW2-Ten-GigabitEthernet3/1/1] mpls enable

[GW2-Ten-GigabitEthernet3/1/1] mpls ldp enable

[GW2-Ten-GigabitEthernet3/1/1] undo shutdown

[GW2-Ten-GigabitEthernet3/1/1] quit

# 在GW 1、GW 2和VTEP之间建立IBGP连接,并配置通过BGP EVPN发布路由信息。

[GW2] bgp 100

[GW2-bgp-default] peer 1.1.1.9 as-number 100

[GW2-bgp-default] peer 1.1.1.9 connect-interface loopback 0

[GW2-bgp-default] peer 3.3.3.9 as-number 100

[GW2-bgp-default] peer 3.3.3.9 connect-interface loopback 0

[GW2-bgp-default] address-family l2vpn evpn

[GW2-bgp-default-evpn] peer 1.1.1.9 enable

[GW2-bgp-default-evpn] peer 3.3.3.9 enable

[GW2-bgp-default-evpn] quit

[GW2-bgp-default] quit

# 创建VSI和EVPN实例,并指定EVPN采用VXLAN封装,配置EVPN实例的RD与RT。

[GW2] vsi vpna

[GW2-vsi-vpna] vxlan 10

[GW2-vsi-vpna] evpn encapsulation vxlan

[GW2-vsi-vpna-evpn-vxlan] route-distinguisher 1:1

[GW2-vsi-vpna-evpn-vxlan] vpn-target 1:1 export-extcommunity

[GW2-vsi-vpna-evpn-vxlan] vpn-target 1:1 import-extcommunity

[GW2-vsi-vpna-evpn-vxlan] quit

# 配置VSI实例vpna采用LDP信令协议,并在PE和GW 2之间建立UPW,并配置ESI值和接口的冗余备份模式。

[GW2] vsi vpna

[GW2-vsi-vpna] pwsignaling ldp

[GW2-vsi-vpna-ldp] peer 1.1.1.9 pw-id 500 no-split-horizon

[GW2-vsi-vpna-ldp-1.1.1.9-500] esi 1.1.1.1.1

[GW2-vsi-vpna-ldp-1.1.1.9-500] evpn redundancy-mode all-active

[GW2-vsi-vpna-ldp-1.1.1.9-500] quit

[GW2-vsi-vpna-ldp] quit

[GW2-vsi-vpna] quit

(5)     配置VTEP

# 配置MPLS基本能力。

<VTEP> system-view

[VTEP] interface loopback 0

[VTEP-LoopBack0] ip address 3.3.3.9 32

[VTEP-LoopBack0] quit

[VTEP] mpls lsr-id 3.3.3.9

# 全局使能LDP。

[VTEP] mpls ldp

[VTEP-ldp] quit

# 开启L2VPN功能。

[VTEP] l2vpn enable

# 在VTEP上运行OSPF,用于建立LSP。

[VTEP] ospf

[VTEP-ospf-1] area 0

[VTEP-ospf-1-area-0.0.0.0] network 10.1.2.0 0.0.0.255

[VTEP-ospf-1-area-0.0.0.0] network 30.1.1.0 0.0.0.255

[VTEP-ospf-1-area-0.0.0.0] network 3.3.3.9 0.0.0.0  

[VTEP-ospf-1] quit

# 配置连接GW 1的接口Ten-GigabitEthernet3/1/2。

[VTEP] interface ten-gigabitethernet 3/1/2

[VTEP-Ten-GigabitEthernet3/1/2] ip address 30.1.1.3 24

[VTEP-Ten-GigabitEthernet3/1/2] undo shutdown

[VTEP-Ten-GigabitEthernet3/1/2] quit

# 配置连接GW 2的接口Ten-GigabitEthernet3/1/3。

[VTEP] interface ten-gigabitethernet 3/1/3

[VTEP-Ten-GigabitEthernet3/1/3] ip address 10.1.2.3 24

[VTEP-Ten-GigabitEthernet3/1/3] undo shutdown

[VTEP-Ten-GigabitEthernet3/1/3] quit

# 在GW 1、GW 2和VTEP之间建立IBGP连接,并配置通过BGP EVPN发布路由信息。

[VTEP] bgp 100

[VTEP-bgp-default] peer 1.1.1.9 as-number 100

[VTEP-bgp-default] peer 1.1.1.9 connect-interface loopback 0

[VTEP-bgp-default] peer 2.2.2.9 as-number 100

[VTEP-bgp-default] peer 2.2.2.9 connect-interface loopback 0

[VTEP-bgp-default] address-family l2vpn evpn

[VTEP-bgp-default-evpn] peer 1.1.1.9 enable

[VTEP-bgp-default-evpn] peer 2.2.2.9 enable

[VTEP-bgp-default-evpn] quit

[VTEP-bgp-default] quit

# 创建VSI和EVPN实例,并指定EVPN采用VXLAN封装,配置EVPN实例的RD与RT。

[VTEP] vsi vpna

[VTEP-vsi-vpna] vxlan 10

[VTEP-vsi-vpna] evpn encapsulation vxlan

[VTEP-vsi-vpna-evpn-vxlan] route-distinguisher 1:1

[VTEP-vsi-vpna-evpn-vxlan] vpn-target 1:1 export-extcommunity

[VTEP-vsi-vpna-evpn-vxlan] vpn-target 1:1 import-extcommunity

[VTEP-vsi-vpna-evpn-vxlan] quit

# 将接口Ten-GigabitEthernet3/1/1与VSI关联。

[VTEP] interface ten-gigabitethernet 3/1/1

[VTEP-Ten-GigabitEthernet3/1/1] xconnect vsi vpna

[VTEP-Ten-GigabitEthernet3/1/1] quit

(6)     配置CE 2

# 为接口Ten-GigabitEthernet3/1/1配置IP地址和子网掩码。

<CE2> system-view

[CE2] interface ten-gigabitethernet 3/1/1

[CE2-Ten-GigabitEthernet3/1/1] ip address 100.1.1.2 24

[CE2-Ten-GigabitEthernet3/1/1] quit

4. 验证配置

# 在GW 1上查看PW信息,可以看到GW 1与PE建立了LDP PW,GW 1与GW 2和VTEP建立了VXLAN隧道。

<GW1> 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

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

4.4.4.9         500                1147/-         LDP    MN   8        Up

 

[GW1] display vxlan tunnel

Total number of VXLANs: 2

 

VXLAN ID: 10, VSI name: vpna, Total tunnels: 2 (2 up, 0 down, 0 defect, 0 blocked)

  Tunnel name          Link ID    State  Type      Flood Proxy

  Tunnel0              0x5000000  UP     Auto      Disabled

  Tunnel1              0x5000001  UP     Auto      Disabled

 

# 在GW 1上查看本地ES信息,可以看到LDP PW(即UPW)作为ES实现多归属接入。

<GW1> 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           -                     0           -                 1146

# 在GW 2上的显示信息与GW 1类似。(具体显示信息略)

# CE 1与CE 2之间能够ping通。

2.19.5  EVPN VXLAN网络与EVPN VPLS网络互通配置举例

1. 组网需求

GW 1、GW 2和VTEP位于EVPN VXLAN网络。GW 1、GW 2和PE位于EVPN VPLS网络。GW 1和GW 2为EVPN VXLAN网络和EVPN VPLS网络的边缘设备。GW 1和GW 2上配置EVPN VXLAN与EVPN VPLS网络互通功能。其中,VTEP与GW 1、VTEP与GW 2之间的两条VXLAN隧道,多归属接入PE。PE与GW 1、PE与GW 2之间的两条PW,多归属接入PE。

2. 组网图

图2-7 EVPN VXLAN网络与EVPN VPLS网络互通配置组网图

设备

接口

IP地址

设备

接口

IP地址

GW 1

Loop0

1.1.1.9/32

PE

Loop0

3.3.3.9/32

 

XGE3/1/1

10.1.1.1/24

 

XGE3/1/1

-

 

XGE3/1/2

30.1.1.1/24

 

XGE3/1/2

30.1.1.3/24

 

XGE3/1/3

10.1.3.1/24

 

XGE3/1/3

10.1.2.3/24

GW 2

Loop0

2.2.2.9/32

VTEP

Loop0

4.4.4.9/32

 

XGE3/1/1

20.1.1.2/24

 

XGE3/1/3

-

 

XGE3/1/2

10.1.2.2/24

 

XGE3/1/1

10.1.1.4/24

 

XGE3/1/3

10.1.3.2/24

 

XGE3/1/2

20.1.1.4/24

CE 1

XGE3/1/1

100.1.1.1/32

CE 2

XGE3/1/1

100.1.1.2/32

 

3. 配置步骤

(1)     配置CE 1

# 为接口Ten-GigabitEthernet3/1/1配置IP地址和子网掩码。

<CE1> system-view

[CE1] interface ten-gigabitethernet 3/1/1

[CE1-Ten-GigabitEthernet3/1/1] ip address 100.1.1.1 24

[CE1-Ten-GigabitEthernet3/1/1] quit

(2)     配置VTEP

# 配置接口LoopBack0。

<VTEP> system-view

[VTEP] interface loopback 0

[VTEP-LoopBack0] ip address 4.4.4.9 32

[VTEP-LoopBack0] quit

# 开启L2VPN功能。

[VTEP] l2vpn enable

# 配置连接GW 1的接口Ten-GigabitEthernet3/1/1。

[VTEP] interface ten-gigabitethernet 3/1/1

[VTEP-Ten-GigabitEthernet3/1/1] ip address 10.1.1.4 24

[VTEP-Ten-GigabitEthernet3/1/1] ospf 1 area 0

[VTEP-Ten-GigabitEthernet3/1/1] undo shutdown

[VTEP-Ten-GigabitEthernet3/1/1] quit

# 配置连接GW 2的接口Ten-GigabitEthernet3/1/2。

[VTEP] interface ten-gigabitethernet 3/1/2

[VTEP-Ten-GigabitEthernet3/1/2] ip address 20.1.1.4 24

[VTEP-Ten-GigabitEthernet3/1/2] ospf 1 area 0

[VTEP-Ten-GigabitEthernet3/1/2] undo shutdown

[VTEP-Ten-GigabitEthernet3/1/2] quit

# 在VTEP和GW 1、GW 2之间建立IBGP连接,配置通过BGP EVPN发布路由信息。

[VTEP] bgp 100

[VTEP-bgp-default] peer 1.1.1.9 as-number 100

[VTEP-bgp-default] peer 1.1.1.9 connect-interface loopback 0

[VTEP-bgp-default] peer 2.2.2.9 as-number 100

[VTEP-bgp-default] peer 2.2.2.9 connect-interface loopback 0

[VTEP-bgp-default] address-family l2vpn evpn

[VTEP-bgp-default-evpn] peer 1.1.1.9 enable

[VTEP-bgp-default-evpn] peer 2.2.2.9 enable

[VTEP-bgp-default-evpn] quit

[VTEP-bgp-default] quit

# 配置EVPN实例vxlan。

[VTEP] evpn instance vxlan

[VTEP-evpn-instance-vxlan] route-distinguisher 11:2

[VTEP-evpn-instance-vxlan] vpn-target 11:2 export-extcommunity

[VTEP-evpn-instance-vxlan] vpn-target 11:2 import-extcommunity

[VTEP-evpn-instance-vxlan] quit

# 配置VSI与VXLAN封装方式的EVPN实例关联。

[VTEP] vsi vxlan

[VTEP-vsi-vxlan] evpn encapsulation vxlan binding instance vxlan

[VTEP-vsi-vxlan] vxlan 10

[VTEP-vsi-vxlan-vxlan-10] quit

[VTEP-vsi-vxlan] quit

# 在接口Ten-GigabitEthernet3/1/3绑定VSI实例vxlan。

[VTEP] interface ten-gigabitethernet 3/1/3

[VTEP-Ten-GigabitEthernet3/1/3] xconnect vsi vxlan

[VTEP-Ten-GigabitEthernet3/1/3] quit

(3)     配置GW 1

# 配置Loopback0接口。

<GW1> system-view

[GW1] interface loopback 0

[GW1-LoopBack1] ip address 1.1.1.9 32

[GW1-LoopBack1] quit

# 配置MPLS基本能力。

[GW1] mpls lsr-id 1.1.1.9

# 全局使能LDP。

[GW1] mpls ldp

[GW1-ldp] quit

# 开启L2VPN功能。

[GW1] l2vpn enable

# 在GW 1上运行OSPF,用于建立LSP。

[GW1] ospf

[GW1-ospf-1] area 0

[GW1-ospf-1-area-0.0.0.0] network 10.1.1.0 0.0.0.255

[GW1-ospf-1-area-0.0.0.0] network 30.1.1.0 0.0.0.255

[GW1-ospf-1-area-0.0.0.0] network 10.1.3.0 0.0.0.255

[GW1-ospf-1-area-0.0.0.0] network 1.1.1.9 0.0.0.0

[GW1-ospf-1] quit

# 配置连接VTEP的接口Ten-GigabitEthernet3/1/1。

[GW1] interface ten-gigabitethernet 3/1/1

[GW1-Ten-GigabitEthernet3/1/1] ip address 10.1.1.1 24

[GW1-Ten-GigabitEthernet3/1/1] mpls enable

[GW1-Ten-GigabitEthernet3/1/1] mpls ldp enable

[GW1-Ten-GigabitEthernet3/1/1] undo shutdown

[GW1-Ten-GigabitEthernet3/1/1] quit

# 配置连接PE的接口Ten-GigabitEthernet3/1/2。

[GW1] interface ten-gigabitethernet 3/1/2

[GW1-Ten-GigabitEthernet3/1/2] ip address 30.1.1.1 24

[GW1-Ten-GigabitEthernet3/1/2] mpls enable

[GW1-Ten-GigabitEthernet3/1/2] mpls ldp enable

[GW1-Ten-GigabitEthernet3/1/2] undo shutdown

[GW1-Ten-GigabitEthernet3/1/2] quit

# 配置连接GW 2的接口Ten-GigabitEthernet3/1/3。

[GW1] interface ten-gigabitethernet 3/1/3

[GW1-Ten-GigabitEthernet3/1/3] ip address 10.1.3.1 24

[GW1-Ten-GigabitEthernet3/1/3] mpls enable

[GW1-Ten-GigabitEthernet3/1/3] mpls ldp enable

[GW1-Ten-GigabitEthernet3/1/3] undo shutdown

[GW1-Ten-GigabitEthernet3/1/3] quit

# 在GW 1、GW 2和PE、VTEP之间建立IBGP连接,配置通过BGP EVPN发布路由信息,并配置重生成MAC/IP发布路由。

[GW1] bgp 100

[GW1-bgp-default] evpn mac re-originated enable

[GW1-bgp-default] peer 2.2.2.9 as-number 100

[GW1-bgp-default] peer 2.2.2.9 connect-interface loopback 0

[GW1-bgp-default] peer 3.3.3.9 as-number 100

[GW1-bgp-default] peer 3.3.3.9 connect-interface loopback 0

[GW1-bgp-default] peer 4.4.4.9 as-number 100

[GW1-bgp-default] peer 4.4.4.9 connect-interface loopback 0

[GW1-bgp-default] address-family l2vpn evpn

[GW1-bgp-default-evpn] peer 2.2.2.9 enable

[GW1-bgp-default-evpn] peer 3.3.3.9 enable

[GW1-bgp-default-evpn] peer 3.3.3.9 advertise encap-type mpls

[GW1-bgp-default-evpn] peer 3.3.3.9 re-originated mac replace-rt

[GW1-bgp-default-evpn] peer 4.4.4.9 enable

[GW1-bgp-default-evpn] peer 4.4.4.9 re-originated mac replace-rt

[GW1-bgp-default-evpn] quit

[GW1-bgp-default] quit

# 配置EVPN实例evpna和evpnb。

[GW1] evpn instance evpna

[GW1-evpn-instance-evpna] route-distinguisher 11:1

[GW1-evpn-instance-evpna] vpn-target 11:1 export-extcommunity

[GW1-evpn-instance-evpna] vpn-target 11:1 import-extcommunity

[GW1-evpn-instance-evpna] quit

[GW1] evpn instance evpnb

[GW1-evpn-instance-evpnb] route-distinguisher 11:2

[GW1-evpn-instance-evpnb] vpn-target 11:2 export-extcommunity

[GW1-evpn-instance-evpnb] vpn-target 11:2 import-extcommunity

[GW1-evpn-instance-evpnb] quit

# 配置VSI与MPLS封装方式的EVPN实例evpna、VXLAN封装方式的EVPN实例evpnb关联,并为VSI实例配置ESI。

[GW1] vsi vpna

[GW1-vsi-vpna] evpn encapsulation mpls binding instance evpna

[GW1-vsi-vpna] evpn encapsulation vxlan binding instance evpnb

[GW1-vsi-vpna] vxlan 10

[GW1-vsi-vpna-vxlan-10] quit

[GW1-vsi-vpna] esi 1.1.1.1.1

[GW1-vsi-vpna] quit

(4)     配置GW 2

# 配置MPLS基本能力。

<GW2> system-view

[GW2] interface loopback 0

[GW2-LoopBack0] ip address 2.2.2.9 32

[GW2-LoopBack0] quit

[GW2] mpls lsr-id 2.2.2.9

# 全局使能LDP。

[GW2] mpls ldp

[GW2-ldp] quit

# 开启L2VPN功能。

[GW2] l2vpn enable

# 在GW 2上运行OSPF,用于建立LSP。

[GW2] ospf

[GW2-ospf-1] area 0

[GW2-ospf-1-area-0.0.0.0] network 10.1.2.0 0.0.0.255

[GW2-ospf-1-area-0.0.0.0] network 20.1.1.0 0.0.0.255

[GW2-ospf-1-area-0.0.0.0] network 10.1.3.0 0.0.0.255

[GW2-ospf-1-area-0.0.0.0] network 2.2.2.9 0.0.0.0   

[GW2-ospf-1] quit

# 配置连接GW 1的接口Ten-GigabitEthernet3/1/3。

[GW2] interface ten-gigabitethernet 3/1/3

[GW2-Ten-GigabitEthernet3/1/3] ip address 10.1.3.2 24

[GW2-Ten-GigabitEthernet3/1/3] mpls enable

[GW2-Ten-GigabitEthernet3/1/3] mpls ldp enable

[GW2-Ten-GigabitEthernet3/1/3] undo shutdown

[GW2-Ten-GigabitEthernet3/1/3] quit

# 配置连接PE的接口Ten-GigabitEthernet3/1/2。

[GW2] interface ten-gigabitethernet 3/1/2

[GW2-Ten-GigabitEthernet3/1/2] ip address 10.1.2.1 24

[GW2-Ten-GigabitEthernet3/1/2] mpls enable

[GW2-Ten-GigabitEthernet3/1/2] mpls ldp enable

[GW2-Ten-GigabitEthernet3/1/2] undo shutdown

[GW2-Ten-GigabitEthernet3/1/2] quit

# 配置连接VTEP的接口Ten-GigabitEthernet3/1/1。

[GW2] interface ten-gigabitethernet 3/1/1

[GW2-Ten-GigabitEthernet3/1/1] ip address 20.1.1.2 24

[GW2-Ten-GigabitEthernet3/1/1] mpls enable

[GW2-Ten-GigabitEthernet3/1/1] mpls ldp enable

[GW2-Ten-GigabitEthernet3/1/1] undo shutdown

[GW2-Ten-GigabitEthernet3/1/1] quit

# 在GW 1、GW 2和PE之间建立IBGP连接,配置通过BGP EVPN发布路由信息,并配置重生成MAC/IP发布路由。

[GW2] bgp 100

[GW2-bgp-default] evpn mac re-originated enable

[GW2-bgp-default] peer 1.1.1.9 as-number 100

[GW2-bgp-default] peer 1.1.1.9 connect-interface loopback 0

[GW2-bgp-default] peer 3.3.3.9 as-number 100

[GW2-bgp-default] peer 3.3.3.9 connect-interface loopback 0

[GW2-bgp-default] peer 4.4.4.9 as-number 100

[GW2-bgp-default] peer 4.4.4.9 connect-interface loopback 0

[GW2-bgp-default] address-family l2vpn evpn

[GW2-bgp-default-evpn] peer 1.1.1.9 enable

[GW2-bgp-default-evpn] peer 3.3.3.9 enable

[GW2-bgp-default-evpn] peer 3.3.3.9 advertise encap-type mpls

[GW2-bgp-default-evpn] peer 3.3.3.9 re-originated mac replace-rt

[GW2-bgp-default-evpn] peer 4.4.4.9 enable

[GW2-bgp-default-evpn] peer 4.4.4.9 re-originated mac replace-rt

[GW2-bgp-default-evpn] quit

[GW2-bgp-default] quit

# 配置EVPN实例evpna和evpnb。

[GW2] evpn instance evpna

[GW2-evpn-instance-evpna] route-distinguisher 11:1

[GW2-evpn-instance-evpna] vpn-target 11:1 export-extcommunity

[GW2-evpn-instance-evpna] vpn-target 11:1 import-extcommunity

[GW2-evpn-instance-evpna] quit

[GW2] evpn instance evpnb

[GW2-evpn-instance-evpnb] route-distinguisher 11:2

[GW2-evpn-instance-evpnb] vpn-target 11:2 export-extcommunity

[GW2-evpn-instance-evpnb] vpn-target 11:2 import-extcommunity

[GW2-evpn-instance-evpnb] quit

# 配置VSI与MPLS封装方式的EVPN实例evpna、VXLAN封装方式的EVPN实例evpnb关联,并为VSI实例配置ESI。

[GW2] vsi vpna

[GW2-vsi-vpna] evpn encapsulation mpls binding instance evpna

[GW2-vsi-vpna] evpn encapsulation vxlan binding instance evpnb

[GW2-vsi-vpna] vxlan 10

[GW2-vsi-vpna-vxlan-10] quit

[GW2-vsi-vpna] esi 1.1.1.1.1

[GW2-vsi-vpna] quit

(5)     配置PE

# 配置MPLS基本能力。

<PE> system-view

[PE] interface loopback 0

[PE-LoopBack0] ip address 3.3.3.9 32

[PE-LoopBack0] quit

[PE] mpls lsr-id 3.3.3.9

# 全局使能LDP。

[PE] mpls ldp

[PE-ldp] quit

# 开启L2VPN功能。

[PE] l2vpn enable

# 在PE上运行OSPF,用于建立LSP。

[PE] ospf

[PE-ospf-1] area 0

[PE-ospf-1-area-0.0.0.0] network 10.1.2.0 0.0.0.255

[PE-ospf-1-area-0.0.0.0] network 30.1.1.0 0.0.0.255

[PE-ospf-1-area-0.0.0.0] network 3.3.3.9 0.0.0.0

[PE-ospf-1] quit

# 配置连接GW 1的接口Ten-GigabitEthernet3/1/2。

[PE] interface ten-gigabitethernet 3/1/2

[PE-Ten-GigabitEthernet3/1/2] ip address 30.1.1.3 24

[PE-Ten-GigabitEthernet3/1/2] undo shutdown

[PE-Ten-GigabitEthernet3/1/2] quit

# 配置连接GW 2的接口Ten-GigabitEthernet3/1/3。

[PE] interface ten-gigabitethernet 3/1/3

[PE-Ten-GigabitEthernet3/1/3] ip address 10.1.2.3 24

[PE-Ten-GigabitEthernet3/1/3] undo shutdown

[PE-Ten-GigabitEthernet3/1/3] quit

# 在GW 1、GW 2和PE之间建立IBGP连接,并配置通过BGP EVPN发布路由信息。

[PE] bgp 100

[PE-bgp-default] peer 1.1.1.9 as-number 100

[PE-bgp-default] peer 1.1.1.9 connect-interface loopback 0

[PE-bgp-default] peer 2.2.2.9 as-number 100

[PE-bgp-default] peer 2.2.2.9 connect-interface loopback 0

[PE-bgp-default] address-family l2vpn evpn

[PE-bgp-default-evpn] peer 1.1.1.9 enable

[PE-bgp-default-evpn] peer 1.1.1.9 advertise encap-type mpls

[PE-bgp-default-evpn] peer 2.2.2.9 enable

[PE-bgp-default-evpn] peer 2.2.2.9 advertise encap-type mpls

[PE-bgp-default-evpn] quit

[PE-bgp-default] quit

# 配置EVPN实例mpls。

[PE] evpn instance mpls

[PE-evpn-instance-mpls] route-distinguisher 11:1

[PE-evpn-instance-mpls] vpn-target 11:1 export-extcommunity

[PE-evpn-instance-mpls] vpn-target 11:1 import-extcommunity

[PE-evpn-instance-mpls] quit

# 配置VSI与MPLS封装方式的EVPN实例mpls关联。

[PE] vsi mpls

[PE-vsi-mpls] evpn encapsulation mpls binding instance mpls

[PE-vsi-mpls] quit

# 将接口Ten-GigabitEthernet3/1/1与VSI关联。

[PE] interface ten-gigabitethernet 3/1/1

[PE-Ten-GigabitEthernet3/1/1] xconnect vsi mpls

[PE-Ten-GigabitEthernet3/1/1] quit

(6)     配置CE 2

# 为接口Ten-GigabitEthernet3/1/1配置IP地址和子网掩码。

<CE2> system-view

[CE2] interface ten-gigabitethernet 3/1/1

[CE2-Ten-GigabitEthernet3/1/1] ip address 100.1.1.2 24

[CE2-Ten-GigabitEthernet3/1/1] quit

4. 验证配置

# 在GW 1上,可以看到GW 1与PE建立了EVPN PW,GW 1与GW 2、VTEP建立了VXLAN隧道。

<GW1> 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, 1 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         -                  775127/1148    EVPN   M    8        Up

 

<GW1> display vxlan tunnel

Total number of VXLANs: 1

 

VXLAN ID: 10, VSI name: ldpvxlan, Total tunnels: 2 (2 up, 0 down, 0 defect, 0 blocked)

  Tunnel name          Link ID    State  Type      Flood Proxy

  Tunnel0              0x5000000  UP     Auto      Disabled

  Tunnel1              0x5000001  UP     Auto      Disabled

# 在GW 1上查看本地ES信息,可以看到VSI作为ES实现多归属接入。

<GW1> display evpn es local verbose

Redundancy mode: A - All-active, S - Single-active

 

VSI name : vpna

EVPN instance: evpna

EVPN instance: evpnb

  VSI ESI                  : 0003.0003.0003.0003.0003

  Redundancy mode          : All-active

  ES state                 : Up

# GW 2上的显示信息与GW 1类似。(具体显示信息略)

# CE 1与CE 2之间能够ping通。

 

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

新华三官网
联系我们