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

16-EVPN配置指导

目录

02-EVPN VXLAN配置

本章节下载 02-EVPN VXLAN配置  (788.71 KB)

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 多归属站点

1.5.1 功能简介

1.5.2 DF选举

1.5.3 水平分割

1.5.4 冗余备份模式

1.5.5 Aliasing

1.6 ARP/ND泛洪抑制

1.7 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 开启AC状态影响DF选举功能

2.5.5 配置DF选举延迟时间

2.5.6 配置DF选举不回切功能

2.5.7 配置延迟发布以太网段路由

2.5.8 配置EVPN VXLAN的FRR功能

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

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.7 配置AC与VSI关联

2.7.1 配置手工创建的以太网服务实例与VSI关联

2.7.2 配置动态创建的以太网服务实例与VSI关联

2.8 管理远端MAC地址和远端ARP/ND信息学习

2.8.1 关闭远端MAC地址和远端ARP/ND自动学习功能

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

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

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

2.9 配置按需下发转发表项

2.9.1 功能简介

2.9.2 配置限制和指导

2.9.3 开启报文转发时下发远端MAC地址表项功能

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

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

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

2.10.3 配置MAC/IP发布路由的优先级

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

2.11 配置VSI泛洪抑制

2.12 配置ARP泛洪抑制

2.12.1 在VSI下配置ARP泛洪抑制

2.12.2 在VLAN下配置ARP泛洪抑制

2.13 开启自动VXLAN隧道的报文统计功能

2.14 检测VXLAN隧道的连通性

2.14.1 开启VXLAN隧道的连通性检测功能

2.14.2 配置Ping方式检测VXLAN隧道的连通性

2.14.3 配置Tracert方式检测VXLAN隧道的连通性

2.15 开启EVPN告警功能

2.16 开启EVPN支持M-LAG功能

2.16.1 功能简介

2.16.2 配置限制和指导

2.16.3 配置准备

2.16.4 配置步骤(IPv4网络)

2.16.5 配置步骤(IPv6网络)

2.17 EVPN显示和维护

 


 

 

 

 

 

1 EVPN VXLAN概述

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

1.1  网络模型

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

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

·     用户终端(Terminal):可以是PC机、无线终端设备、服务器上创建的VM(Virtual Machine,虚拟机)等。不同的用户终端可以属于不同的VXLAN。属于相同VXLAN的用户终端处于同一个逻辑二层网络,彼此之间二层互通;属于不同VXLAN的用户终端之间二层隔离。

说明

本文档中如无特殊说明,均以VM为例介绍EVPN工作机制。采用其他类型用户终端时,EVPN工作机制与VM相同,不再赘述。

 

·     VTEP(VXLAN Tunnel End Point,VXLAN隧道端点):EVPN的边缘设备。EVPN的相关处理都在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  自动发现邻居、建立隧道、关联隧道

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

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,接入电路)。以太网服务实例在二层以太网接口上创建,它定义了一系列匹配规则(匹配接口接收到的所有报文、匹配所有携带VLAN Tag的报文、匹配所有不携带VLAN Tag的报文等),用来灵活地匹配从该二层以太网接口上接收到的数据帧。

图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  多归属站点

说明

目前,本功能支持IPv4站点接入IPv4网络、IPv6站点接入IPv6网络。

1.5.1  功能简介

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

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

 

1.5.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-7 DF示意图

 

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

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

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

 

图1-8所示,以允许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-9 基于优先级的DF选举

 

图1-9所示,以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.5.3  水平分割

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

图1-10 水平分割

 

1.5.4  冗余备份模式

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

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

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

1.5.5  Aliasing

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

1.6  ARP/ND泛洪抑制

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

图1-11 ARP/ND泛洪抑制示意图

 

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

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

(2)     VTEP 1根据接收到的ARP请求,建立VM 1的ARP泛洪抑制表项,在VXLAN内泛洪该ARP请求(图1-11以单播路由泛洪方式为例)。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.7  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.     (可选)开启AC状态影响DF选举功能

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

e.     (可选)配置DF选举不回切功能

f.     (可选)配置延迟发布以太网段路由

g.     配置EVPN VXLAN的FRR功能

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

(4)     配置BGP发布EVPN路由

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

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

c.     (可选)配置BGP EVPN路由进行下一跳路由迭代时不能迭代到缺省路由

d.     (可选)维护BGP会话

(5)     配置AC与VSI关联

(6)     (可选)管理远端MAC地址和远端ARP/ND信息学习

¡     关闭远端MAC地址和远端ARP/ND自动学习功能

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

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

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

(7)     (可选)配置按需下发转发表项

执行本配置后,只有存在报文转发需求时,设备上才会将远端MAC地址表项下发到硬件,以节省设备的硬件资源。

¡     开启报文转发时下发远端MAC地址表项功能

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

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

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

¡     配置MAC/IP发布路由的优先级

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

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

¡     配置VSI泛洪抑制

¡     配置ARP泛洪抑制

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

¡     检测VXLAN隧道的连通性

¡     开启EVPN告警功能

2.2  EVPN VXLAN配置限制和指导

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

在EVPN VXLAN两级Spine(作为RR)组网中,为了避免设备或链路故障时路由收敛时间过长,可以通过配置peer route-update-interval命令缩短设备向指定对等体/对等体组发布同一路由的时间间隔。有关peer route-update-interval命令的详细介绍请参见“三层技术-IP路由命令参考”中的“BGP”。

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 size

缺省情况下,VSI的MTU值为1500字节。

(5)     配置VSI内流量的最大带宽。

bandwidth bandwidth

缺省情况下,未配置VSI内流量的最大带宽,即不限制VSI内的流量。

(6)     配置VSI的广播、未知组播或未知单播抑制带宽。

restrain { broadcast | multicast | unknown-unicast } bandwidth

缺省情况下,不抑制VSI的广播、未知组播和未知单播流量。

(7)     开启VSI的MAC地址学习功能。

mac-learning enable

缺省情况下,VSI的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实例。

2.4.2  配置限制和指导

一个VSI实例仅能关联一个EVPN实例。

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属性。

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

(5)     退回系统视图。

quit

(6)     进入VSI视图。

vsi vsi-name

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

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

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

2.4.4  配置VSI实例下的EVPN实例

(1)     进入系统视图。

system-view

(2)     进入VSI视图。

vsi vsi-name

(3)     创建EVPN实例,并进入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属性。

2.5  配置多归属站点

2.5.1  配置限制和指导

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

IRF功能与多归属功能互斥,建议不要在同一个设备上同时配置IRF功能与多归属功能。

2.5.2  配置接口ESI

1. 功能简介

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

设备支持通过如下三种方式配置接口的ESI,具体如下:

·     手工配置ESI:该方式需要手工指定ESI,适用于组网简单的场景。

·     配置Type1类型ESI:该方式可以利用LACP参数自动生成ESI,适用于配置了LACP功能的组网场景。

·     配置Type3类型ESI:该方式可以利用接口的系统MAC和本地标识符自动生成ESI,适用于已配置了系统MAC和本地标识符的组网场景。

2. 配置限制和指导

在同一个接口下,esi命令与esi type-1命令、esi type-3命令互斥,即上述三条命令不能同时配置。

配置esi type-1命令之前,需要先配置LACP功能。LACP的配置方法,请参见“三层技术-以太网交换配置指导”中的“以太网链路聚合”。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入接口视图。

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

interface interface-type interface-number

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

interface bridge-aggregation interface-number

¡     进入三层接口视图。

interface interface-type interface-number

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

interface route-aggregation interface-number

(3)     配置接口ESI,请选择其中一种方式进行配置。

¡     手工配置接口ESI。

esi esi-id

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

¡     配置接口自动生成Type1类型ESI。

esi type-1 [ pe ]

缺省情况下,接口不会自动生成Type1类型的ESI。

¡     配置接口自动生成Type3类型ESI。

esi type-3 system-mac mac-address local-discriminator local-discriminator

缺省情况下,接口不会自动生成Type3类型的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

(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

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

evpn df-election preference preference

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

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

2.5.4  开启AC状态影响DF选举功能

1. 功能简介

缺省情况下,在EVPN多归属组网中,同一ES内的所有VTEP都将参与DF选举,VTEP上AC的状态不影响VTEP是否参与DF选举。若选举为DF的VTEP上AC的状态为Down,会导致VTEP无法通过AC转发流量,此时可以通过配置本命令来解决此问题。

配置本命令之后,只有当AC状态为Up时VTEP才会参与DF选举。VTEP通过如下方式判断AC状态:

·     对于本端VTEP,通过检查本端AC是否Up来判断本端VTEP是否参与DF选举,只有AC状态为Up的本端VTEP才可以参与DF选举。

·     对于远端VTEP,通过检查是否收到远端VTEP发布的AD VTEPr ES路由和AD VTEPr EVI路由来判断远端VTEP是否参与DF选举,只有收到远端VTEP发布的AD VTEPr ES 路由和AD VTEPr EVI路由时,本端VTEP才认为远端VTEP上AC为Up状态,可以参与DF选举。

2. 配置限制和指导

只有当冗余备份组中的所有VTEP上都开启本功能时,本功能才生效。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启AC状态影响DF选举功能。

evpn df-election ac-influence enable

缺省情况下,AC状态影响DF选举功能处于关闭状态。

 

2.5.5  配置DF选举延迟时间

1. 功能简介

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

2. 配置步骤

(1)     进入系统视图。

system-view

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

evpn multihoming timer df-delay delay-value

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

2.5.6  配置DF选举不回切功能

1. 功能简介

在EVPN多归属组网中,配置变化、设备重启或者进程重启都会触发DF重新选举,DF切换可能会造成转发丢包。在VTEP设备上配置本功能可以解决此问题。

以VTEP 1与VTEP 2组成冗余备份组,其中VTEP 1为DF为例,讲解DF选举不回切功能。当VTEP 1重启导致VTEP 2重新选举为DF时:

·     若VTEP 1重启后收到VTEP 2发布的以太网段路由,则VTEP 1比较以太网段路由中携带的DF选举优先级与本地配置的DF选举优先级。

¡     若VTEP 1本地配置的DF选举优先级<收到的以太网段路由中携带的DF选举优先级,则VTEP 1发布的以太网段路由中携带的DF选举优先级为本地配置的DF选举优先级。

¡     若VTEP 1本地配置的DF选举优先级=收到的以太网段路由中携带的DF选举优先级,则比较IP地址。

-     VTEP 1的IP地址<VTEP 2的IP地址,则VTEP 1发布的以太网段路由中携带的DF选举优先级为本地配置的DF选举优先级、DP(Don't Preempt Me,不可回切)位为0。

-     VTEP 1的IP地址>VTEP 2的IP地址,则VTEP 1发布的以太网段路由中携带的DF选举优先级为本地配置的DF选举优先级、DP位为1。

¡     若VTEP 1本地配置的DF选举优先级>收到的以太网段路由中携带的DF选举优先级,则VTEP 1发布的以太网段路由中携带的DF选举优先级为VTEP 2发布的以太网段路由中的DF选举优先级、DP位为0。

·     若VTEP 1重启后未收到VTEP 2发布的以太网段路由,则VTEP 1发布的以太网段路由中携带的DF选举优先级为本地配置的DF选举优先级。

2. 配置限制和指导

在EVPN多归属组网采用多活冗余模式时,建议配置本功能,解决DF回切造成的丢包问题;采用单活冗余模式时,不建议配置本功能,否则会影响DF回切性能。

在DF设备重启或者进程重启触发DF重新选举的场景中,DF设备重启或进程重启后会立刻发布以太网段路由,以便快速恢复为DF,但是由于接入侧连接恢复较慢,设备切换为DF后,会导致丢包。此时,可以配合evpn timer es-recovery命令,使设备在等待接入侧连接恢复后再发送以太网段路由。建议在多归属成员设备上同时配置evpn df-election preference non-revertive命令与evpn timer es-recovery命令。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入接口视图。

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

interface interface-type interface-number

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

interface bridge-aggregation interface-number

¡     进入三层接口视图。

interface interface-type interface-number

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

interface route-aggregation interface-number

(3)     开启基于优先级DF选举的不回切功能。

evpn df-election preference non-revertive

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

2.5.7  配置延迟发布以太网段路由

1. 功能简介

在DF设备重启或者进程重启触发DF重新选举的场景中,DF设备重启或进程重启后会立刻发布以太网段路由,以便快速恢复为DF。但是,由于接入侧连接恢复较慢,设备切换为DF后,可能会因为AC状态未up而导致丢包。此时,可以配置本功能,使设备在等待接入侧连接恢复后再发送以太网段路由。

2. 配置限制和指导

在EVPN多归属组网采用多活冗余模式时,建议配置本功能,解决DF回切造成的丢包问题;采用单活冗余模式时,不建议配置本功能,否则会影响DF回切性能。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入接口视图。

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

interface interface-type interface-number

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

interface bridge-aggregation interface-number

¡     进入三层接口视图。

interface interface-type interface-number

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

interface route-aggregation interface-number

(3)     配置基于优先级选举DF时,延迟发布以太网段路由。

evpn timer es-recovery recovery-time

缺省情况下,基于优先级选举DF时,不延迟发布以太网段路由。

2.5.8  配置EVPN VXLAN的FRR功能

1. 功能简介

本功能是指多归属站点AC故障时,将需要通过故障AC转发的流量临时通过冗余备份组成员VTEP间的VXLAN隧道转发,减少AC故障导致的丢包。

2. 配置限制和指导

本功能配置在冗余备份组成员VTEP上。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启全局EVPN VXLAN的FRR功能。

evpn multihoming vxlan-frr local

缺省情况下,EVPN VXLAN的FRR功能处于关闭状态。

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

1. 功能简介

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

2. 配置限制和指导

在站点多归属组网中,如果需要通过EVPN的SMET、IGMP-JS和IGMP-LS路由转发组播流量,则不能执行本配置。否则,可能会导致组播流量转发错误。

3. 配置步骤

(1)     进入系统视图。

system-view

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

evpn multihoming advertise disable

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

2.6  配置BGP发布EVPN路由

2.6.1  配置限制和指导

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 ] } as-number as-number

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

address-family l2vpn evpn

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

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

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

2.6.3  配置BGP EVPN路由

1. 配置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

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

2. 配置BGP EVPN路由属性

(1)     进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

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

address-family l2vpn evpn

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

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

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

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

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

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

(6)     配置将发送给邻居的BGP路由调整为最低优先级。请选择其中一项进行配置。

¡     配置邻居状态由Down变为Up后,在指定的持续时间内将发送给邻居的BGP路由调整为最低优先级。

advertise lowest-priority on-peer-up duration seconds

¡     配置设备重启且BGP进程恢复后,在持续时间内调整发送给邻居的BGP路由优先级为最低。

advertise lowest-priority on-startup duration seconds

缺省情况下,设备不修改发送给邻居的BGP路由的优先级。

调整BGP路由优先级的方式是,将BGP路由的本地优先级值调整为最小值0,并将BGP路由的MED值调整为最大值4294967295。如需在设备发送最低优先级BGP路由的持续时间内,恢复发送正常优先级的路由,可以在用户视图下执行reset bgp advertise lowest-priority命令。

3. 配置BGP EVPN路由优选

(1)     进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

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

address-family l2vpn evpn

(4)     (可选)配置BGP路由延迟优选功能,请至少选择其中的一项进行配置。

¡     配置对地址族下的所有BGP路由延迟优选。

route-select delay delay-value

¡     配置邻居状态由Down变为Up后,在指定的持续时间内仅对来自该邻居的BGP路由延迟优选。

route-select suppress on-peer-up milliseconds

缺省情况下,路由优选不延迟。

4. 配置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 ] } 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

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

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

reflect change-path-attribute

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

5. 配置Route Server

(1)     进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

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

address-family l2vpn evpn

(4)     在本机上开启Route Server功能,配置对等体/对等体组作为Route Server的客户机。

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

缺省情况下,未配置Route Server功能及其客户机。

在本机上配置Route Server功能后,对等设备上需要配置peer ignore-first-as命令,不检查从指定EBGP对等体发来的更新消息中AS_Path属性的第一个AS号,否则邻居关系无法正常建立。

6. 配置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 ] } route-policy route-policy-name { export | import }

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

(5)     设置基于二层ACL的路由过滤策略。

¡     为指定对等体/对等体组设置基于二层ACL的路由过滤策略。

peer { group-name | ipv4-address [ mask-length ] | ipv6-address [ prefix-length ] } filter-policy { mac-acl-number | name mac-acl-name } { export | import }

¡     配置对发布的所有路由信息进行过滤。

filter-policy { mac-acl-number | name mac-acl-name } export

¡     配置对接收的所有路由信息进行过滤。

filter-policy { mac-acl-number | name mac-acl-name } import

缺省情况下,未设置基于二层ACL的路由过滤策略。

在二层ACL中,rule [ rule-id ] { deny | permit } dest-mac dest-address dest-mask命令配置的规则用来过滤携带指定MAC地址的MAC/IP发布路由,不能过滤其他类型的BGP EVPN路由。除了上述规则之外,二层ACL中的其他规则对EVPN路由的过滤不生效。

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

policy vpn-target

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

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

peer-as-check enable

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

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

7. 配置BGP Add-Path功能

(1)     进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

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

address-family l2vpn evpn

(4)     为指定对等体/对等体组配置Add-Path功能。

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

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

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

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

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

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

additional-paths select-best best-number

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

2.6.4  配置BGP EVPN路由进行下一跳路由迭代时不能迭代到缺省路由

1. 功能简介

缺省情况下,BGP路由在进行下一跳路由迭代时,若只能通过缺省路由到达BGP路由的下一跳,则BGP路由会迭代到缺省路由,即选择缺省路由作为BGP路由的下一跳的依赖路由。如果通过该缺省路由实际无法到达BGP路由的下一跳,则匹配该BGP路由的流量将转发失败。

为了解决上述问题,可以配置本命令,使得BGP路由进行下一跳路由迭代时,不迭代到缺省路由。配置本命令后,BGP路由在进行下一跳路由迭代时,若只能通过缺省路由到达BGP路由的下一跳,则路由迭代失败,该BGP路由成为失效路由,同一前缀的其他BGP路由可以被优选。

本功能可以应用在到达同一目的地址存在多条链路的组网场景中,在承载流量的链路发生故障时,原本迭代到该链路的BGP路由也不会因为迭代到缺省路由而保持继续生效,而是变为失效路由,使得下一跳指向其他链路的BGP路由能够优选,以实现链路的切换,避免长时间丢包。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

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

address-family l2vpn evpn

(4)     配置下一跳路由迭代时不能迭代到缺省路由。

nexthop recursive-lookup default-route ignore [ route-policy route-policy-name ]

缺省情况下,BGP路由进行下一跳路由迭代时,可以迭代到缺省路由。

注意

配置本命令后,可能会使得EVPN VXLAN网络中已经创建的VXLAN隧道重新建立,导致VXLAN流量的短暂丢失。建议您在配置本命令后,再使能BGP EVPN路由的交互能力。

 

2.6.5  维护BGP会话

请在用户视图下执行如下命令,复位或软复位BGP会话。

·     复位EVPN地址族下的BGP会话。

reset bgp [ instance instance-name ] { as-number | ipv4-address [ mask-length ] | all | external | group group-name | internal } l2vpn evpn

·     手工对EVPN地址族下的BGP会话进行软复位。

refresh bgp [ instance instance-name ] { ipv4-address [ mask-length ] | all | external | group group-name | internal } { export | import } l2vpn evpn

2.7  配置AC与VSI关联

2.7.1  配置手工创建的以太网服务实例与VSI关联

1. 功能简介

手工创建以太网服务实例,并将以太网服务实例与VSI关联后,从该接口接收到的、符合以太网服务实例报文匹配规则的报文,将通过查找关联VSI的MAC地址表进行转发。

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

2. 配置限制和指导

请不要在同一个二层以太网接口/二层聚合接口上同时配置以下功能:

·     VLAN映射、以太网服务实例与VSI

·     QinQ、以太网服务实例与VSI

·     接口桥功能、以太网服务实例与VSI

否则,可能导致这些功能不可用。

执行本配置时,需要注意:对于以太网服务实例所匹配的VLAN,在设备上需要创建对应的VLAN,并在创建以太网服务实例的接口配置允许该VLAN通过。

将接口加入二层聚合组口后,该成员端口上以太网服务实例配置不生效,且该成员端口上的以太网服务实例处于Down状态。只有成员端口退出二层聚合组后,该端口上的以太网服务实例配置才生效。

同一接口下不同以太网服务实例,不能配置匹配相同外层VLAN tag不同内层VLAN tag的报文匹配规则。

配置以太网服务实例的报文匹配规则时需要注意的事项请参见“VXLAN命令参考”中的“VXLAN”。

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 [ only-tagged ]

encapsulation s-vid vlan-id-list

¡     同时匹配报文的外层和内层VLAN tag。

encapsulation s-vid vlan-id-list c-vid vlan-id

encapsulation s-vid vlan-id c-vid { vlan-id | all }

¡     匹配携带VLAN tag或不携带VLAN tag的所有报文。

encapsulation { tagged | untagged }

¡     匹配未匹配到接口上其他以太网服务实例的所有报文。

encapsulation default

同一个接口上最多只能有一个服务实例的报文匹配规则为encapsulation default

如果接口上只存在一个配置了encapsulation default规则的以太网服务实例,则该接口上的所有报文都匹配该以太网服务实例。

缺省情况下,未配置报文匹配规则。

(5)     将以太网服务实例与VSI关联。

xconnect vsi vsi-name [ access-mode { ethernet | vlan } ] [ track track-entry-number&<1-3> ]

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

2.7.2  配置动态创建的以太网服务实例与VSI关联

1. 功能简介

802.1X或MAC地址认证为用户下发授权VSI、Guest VSI、Auth-Fail VSI或Critical VSI后,将用户信息(接入端口、所属VLAN、MAC地址等)及VSI信息通知给VXLAN。VXLAN根据用户信息动态创建以太网服务实例,并将其与VSI关联。802.1X和MAC地址认证的详细介绍,请参见“安全配置指导”中的“802.1X”和“MAC地址认证”。

动态创建的以太网服务实例可以通过以下匹配方式判断接口接收到的报文是否属于该AC:

·     VLAN方式:检查报文携带的VLAN ID是否与以太网服务实例匹配的VLAN ID相同。只有二者相同,报文才属于该AC。

·     MAC地址方式:检查报文携带的VLAN ID、源MAC地址是否分别与以太网服务实例匹配的VLAN ID、MAC地址相同。只有VLAN ID、源MAC地址均相同时,报文才属于该AC。

缺省情况下,动态创建的以太网服务实例采用VLAN匹配方式。如果需要采用MAC地址方式,那么必须采用MAC地址认证或基于MAC接入控制的802.1X认证,并开启动态创建的以太网服务实例匹配MAC地址功能。

2. 配置限制和指导

二层聚合接口的成员端口上无法动态创建以太网服务实例。

3. 配置VLAN方式

采用VLAN方式时,仅需完成802.1X或MAC地址认证相关配置,并在接入认证设备上配置Guest VSI、Auth-Fail VSI、Critical VSI,或在远程AAA服务器上配置为认证成功用户下发授权VSI。完成上述配置后,接入认证设备上会自动地创建以太网服务实例,并将其与Guest VSI、Auth-Fail VSI、Critical VSI或授权VSI关联。

802.1X或MAC地址认证的配置方法,请参见“安全配置指导”中的“802.1X”和“MAC地址认证”。

4. 配置MAC地址方式

(1)     进入系统视图。

system-view

(2)     进入接口视图。

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

interface interface-type interface-number

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

interface bridge-aggregation interface-number

(3)     开启动态创建的以太网服务实例匹配MAC地址功能。

mac-based ac

缺省情况下,动态创建的以太网服务实例匹配MAC地址功能处于关闭状态,即动态创建的以太网服务实例只匹配VLAN。

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

(4)     配置MAC接入控制的802.1X认证或MAC地址认证。

完成802.1X或MAC地址认证相关配置,并在接入认证设备上配置Guest VSI、Auth-Fail VSI、Critical VSI,或在远程AAA服务器上配置为认证成功用户下发授权VSI。

完成上述配置后,接入认证设备上会自动地创建以太网服务实例,并将其与Guest VSI、Auth-Fail VSI、Critical VSI或授权VSI关联。

802.1X或MAC地址认证的配置方法,请参见“安全配置指导”中的“802.1X”和“MAC地址认证”。

2.8  管理远端MAC地址和远端ARP/ND信息学习

2.8.1  关闭远端MAC地址和远端ARP/ND自动学习功能

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.8.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.8.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地址表项抑制失败。

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地址反复迁移抑制功能处于关闭状态。

2.8.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.9  配置按需下发转发表项

2.9.1  功能简介

执行本配置后,只有存在报文转发需求时,设备上才会将远端MAC地址表项、主机路由FIB表项或远端ARP表项下发到硬件,以节省设备的硬件资源。

2.9.2  配置限制和指导

本功能仅用于EVPN组网。非EVPN组网中,不要配置本功能。

2.9.3  开启报文转发时下发远端MAC地址表项功能

1. 功能简介

缺省情况下,通过BGP EVPN路由同步过来的远端MAC地址表项会直接下发到硬件。开启本功能后,同步过来的远端MAC地址表项不会直接下发到硬件,当报文转发过程中需要使用远端MAC地址表项时,才会将其下发到硬件。该功能可以有效节省设备的硬件资源。

开启本功能后,当设备在一个MAC地址表项老化时间内收到50次目的MAC地址相同的报文,且设备的MAC地址表中不存在该MAC地址,设备会将此报文的目的MAC地址加入到黑洞MAC地址表项中。这种黑洞MAC地址表项可以老化,老化时间通过mac-address timer命令配置。黑洞MAC地址表项老化之后,报文将正常进行转发。

MAC地址表项老化时间和黑洞MAC地址的详细介绍,请参见“二层技术-以太网交换配置指导”中的“MAC地址表”。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启报文转发时下发远端MAC地址表项功能。

mac-address forwarding-conversational-learning

缺省情况下,报文转发时下发远端MAC地址表项功能处于关闭状态。

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

2.10.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.10.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.10.3  配置MAC/IP发布路由的优先级

1. 功能简介

在IP路由表中,对于相同的目的地,不同的路由协议、直连路由和静态路由可能会发现不同的路由,但这些路由并不都是最优的。为了判断最优路由,各路由协议、直连路由和静态路由都被赋予了一个优先级,具有较高优先级的路由协议发现的路由将成为最优路由。

本功能用来设置来自EBGP对等体和来自IBGP对等体的MAC/IP发布路由(EVPN 2类路由)的优先级,或应用路由策略为通过匹配规则过滤的MAC/IP发布路由配置优先级,以改变该路由被添加到VPN实例IP路由表后被选为最优路由的可能性。

2. 配置限制和指导

根据路由策略设置路由的优先级时,需要在指定的路由策略中通过apply preference命令配置路由的优先级。如果没有在路由策略中配置apply preference命令,则通过匹配规则过滤的路由使用缺省的优先级。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

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

ip vpn-instance vpn-instance-name

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

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

address-family ipv4 [ unicast ]

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

address-family ipv6 [ unicast ]

(5)     配置引入单播地址族的MAC/IP发布路由的优先级。

evpn mac-ip preference { external-preference internal-preference | route-policy route-policy-name }

缺省情况下,来自EBGP对等体的路由的优先级为255,来自IBGP对等体的路由的优先级为255。

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

1. 功能简介

配置允许对外发布BGP EVPN路由后,设备接收到BGP EVPN的包含ARP/ND信息的MAC/IP发布路由,并将其添加到某个VPN实例路由表后,会将包含ARP/ND信息的MAC/IP发布路由(私网路由)发布到本地站点。

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  配置VSI泛洪抑制

1. 功能简介

缺省情况下,VTEP从本地站点内接收到目的MAC地址为广播、未知单播和未知组播的数据帧后,会在该VXLAN内除接收接口外的所有本地接口和VXLAN隧道上泛洪该数据帧,将该数据帧发送给VXLAN内的所有站点;VTEP从VXLAN隧道接收到目的MAC地址为广播、未知单播和未知组播的数据帧后,会在该VXLAN内的所有本地接口上泛洪该数据帧。通过本配置可以手工禁止某类数据帧在VXLAN内泛洪,以减少网络中的泛洪流量。

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

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

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入VSI视图。

vsi vsi-name

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

flooding disable { all | { broadcast | unknown-multicast | unknown-unicast } * } [ all-direction ]

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

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

selective-flooding mac-address mac-address

2.12  配置ARP泛洪抑制

2.12.1  在VSI下配置ARP泛洪抑制

1. 功能简介

本功能适用于通过AC关联VSI或者配置VLAN关联VXLAN的场景,这些场景都需要通过AC来关联VSI,泛洪抑制功能在VSI下配置。

VLAN关联VXLAN的详细介绍,请参见“VXLAN配置指导”中的“VXLAN”。

2. 配置限制和指导

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

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

ARP泛洪抑制表项可以通过reset arp suppression vsi命令清除,不能通过reset arp命令清除。reset arp suppression vsi命令的详细介绍,请参见“VXLAN命令参考”中的“VXLAN”;reset arp命令的详细介绍,请参见“三层技术-IP业务命令参考”中的“ARP”。

ND泛洪抑制表项可以通过reset ipv6 nd suppression vsi命令清除,不能通过reset ipv6 neighbors命令清除。reset ipv6 nd suppression vsi命令的详细介绍,请参见“VXLAN命令参考”中的“VXLAN”;reset ipv6 neighbors命令的详细介绍,请参见“三层技术-IP业务命令参考”中的“IPv6基础”。

3. 配置ARP泛洪抑制

(1)     进入系统视图。

system-view

(2)     进入VSI视图。

vsi vsi-name

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

arp suppression enable

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

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

2.12.2  在VLAN下配置ARP泛洪抑制

1. 功能简介

本项目适用于开启了VLAN映射VXLAN功能的场景。此场景直接将VLAN与VXLAN关联,泛洪抑制功能在VLAN下配置。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入VLAN视图。

vlan vlan-id

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

arp suppression enable

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

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

2.13  开启自动VXLAN隧道的报文统计功能

1. 功能简介

开启本功能后,设备会统计已经创建的自动VXLAN隧道上转发的流量,也会对之后创建的自动VXLAN隧道进行流量统计,直到删除VXLAN隧道或关闭本功能。

开启自动VXLAN隧道的报文统计功能后,可以通过display interface tunnel命令查看统计信息,通过reset counters interface tunnel命令清除VXLAN隧道的统计信息。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启自动VXLAN隧道的报文统计功能。

tunnel statistics vxlan auto

缺省情况下,自动VXLAN隧道的报文统计功能处于关闭状态。

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

2.14  检测VXLAN隧道的连通性

2.14.1  开启VXLAN隧道的连通性检测功能

1. 功能简介

在隧道源节点上检测VXLAN隧道的连通性前,需要在VXLAN隧道的尾节点上执行本配置,否则隧道尾节点无法正常识别检测报文,导致检测失败。

2. 配置限制和指导

如果隧道源节点执行ping vxlan/tracert vxlan命令时指定-r reply-mode参数为3,则还需要在隧道源节点上执行本命令。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启VXLAN隧道的连通性检测功能。

overlay oam enable

缺省情况下,VXLAN隧道的连通性检测功能处于关闭状态。

2.14.2  配置Ping方式检测VXLAN隧道的连通性

1. 功能简介

在EVPN VXLAN组网中,VTEP之间通过VXLAN隧道传输数据报文。当VTEP间出现丢包或断流现象时,可以通过本功能检测VTEP设备间VXLAN隧道的连通性。具体检测过程为:

(1)     本端VTEP设备通过tunnel-source source-address tunnel-destination dest-address指定的VXLAN隧道向远端VTEP发送VXLAN Echo Request报文,该报文采用VXLAN封装。

(2)     远端VTEP设备收到VXLAN Echo Request报文后,回复VXLAN Echo Reply报文。

(3)     本端设备根据是否收到VXLAN Echo Reply报文、收到VXLAN Echo Reply报文的信息,判断该VXLAN隧道的连通性,并输出相应的统计信息。

2. 配置限制和指导

VTEP基于VXLAN Echo Request报文的源UDP端口号进行负载分担。当两个VTEP之间的VXLAN隧道对应多条路径时,为了保证检测结果的准确性,可以通过配置负载分担参数实现对多条路径的遍历检测。可以通过如下两种方式指定VXLAN Echo Request报文的源UDP端口号:

·     直接指定源UDP端口号的起始值和结束值,使设备发出的VXLAN Echo Request报文中的UDP端口号从起始值开始,依次+1,直到递增到结束值。

·     通过指定不同的MAC地址、IP地址以及协议类型参数动态计算VXLAN的源UDP号。采用该方式时,需要多次执行ping vxlan命令实现对多条等价路径的遍历检测。

配置本功能时,指定负载分担参数仅改变VXLAN Echo Request报文的源UDP端口号并不会改变设备发送的VXLAN Echo Request报文的其他信息。

指定vxlan-source-udpport vxlan-source-udpport [ end-vxlan-src-udpport ]参数后,每个源UDP端口号对应VXLAN Echo Request报文的发送数目由-c count参数决定。

通过本功能检测VXLAN隧道的连通性时,需要在VXLAN隧道的对端VTEP上配置overlay oam enable命令。

3. 配置步骤

可在任意视图下执行本命令,检测VXLAN隧道的连通性。

ping vxlan [ -a inner-src-address | -c count | -m interval | -r reply-mode | -t timeout | -tos tos-value ] * vxlan-id vxlan-id tunnel-source source-address tunnel-destination dest-address [ destination-udpport dest-port ] [ vxlan-source-address vxlan-source-address ] [ load-balance { vxlan-source-udpport vxlan-source-udpport [ end-vxlan-src-udpport ] | source-address lb-src-address destination-address lb-dest-address protocol { udp | lb-protocol-id } source-port lb-src-port destination-port lb-dest-port source-mac lb-source-mac destination-mac lb-destination-mac } ]

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

2.14.3  配置Tracert方式检测VXLAN隧道的连通性

1. 功能简介

在EVPN VXLAN中,VTEP之间通过VXLAN隧道传输数据报文。当VTEP间出现丢包或断流现象时,可以通过本功能查看VXLAN隧道所经过的路径,并根据应答信息对错误点进行定位。具体检测过程为:

(1)     本端VTEP设备通过tunnel-source source-address tunnel-destination dest-address指定的VXLAN隧道向远端VTEP发送VXLAN Echo Request报文,该报文采用VXLAN封装且IPv4报文头部的TTL字段取值设置为1。

(2)     下一个节点收到报文后,TTL字段的值变成0,会向首节点(即本端VTEP)发送ICMP的TTL超时报文。

(3)     本端VTEP收到ICMP报文后,将TTL字段的取值加1(此时设置为2)继续发送VXLAN Echo Request报文。

(4)     下游节点收到报文后,依次将TTL减1,直到TTL为0,该节点会向首节点发送ICMP报文;若为目的节点则向首节点发送VXLAN Echo Reply报文。

(5)     本端VTEP依次重复上述过程,直至TTL达到最大值或收到远端VTEP发送的应答报文。

(6)     本端VTEP设备根据是否收到应答报文、收到应答报文的信息,判断该VXLAN隧道的连通性,并输出相应的统计信息。

2. 配置限制和指导

VTEP基于VXLAN Echo Request报文的源UDP端口号进行负载分担。当两个VTEP之间的VXLAN隧道对应多条路径时,为了保证检测结果的准确性,可以通过配置负载分担参数实现对多条路径的遍历。可以通过如下两种方式指定VXLAN Echo Request报文的源UDP端口号:

·     直接指定源UDP端口号的起始值和结束值,使设备发出的VXLAN Echo Request报文中的UDP端口号从起始值开始,依次+1,直到递增到结束值。

·     通过指定不同的MAC地址、IP地址以及协议类型参数动态计算VXLAN的源UDP号。采用该方式时,需要多次执行tracert vxlan命令实现对多条等价路径的遍历检测。

配置本功能时,指定负载分担参数仅改变VXLAN Echo Request报文的源UDP端口号并不会改变设备发送的VXLAN Echo Request报文的其他信息。

通过本命令检测VXLAN隧道的连通性时,需要在VXLAN隧道的对端VTEP上配置overlay oam enable命令。

3. 配置步骤

可在任意视图下执行本命令,检测VXLAN隧道的连通性。

tracert vxlan [ -a inner-src-address | -h ttl-value | -r reply-mode | -t timeout ] * vxlan-id vxlan-id  tunnel-source source-address tunnel-destination dest-address [ destination-udpport dest-port ] [ vxlan-source-address vxlan-source-address ] [ load-balance { vxlan-source-udpport vxlan-source-udpport | source-address lb-src-address destination-address lb-dest-address protocol { udp | lb-protocol-id } source-port lb-src-port destination-port lb-dest-port source-mac lb-source-mac destination-mac lb-destination-mac } ]

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

2.15  开启EVPN告警功能

1. 功能简介

开启EVPN告警功能后,当MAC地址迁移次数达到设置的阈值时会产生告警信息。生成的告警信息将发送到设备的SNMP模块,通过设置SNMP中告警信息的发送参数,来决定告警信息输出的相关属性。

有关告警信息的详细介绍,请参见“网络管理和监控配置指导”中的“SNMP”。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启EVPN告警功能。

snmp-agent trap enable evpn [ mac-mobility-suppression ]

缺省情况下,EVPN告警功能处于关闭状态。

 

2.16  开启EVPN支持M-LAG功能

2.16.1  功能简介

在两台VTEP上均开启EVPN支持M-LAG功能,并为其配置相同的虚拟VTEP地址后,这两台VTEP将虚拟成为一台VTEP设备,设备采用虚拟VTEP地址作为源端地址与远端VTEP自动建立VXLAN隧道,从而避免VTEP单点故障对网络造成影响。

在EVPN M-LAG组网中,组成M-LAG系统的两台VTEP上AC配置可能不一致,若某个AC仅连接到其中一台VTEP,该AC称为单挂AC。执行evpn m-lag local命令后,VTEP发布从单挂AC学习到的路由信息时,将路由的下一跳设置为该命令配置的本地VTEP地址(local-ipv4-addresslocal-ipv6-address),从而保证该AC的流量不会错误地转发到另一台VTEP。VTEP从remote-ipv4-addressremote-ipv6-address接收到EVPN路由后,不会与其建立VXLAN隧道,以免单挂AC的流量转发失败。

采用直连模式peer-link链路时,如果存在单挂AC,则必须执行evpn m-lag local命令;采用隧道模式peer-link链路时,如果存在单挂AC,可以不执行本命令,此时设备会使用peer-link链路的源地址作为从单挂AC学习到的路由的下一跳。

2.16.2  配置限制和指导

1. EVPN支持M-LAG配置注意事项

配置EVPN支持M-LAG时,需要注意:

·     开启、关闭EVPN支持M-LAG功能后,需要在BGP实例视图下执行address-family l2vpn evpn命令,以便设备采用新的隧道源端地址与远端VTEP建立隧道。

·     M-LAG的虚拟VTEP地址不能指定为接口的从IP地址。

·     若DR device作为EVPN分布式网关,则两台网关上还需要通过evpn global-mac mac-address命令配置相同的EVPN全局MAC地址,保证两台设备上选取的Router MAC一致。

·     Underlay网络为IPv4网络(或IPv6网络)时,M-LAG的虚拟VTEP地址必须同为IPv4地址(或IPv6地址),否则会导致作为M-LAG设备的VTEP无法与远端VTEP(非M-LAG设备)建立VXLAN隧道。

·     远端VTEP上存在三条到达M-LAG系统(由两台VTEP组成)的VXLAN隧道,当远端VTEP设备向组成M-LAG系统的两台VTEP发送泛洪流量(组播、广播和未知单播流量)时,作为M-LAG设备的两台VTEP设备会从VXLAN隧道上收到三份泛洪流量,其中两份会被丢弃。若此时作为M-LAG设备的VTEP设备正好学习到了泛洪流量的目的MAC地址对应的MAC地址表项,则应该被丢弃的泛洪报文也会按照单播流量转发,造成本地虚机收到多份相同的流量。

配置采用直连模式peer-link链路的EVPN支持M-LAG时,需要注意:

·     根据用户侧以太网服务实例的报文匹配规则创建peer-link链路上的AC时,用户侧以太网服务实例配置的报文匹配规则只能为匹配报文的外层VLAN tag(encapsulation s-vid { vlan-id | vlan-id-list })、匹配不携带VLAN tag的所有报文(encapsulation untagged),且AC的接入模式必须为VLAN模式。

·     采用VXLAN ID映射方式生成peer-link链路上动态AC的报文匹配规则,AC的接入模式必须为VLAN模式。

·     作为M-LAG设备的两台VTEP上,同一M-LAG接口以及单挂AC口上以太网服务实例的匹配规则、关联的VSI对应的VXLAN ID必须一致,且只能采用手工方式创建AC。

·     建议不要在作为M-LAG设备的两台VTEP上引入外部路由。

·     配置l2vpn m-lag peer-link ac-match-rule vxlan-mapping命令后,从用户侧AC接收到的VXLAN报文在经过peer-link链路转发时,原始报文的VLAN Tag信息会丢失,需要重新封装VLAN Tag,重新封装后的报文可能转发失败。如需避免此问题,请配置l2vpn m-lag peer-link tunnel命令。

配置采用隧道模式peer-link链路的EVPN支持M-LAG时,M-LAG的两台VTEP上,M-LAG接口的以太网服务实例匹配规则、关联的VSI对应的VXLAN ID必须一致,且只能采用手工方式创建AC。

2. EVPN M-LAG组网中MAC地址、ARP和ND使用注意事项

作为M-LAG设备的VTEP从M-LAG接口或VXLAN隧道学习到MAC地址,并通过peer-link链路将MAC地址同步给远端VTEP(另一台 M-LAG功能后)后,在本端VTEP上手动删除MAC地址表项,远端VTEP(M-LAG设备)上的MAC地址表项不会随之删除,只能等待MAC地址老化时间到达后,才会删除远端VTEP上的表项。

站点网络为IPv6网络时,如果在作为M-LAG设备的VTEP上开启ND泛洪抑制功能,则任意一台VTEP从M-LAG接口上接收到NS报文后,作为M-LAG设备的两台VTEP均会回复NA报文。

VTEP 1和VTEP 2组成M-LAG系统,并通过路由反射器在VTEP 1和VTEP 2之间反射路由。VTEP 1上执行evpn m-lag local命令后,如果在VTEP 2上也执行了evpn m-lag local命令或VTEP 1上执行undo evpn m-lag local命令取消配置,则需要通过reset arpreset arp suppression vsireset ipv6 neighborsreset ipv6 nd suppression vsi命令清除ARP、ARP泛洪抑制、ND和ND泛洪抑制表项,并重新学习这些表项,否则会导致部分流量转发失败。

2.16.3  配置准备

在EVPN M-LAG组网中,除本配置外,还需执行以下配置:

·     配置M-LAG,并根据实际情况进行其他EVPN配置。M-LAG的配置方法请参见“二层技术-以太网交换配置指导”中的“M-LAG”。

·     为了避免M-LAG协议将接口置为M-LAG MAD DOWN状态,需要将如下参与EVPN业务的接口配置为保留接口

¡     执行m-lag mad default-action none命令使M-LAG系统分裂后接口保持原状态不变。

¡     M-LAG接口和peer-link接口所在VLAN对应的VLAN接口不需要做任何配置,M-LAG系统分裂后,这些端口不会Down。

¡     采用直连模式peer-link链路时:上行接口(路由口、VLAN接口、物理接口)需要通过m-lag mad include interface命令配置为M-LAG非保留接口,M-LAG系统分裂后,这些端口会Down。采用隧道模式peer-link链路时,必须将Tunnel的物理出接口配置为保留接口。

¡     所有参与EVPN业务的接口(VSI虚接口、BGP对等体地址所在的接口、Keepalive链路的接口)不需要做任何配置,M-LAG系统分裂后,这些端口不会Down。

¡     M-LAG设备采用的虚拟地址(即evpn m-lag group命令配置的IP地址)所在的接口不需要做任何配置,M-LAG系统分裂后,这些端口不会Down。

·     在隧道模式peer-link链路的组网环境中,必须先将VXLAN隧道接口、VXLAN隧道的公网出接口配置为保留接口后,再将VXLAN隧道接口配置为peer-link接口。如果在配置保留接口前已经将VXLAN隧道接口配置为peer-link接口,则需要先取消VXLAN隧道接口作为peer-link接口的配置,待VXLAN隧道接口、VXLAN隧道的公网出接口up后,将这些接口配置为保留接口,之后再将VXLAN隧道接口配置为peer-link接口。

·     执行m-lag restore-delay命令配置延迟恢复时间大于等于300秒。

·     在M-LAG设备上,需要关闭VXLAN隧道对应的二层以太网接口上的STP功能,以免上行设备错误地阻塞连接M-LAG设备的接口。

·     建议将peer-link接口的PVID配置为4094。否则,如果设备配置了通过VXLAN ID映射方式生成peer-link链路上动态AC的报文匹配规则(l2vpn m-lag peer-link ac-match-rule vxlan-mapping命令),可能会出现计算出的AC的报文匹配规则外层VLAN标签为peer-link接口的PVID,影响VLAN Tag为VXLAN ID%4094+1(VXLAN ID除以4094,取余后加1)的Underlay流量转发。

采用隧道模式peer-link链路时,还需执行以下配置:

·     手工创建作为peer-link链路的VXLAN隧道,并将其配置为peer-link接口,隧道的源端地址必须与建立BGP对等体时使用的地址相同。自动创建的VXLAN隧道不能作为peer-link链路。

·     建议为VXLAN隧道和作为peer-link的VXLAN隧道配置不同的物理接口作为隧道出接口。

·     建议在作为peer-link的VXLAN隧道接口上执行tunnel tos命令为封装后的隧道报文配置较高的优先级(数值越大,优先级越高),以确保该隧道上传递的DRCP(Distributed Relay Control Protocol,分布式聚合控制协议)等协议报文的优先级高于其他隧道上传递的普通数据报文。

·     M-LAG的虚拟VTEP地址和作为peer-link链路的VXLAN隧道的源端地址分别指定为不同LoopBack接口的地址,并通过路由协议发布这两个地址。

·     执行reserved vxlan命令配置保留VXLAN,以便通过该VXLAN转发M-LAG协议报文等。作为M-LAG设备的两台VTEP上必须配置相同的保留VXLAN。

2.16.4  配置步骤(IPv4网络)

(1)     进入系统视图。

system-view

(2)     开启EVPN支持M-LAG功能,并配置虚拟VTEP地址。

evpn m-lag group virtual-vtep-ipv4

缺省情况下,EVPN支持M-LAG功能处于关闭状态。

不能通过重复执行本命令修改虚拟VTEP地址。如需修改,请先通过undo evpn m-lag group命令删除虚拟VTEP地址,再执行evpn m-lag group命令配置新的虚拟VTEP地址。

(3)     配置组成M-LAG系统的本地和远端VTEP的IPv4地址。

evpn m-lag local local-ipv4-address remote remote-ipv4-address [ mac-ip ]

缺省情况下,未指定组成M-LAG系统的本地和远端VTEP的IPv4地址。

本命令中指定的本地VTEP的IPv4地址必须是设备上本地接口的IPv4地址;指定的远端VTEP地址必须与远端VTEP上配置的本地IPv4地址保持一致。

(4)     配置M-LAG系统的本地VTEP地址仅对MAC/IP发布路由生效。

evpn m-lag local mac-ip

缺省情况下,M-LAG系统的本地VTEP地址对IMET路由、MAC/IP发布路由和IP前缀路由均生效。

(5)     (可选)采用直连模式peer-link链路时,配置成员设备间自动创建VXLAN隧道或在peer-link链路上自动创建AC。请选择其中一项进行配置。

¡     开启成员设备间自动建立VXLAN隧道功能。

l2vpn m-lag peer-link tunnel source source-ipv4 destination destination-ipv4

缺省情况下,成员设备间自动建立VXLAN隧道功能处于关闭状态。

¡     配置通过VXLAN ID映射方式生成peer-link链路上动态AC的报文匹配规则。

l2vpn m-lag peer-link ac-match-rule vxlan-mapping

缺省情况下,采用直连模式peer-link链路时,peer-link链路上动态AC的报文匹配规则与用户侧链路上AC的报文匹配规则相同。

peer-link链路上根据用户侧AC创建AC时,匹配相同外层VLAN Tag的不同以太网服务实例必须关联相同的VSI;采用VXLAN ID映射方式时,VTEP上创建的VXLAN的ID不能大于16000000。

2.16.5  配置步骤(IPv6网络)

(1)     进入系统视图。

system-view

(2)     开启EVPN支持M-LAG功能,并配置虚拟VTEP地址。

evpn m-lag group virtual-vtep-ipv6

缺省情况下,EVPN支持M-LAG功能处于关闭状态。

(3)     配置组成M-LAG系统的当前和远端VTEP的本地IPv6地址。

evpn m-lag local local-ipv6-address remote remote-ipv6-address [ mac-ip ]

缺省情况下,未指定组成M-LAG系统的当前和远端VTEP的本地IPv6地址。

本命令中指定当前VTEP的本地IPv6地址必须是设备上本地接口的IPv6地址;指定的远端VTEP本地地址必须与远端VTEP上配置的本地IPv6地址保持一致。

(4)     配置M-LAG系统的本地VTEP地址仅对MAC/IP发布路由生效。

evpn m-lag local mac-ip

缺省情况下,M-LAG系统的本地VTEP地址对IMET路由、MAC/IP发布路由和IP前缀路由均生效。

(5)     (可选)采用直连模式peer-link链路时,配置成员设备间自动创建VXLAN隧道或在peer-link链路上自动创建AC。请选择其中一项进行配置。

¡     开启成员设备间自动建立VXLAN隧道功能。

l2vpn m-lag peer-link tunnel source source-ipv6 destination destination-ipv6

缺省情况下,成员设备间自动建立VXLAN隧道功能处于关闭状态。

¡     配置通过VXLAN ID映射方式生成peer-link链路上动态AC的报文匹配规则。

l2vpn m-lag peer-link ac-match-rule vxlan-mapping

缺省情况下,采用直连模式peer-link链路时,peer-link链路上动态AC的报文匹配规则与用户侧链路上AC的报文匹配规则相同。

peer-link链路上根据用户侧AC创建AC时,匹配相同外层VLAN Tag的不同以太网服务实例必须关联相同的VSI;采用VXLAN ID映射方式时,VTEP上创建的VXLAN的ID不能大于16000000。

2.17  EVPN显示和维护

在完成上述配置后,在任意视图下执行display命令可以显示配置后EVPN的运行情况,通过查看显示信息验证配置的效果。

在用户视图下,用户可以执行reset命令来清除EVPN的相关信息。

display bgp groupdisplay bgp peerdisplay bgp update-group命令的详细介绍请参见“三层技术-IP路由命令参考”中的“BGP”。

表2-1 EVPN显示和维护

操作

命令

显示BGP对等体组的信息

display bgp [ instance instance-name ] group l2vpn evpn [ group-name group-name ]

显示BGP EVPN路由信息

display bgp [ instance instance-name ] l2vpn evpn [ peer ipv4-address { advertised-routes | received-routes } [ statistics ] | [ route-distinguisher route-distinguisher | route-type { auto-discovery | es | imet | mac-ip } ] * [ { evpn-route route-length | evpn-prefix } [ advertise-info | as-path | cluster-list | community | ext-community ] | { ipv4-address | ipv6-address | mac-address } [ verbose ] ] | statistics ]

display bgp [ instance instance-name ] l2vpn evpn [ route-distinguisher route-distinguisher ] [ statistics ] community [ community-number&<1-32> | aa:nn&<1-32> ] [ internet | no-advertise | no-export | no-export-subconfed ] [ whole-match ]

display bgp [ instance instance-name ] l2vpn evpn [ route-distinguisher route-distinguisher ] [ statistics ] community-list { basic-community-list-number | adv-community-list-number | comm-list-name } [ whole-match ]

display bgp [ instance instance-name ] l2vpn evpn [ route-distinguisher route-distinguisher ] [ statistics ] ext-community [ bandwidth link-bandwidth-value | rt route-target | soo site-of-origin]&<1-32> [ whole-match ]

显示BGP对等体或对等体组的状态和统计信息

display bgp [ instance instance-name ] peer l2vpn evpn [ ipv4-address mask-length | { ipv4-address | group-name group-name } log-info | [ ipv4-address ] verbose ]

显示BGP打包组的相关信息

display bgp [ instance instance-name ] update-group l2vpn evpn [ ipv4-address ]

显示EVPN通过BGP自动发现的IPv4邻居信息

display evpn auto-discovery { { imet | mac-ip } [ peer ip-address] [ vsi vsi-name ] ] [ count ] }

显示EVPN的ES信息

display evpn es { local [ vsi vsi-name | xconnect-group group-name ] [ esi esi-id ] [ verbose ] | remote [ vsi vsi-name | xconnect-group group-name ] [ esi esi-id ] [ nexthop next-hop ] }

显示DF选举的信息

display evpn df-election [ vsi vsi-name ] [ esi esi-id ]

显示EVPN的ARP信息

display evpn route arp [ local | remote ] [ count ]

显示EVPN的ARP泛洪抑制信息

display evpn route arp suppression [ local | remote ] [ vsi vsi-name ] [ count ]

显示EVPN的MAC地址信息

display evpn route mac [ local | remote | nexthop ipv4-address ] [ vsi vsi-name ] [ count ]

显示EVPN的MAC地址迁移信息

display evpn [ ipv6 ] route mac-mobility [ vsi vsi-name ] [ mac-address mac-address ]

显示EVPN的ND迁移信息

display evpn route nd-mobility [ public-instance | vpn-instance vpn-instance-name ] [ ipv6 ipv6-address ]

显示EVPN的路由表信息

display evpn routing-table [ nexthop ipv4-address ] [ count ]

display evpn routing-table ipv6 [ nexthop ipv6-address ] [ count ]

显示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

取消对MAC地址迁移的抑制

reset evpn route mac-mobility suppression [ vsi vsi-name [ mac mac-address ] ]

显示以太网服务实例上ARP网关保护的相关信息

 

display arp filter source service-instance [ interface interface-type interface-number [ service-instance instance-id ] ] [ slot slot-number ]

 

 

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

新华三官网
联系我们