选择区域语言: EN CN HK

19-VXLAN配置指导

01-VXLAN配置

本章节下载  (462.58 KB)

docurl=/cn/Service/Document_Software/Document_Center/Switches/Catalog/S12500/S12500-S/Configure/Operation_Manual/H3C_S12500-S_CG-R7178-6W100/19/201601/910085_30005_0.htm

01-VXLAN配置


1 VXLAN简介

VXLAN(Virtual eXtensible LAN,可扩展虚拟局域网络)是基于IP网络、采用“MAC in UDP”封装形式的二层VPN技术。VXLAN可以基于已有的服务提供商或企业IP网络,为分散的物理站点提供二层互联,并能够为不同的租户提供业务隔离。VXLAN主要应用于数据中心网络。

VXLAN具有如下特点:

·     支持大量的租户:使用24位的标识符,最多可支持2的24次方(16777216)个VXLAN,支持的租户数目大规模增加,解决了传统二层网络VLAN资源不足的问题。

·     易于维护:基于IP网络组建大二层网络,使得网络部署和维护更加容易,并且可以充分地利用现有的IP网络技术,例如利用等价路由进行负载分担等;只有IP核心网络的边缘设备需要进行VXLAN处理,网络中间设备只需根据IP头转发报文,降低了网络部署的难度和费用。

目前,设备只支持基于IPv4网络的VXLAN技术,不支持基于IPv6网络的VXLAN技术。

1.1  VXLAN网络模型

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

 

图1-1所示,VXLAN的典型网络模型中包括如下几部分:

·     VM(Virtual Machine,虚拟机):在一台服务器上可以创建多台虚拟机,不同的虚拟机可以属于不同的VXLAN。属于相同VXLAN的虚拟机处于同一个逻辑二层网络,彼此之间二层互通;属于不同VXLAN的虚拟机之间二层隔离。VXLAN通过VXLAN ID来标识,VXLAN ID又称VNI(VXLAN Network Identifier,VXLAN网络标识符),其长度为24比特。

·     VTEP(VXLAN Tunnel End Point,VXLAN隧道端点):VXLAN的边缘设备。VXLAN的相关处理都在VTEP上进行,例如识别以太网数据帧所属的VXLAN、基于VXLAN对数据帧进行二层转发、封装/解封装报文等。VTEP可以是一台独立的物理设备,也可以是虚拟机所在的服务器。

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

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

·     VSI(Virtual Switching Instance,虚拟交换实例):VTEP上为一个VXLAN提供二层交换服务的虚拟交换实例。VSI可以看作是VTEP上的一台基于VXLAN进行二层转发的虚拟交换机,它具有传统以太网交换机的所有功能,包括源MAC地址学习、MAC地址老化、泛洪等。VSI与VXLAN一一对应。

1.2  VXLAN报文封装格式

图1-2 VXLAN报文封装示意图

 

图1-2所示,VXLAN报文的封装格式为:在原始二层数据帧外添加8字节VXLAN头、8字节UDP头和20字节IP头。其中,UDP头的目的端口号为VXLAN UDP端口号(缺省为4789)。VXLAN头主要包括两部分:

·     标记位:“I”位为1时,表示VXLAN头中的VXLAN ID有效;为0,表示VXLAN ID无效。其他位保留未用,设置为0。

·     VXLAN ID:用来标识一个VXLAN网络,长度为24比特。

1.3  VXLAN运行机制

VXLAN运行机制可以概括为:

(1)     发现远端VTEP,在VTEP之间建立VXLAN隧道,并将VXLAN隧道与VXLAN关联。

(2)     识别接收到的报文所属的VXLAN,以便将报文的源MAC地址学习到VXLAN对应的VSI,并在该VSI内转发该报文。

(3)     学习虚拟机的MAC地址。

(4)     根据学习到的MAC地址表项转发报文。

1.3.1  建立VXLAN隧道,并将VXLAN隧道与VXLAN关联

为了将VXLAN报文传递到远端VTEP,需要创建VXLAN隧道,并将VXLAN隧道与VXLAN关联。

1. 创建VXLAN隧道

VXLAN隧道的建立方式为:手工配置Tunnel接口,并指定隧道的源和目的IP地址分别为本端和远端VTEP的IP地址。

2. 关联VXLAN隧道与VXLAN

VXLAN隧道与VXLAN关联的方式为:手工将VXLAN隧道与VXLAN关联。

1.3.2  识别报文所属的VXLAN

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

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

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

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

图1-3 二层数据帧所属VXLAN识别

 

2. VXLAN隧道上接收报文的识别

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

1.3.3  学习MAC地址

MAC地址学习分为本地MAC地址学习和远端MAC地址学习两部分。

1. 本地MAC地址学习

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

VXLAN不支持静态配置本地MAC地址。

2. 远端MAC地址学习

是指VTEP对远端站点内虚拟机MAC地址的学习。远端MAC地址的学习方式有如下几种:

·     静态配置:手工指定远端MAC地址所属的VSI(VXLAN),及其对应的VXLAN隧道接口。

·     通过报文中的源MAC地址动态学习:VTEP从VXLAN隧道上接收到远端VTEP发送的VXLAN报文后,根据VXLAN ID判断报文所属的VXLAN,对报文进行解封装,还原二层数据帧,并将数据帧中的源MAC地址(远端虚拟机的MAC地址)添加到所属VXLAN对应VSI的MAC地址表中,该MAC地址对应的接口为VXLAN隧道接口。

静态配置的远端MAC地址表项优先级高于源MAC地址动态学习的表项。

1.3.4  接入模式

接入模式分为以下两种:

·     VLAN接入模式:从本地站点接收到的、发送给本地站点的以太网帧必须带有VLAN tag。VTEP从本地站点接收到以太网帧后,删除该帧的所有VLAN tag,再转发该数据帧;VTEP发送以太网帧到本地站点时,为其添加VLAN tag。采用该模式时,VTEP不会传递VLAN tag信息,不同站点可以独立地规划自己的VLAN,不同站点的不同VLAN之间可以互通。

·     Ethernet接入模式:从本地站点接收到的、发送给本地站点的以太网帧可以携带VLAN tag,也可以不携带VLAN tag。VTEP从本地站点接收到以太网帧后,保持该帧的VLAN tag信息不变,转发该数据帧;VTEP发送以太网帧到本地站点时,不会为其添加VLAN tag。采用该模式时,VTEP会在不同站点间传递VLAN tag信息,不同站点的VLAN需要统一规划,否则无法互通。

缺省情况下,接入模式为VLAN模式。下文对于流量转发过程的介绍均以VLAN模式为例。

1.3.5  转发单播流量

完成本地和远端MAC地址学习后,VTEP在VXLAN内转发单播流量的过程如下所述。

1. 站点内流量

对于站点内流量,VTEP判断出报文所属的VSI后,根据目的MAC地址查找该VSI的MAC地址表,从相应的本地接口转发给目的VM。

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

 

图1-4所示,VM 1(MAC地址为MAC 1)发送以太网帧到VM 4(MAC地址为MAC 4)时,VTEP 1从接口GigabitEthernet1/0/1收到该以太网帧后,判断该数据帧属于VSI A(VXLAN 10),查找VSI A的MAC地址表,得到MAC 4的出接口为GigabitEthernet1/0/2,所在VLAN为VLAN 10,则将以太网帧从接口GigabitEthernet1/0/2的VLAN 10内发送给VM 4。

2. 站点间流量

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

 

图1-5所示,以VM 1(MAC地址为MAC 1)发送以太网帧给VM 7(MAC地址为MAC 7)为例,站点间单播流量的转发过程为:

(1)     VM 1发送以太网数据帧给VM 7,数据帧的源MAC地址为MAC 1,目的MAC为MAC 7,VLAN tag为2。

(2)     VTEP 1从接口GigabitEthernet1/0/1收到该数据帧后,判断该数据帧属于VSI A(VXLAN 10),查找VSI A的MAC地址表,得到MAC 7的出端口为Tunnel1。

(3)     VTEP 1为数据帧封装VXLAN头、UDP头和IP头后,将封装好的报文通过VXLAN隧道Tunnel1、经由P设备发送给VTEP 2。

(4)     VTEP 2接收到报文后,根据报文中的VXLAN ID判断该报文属于VXLAN 10,并剥离VXLAN头、UDP头和IP头,还原出原始的数据帧。

(5)     VTEP 2查找与VXLAN 10对应的VSI A的MAC地址表,得到MAC 7的出端口为GigabitEthernet1/0/1,所在VLAN为VLAN 20。

(6)     VTEP 2从接口GigabitEthernet1/0/1的VLAN 20内将数据帧发送给VM 7。

1.3.6  转发泛洪流量

泛洪流量包括组播、广播和未知单播流量。根据复制方式的不同,流量泛洪方式分为单播路由方式(头端复制)和组播路由方式(核心复制)两种。

1. 单播路由方式(头端复制)

在单播路由方式下,VTEP负责复制报文,采用单播方式将复制后的报文通过本地接口发送给本地站点,并通过VXLAN隧道发送给VXLAN内的所有远端VTEP。

图1-6 单播路由方式转发示意图

 

图1-6所示,单播路由方式的泛洪流量转发过程为:

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

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

2. 组播路由方式(核心复制)

数据中心网络中需要通过IP核心网络进行二层互联的站点较多时,采用组播路由方式可以节省泛洪流量对核心网络带宽资源的占用。

在组播路由方式下,同一个VXLAN内的所有VTEP都加入同一个组播组,利用组播路由协议(如PIM)在IP核心网上为该组播组建立组播转发表项。VTEP接收到泛洪流量后,不仅在本地站点内泛洪,还会为其封装组播目的IP地址,封装后的报文根据已建立的组播转发表项转发到远端VTEP。

图1-7 组播路由方式转发示意图

 

图1-7所示,组播路由方式的泛洪流量转发过程为:

(1)     VTEP 1接收到本地虚拟机发送的组播、广播和未知单播数据帧后,判断数据帧所属的VXLAN,不仅通过该VXLAN内除接收接口外的所有本地接口将数据帧转发到本地站点,还会为其封装VXLAN头、UDP头和IP头(目的IP地址为组播地址)通过组播转发表项将其发送到远端VTEP。

(2)     在IP核心网内,P设备根据已经建立的组播转发表项复制并转发该组播报文。

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

1.4  ARP泛洪抑制

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

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

 

图1-8所示,ARP泛洪抑制的处理过程如下:

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

(2)     VTEP 1根据接收到的ARP请求,建立VM 1的ARP泛洪抑制表项,并在VXLAN内泛洪该ARP请求(图1-8以单播路由泛洪方式为例)。

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

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

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

(6)     VTEP 1解封装VXLAN报文,获取原始的ARP应答,并根据该应答建立VM 7的ARP泛洪抑制表项,之后将ARP应答报文发送给VM 1。

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

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

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

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

1.5  协议规范

与VXLAN相关的协议规范有:

·     IETF草案:draft-mahalingam-dutt-dcops-vxlan-04

 


2 VXLAN配置限制和指导

2.1  硬件限制

·     VXLAN公网侧端口必须位于SG系列接口板上。

·     VXLAN用户侧端口必须位于以下接口板上:

¡     下列SE系列接口板:LSXM1GP24TSSE3、LSXM1GP44TSSE3、LSXM1GT24PTSSE3、LSXM1GT48SE3

¡     SG系列接口板

¡     EC系列接口板

·     当设备处于IRF模式时,IRF物理端口必须位于SG系列接口板上,VXLAN才能正常运行。有关IRF模式、IRF物理端口的介绍,请参见“虚拟化技术配置指导”中的“IRF”。

2.2  软件限制

·     多个VXLAN隧道共用一个公网侧端口时,这些隧道必须使用设备的同一个VLAN接口来转发报文。

·     请不要在VXLAN网络中配置MPLS、EVI相关功能。有关MPLS和EVI的详细介绍,请分别参见“MPLS配置指导”和“EVI配置指导”。

·     端口使能了EVB功能后,不支持配置VXLAN功能,否则二者均将无法正常工作。有关EVB的介绍,请参见“EVB配置指导”。

·     在VXLAN组网中,IP核心网络中的设备只需要配置路由协议,确保VTEP之间路由可达。VXLAN相关配置都在VTEP上进行。

·     VTEP上配置了AC(与VSI关联的以太网服务实例)的端口不支持三层组播功能。

·     为保证VTEP与本地站点的正常对接,应在配置了AC的端口上关闭生成树协议(undo stp enable)。

·     在组播路由方式下,不允许在核心设备上创建VXLAN或VXLAN隧道,否则会导致VXLAN报文转发不通。

3 配置VXLAN

3.1  VXLAN配置任务简介

表3-1 VXLAN配置任务简介

配置任务

说明

详细配置

创建VSI和VXLAN

必选

3.2 

配置VXLAN隧道

必选

3.3 

关联VXLAN与VXLAN隧道

必选

3.4 

配置AC与VSI关联

必选

3.5 

管理本地和远端MAC地址

可选

3.6 

配置VXLAN组播路由泛洪方式

可选

3.7 

配置VSI泛洪抑制

可选

3.8 

配置VXLAN报文的目的UDP端口号

可选

3.9 

配置VXLAN报文检查功能

可选

3.10 

配置ARP泛洪抑制

可选

3.11 

 

3.2  创建VSI和VXLAN

表3-2 创建VSI和VXLAN

操作

命令

说明

进入系统视图

system-view

-

使能L2VPN功能

l2vpn enable

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

创建VSI,并进入VSI视图

vsi vsi-name

缺省情况下,设备上不存在任何VSI

(可选)设置VSI的描述信息

description text

缺省情况下,未配置VSI的描述信息

开启当前的VSI

undo shutdown

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

(可选)配置VSI的MTU值

mtu mtu

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

(可选)开启VSI的MAC地址学习功能

mac-learning enable

缺省情况下,VSI的MAC地址学习功能处于开启状态

对于VXLAN,设备不支持关闭VSI的MAC地址学习功能,执行undo mac-learning enable命令后不生效

创建VXLAN,并进入VXLAN视图

vxlan vxlan-id

缺省情况下,设备上不存在任何VXLAN

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

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

 

3.3  配置VXLAN隧道

手工创建VXLAN隧道时,隧道的源端地址和目的端地址需要分别手工指定为本地和远端VTEP的接口地址。在同一台设备上,VXLAN隧道模式的不同Tunnel接口建议不要同时配置完全相同的源端地址和目的端地址。

关于隧道的详细介绍及Tunnel接口下的更多配置命令,请参见“三层技术-IP业务配置指导”中的“隧道”。关于interface tunnelsourcedestination命令的详细介绍,请参见“三层技术-IP业务命令参考”中的“隧道”。

表3-3 手工创建VXLAN隧道

操作

命令

说明

进入系统视图

system-view

-

配置VXLAN隧道的全局源地址

tunnel global source-address ip-address

缺省情况下,未配置VXLAN隧道的全局源地址

如果隧道下未配置源地址或源接口,则隧道会使用全局源地址作为隧道的源地址

(可选)配置保留VXLAN

reserved vxlan vxlan-id

缺省情况下,未指定保留VXLAN

当需要开启隧道的BFD检测功能时,必须配置保留VXLAN

创建模式为VXLAN隧道的Tunnel接口,并进入Tunnel接口视图

interface tunnel tunnel-number mode vxlan

缺省情况下,设备上不存在任何Tunnel接口

在隧道的两端应配置相同的隧道模式,否则会造成报文传输失败

配置隧道的源端地址或源接口

source { ipv4-address | interface-type interface-number }

缺省情况下,没有设置VXLAN隧道的源端地址和源接口

如果设置的是隧道的源端地址,则该地址将作为封装后VXLAN报文的源IP地址;如果设置的是隧道的源接口,则该接口的主IP地址将作为封装后VXLAN报文的源IP地址

需要注意的是,采用VXLAN组播路由泛洪方式时,VXLAN隧道的源接口不能是Loopback接口,源端地址不能是Loopback接口的地址

配置隧道的目的端地址

destination ipv4-address

缺省情况下,未指定隧道的目的端地址

隧道的目的端地址是对端设备上接口的IP地址,该地址将作为封装后VXLAN报文的目的地址

(可选)开启隧道的BFD检测功能,并设置BFD报文的目的MAC地址

tunnel bfd enable destination-mac mac-address

缺省情况下,隧道的BFD检测功能处于关闭状态

开启隧道的BFD检测功能后,VTEP将自动建立单跳控制报文方式的BFD会话VXLAN隧道的状态进行检测。检测方式为:隧道两端的VTEP设备均周期性地向配置的目的MAC地址发送BFD控制报文,并对报文进行VXLAN隧道封装,如果在5秒内没有接收到对端发送的BFD控制报文,则将隧道状态置为Defect,隧道接口状态仍为Up。当VXLAN隧道恢复正常后,隧道状态可自动恢复Up

执行本命令的同时,需要在系统视图下执行reserved vxlan命令配置保留VXLAN。否则,BFD会话无法up

 

3.4  关联VXLAN与VXLAN隧道

一个VXLAN可以关联多条VXLAN隧道。一条VXLAN隧道可以关联多个VXLAN,这些VXLAN共用该VXLAN隧道,VTEP根据VXLAN报文中的VXLAN ID来识别隧道传递的报文所属的VXLAN。VTEP接收到某个VXLAN的泛洪流量后,如果采用单播路由泛洪方式,则VTEP将在与该VXLAN关联的所有VXLAN隧道上发送该流量,以便将流量转发给所有的远端VTEP。

表3-4 手工关联VXLAN与VXLAN隧道

操作

命令

说明

进入系统视图

system-view

-

进入VSI视图

vsi vsi-name

-

进入VXLAN视图

vxlan vxlan-id

-

配置VXLAN与VXLAN隧道关联

tunnel { tunnel-number | all }

缺省情况下,VXLAN没有与任何VXLAN隧道关联

VTEP必须与相同VXLAN内的其它VTEP建立VXLAN隧道,并将该隧道与VXLAN关联

 

3.5  配置AC与VSI关联

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

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

配置以太网服务实例与VSI关联时,需要注意:

·     为确保转发正常,端口上以太网服务实例的报文匹配规则需要与该端口上允许通过的VLAN、VLAN报文是否带Tag配置保持一致。

·     如果以太网服务实例采用缺省的报文匹配规则(encapsulation default)或匹配携带VLAN Tag的报文(encapsulation tagged),为确保转发正常,请指定接入模式为Ethernet。

·     当接入模式为VLAN时,如果端口接收到的报文不带Tag,需要配置报文匹配规则为encapsulation untagged

表3-5 配置以太网服务实例与VSI关联

操作

命令

说明

进入系统视图

system-view

-

进入二层接口视图

进入二层以太网接口视图

interface interface-type interface-number

二者选其一

进入二层聚合接口视图

interface bridge-aggregation interface-number

将二层接口加入本地站点VLAN

配置端口的链路类型

port link-type { access | trunk | hybrid }

缺省情况下,所有端口的链路类型均为Access类型

将当前端口加入本地站点VLAN

port access vlan vlan-id

三者选其一

本地站点VLAN必须是设备上已创建的VLAN

port trunk permit vlan { vlan-id-list | all }

port hybrid vlan vlan-id-list { tagged | untagged }

创建以太网服务实例,并进入以太网服务实例视图

service-instance instance-id

缺省情况下,不存在任何以太网服务实例

配置以太网服务实例的报文匹配规则

encapsulation s-vid vlan-id [ only-tagged ]

三者选其一

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

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

encapsulation { default | tagged | untagged }

将以太网服务实例与VSI关联,(可选)并指定接入模式

xconnect vsi vsi-name [ access-mode { ethernet | vlan } ]

缺省情况下,以太网服务实例没有与VSI关联

配置本功能时,如果不指定access-mode参数,将采用缺省接入模式VLAN

 

3.6  管理本地和远端MAC地址

本地MAC地址只能动态学习,不能静态配置。在动态添加、删除本地MAC地址时,可以记录日志信息。

远端MAC地址表项可以静态添加,也可以根据接收到的VXLAN报文内封装的源MAC地址自动学习。

3.6.1  配置本端MAC地址添加/删除的日志功能

执行本配置后,VXLAN添加、删除本地MAC地址时,将产生日志信息。生成的日志信息将被发送到设备的信息中心,通过设置信息中心的参数,决定日志信息的输出规则(即是否允许输出以及输出方向)。

表3-6 配置本端MAC地址添加/删除的日志功能

操作

命令

说明

进入系统视图

system-view

-

开启VXLAN本地MAC地址添加/删除的日志功能

vxlan local-mac report

缺省情况下,VXLAN添加/删除本地MAC地址时不会记录日志信息

 

3.6.2  添加静态远端MAC地址

表3-7 添加静态远端MAC地址

操作

命令

说明

进入系统视图

system-view

-

添加静态远端MAC地址表项

mac-address static mac-address interface tunnel tunnel-number vsi vsi-name

缺省情况下,设备上不存在任何静态的远端MAC地址表项

interface tunnel tunnel-number参数指定的隧道接口必须与vsi vsi-name参数指定的VSI对应的VXLAN关联,且该VXLAN必须已经创建,否则配置将失败

 

3.6.3  开启远端MAC地址自动学习功能

缺省情况下,设备可以自动学习远端MAC地址。如果网络中存在攻击,为了避免学习到错误的远端MAC地址,也可以手工关闭远端MAC地址自动学习功能。

表3-8 开启远端MAC地址自动学习功能

操作

命令

说明

进入系统视图

system-view

-

开启远端MAC地址自动学习功能

undo vxlan tunnel mac-learning disable

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

 

3.7  配置VXLAN组播路由泛洪方式

配置VXLAN组播路由泛洪方式时,需要完成以下配置任务:

·     在VTEP和核心设备上使能IP组播路由功能。

·     在核心设备上配置IGMP和组播路由协议。由于VTEP同时作为组播源和组播接收者,因此推荐使用双向PIM作为组播路由协议。

表3-9 配置VXLAN组播路由泛洪方式

操作

命令

说明

进入系统视图

system-view

-

进入VSI视图

vsi vsi-name

-

进入VXLAN视图

vxlan vxlan-id

-

配置VXLAN泛洪的组播地址和组播报文的源IP地址

group group-address source source-address

缺省情况下,未指定VXLAN泛洪的组播地址和组播报文的源IP地址,VXLAN采用单播路由方式泛洪

执行本命令后,VTEP将加入指定的组播组。同一VXLAN的所有VTEP都要加入相同的组播组

为确保报文转发正常,VXLAN组播报文的源IP地址(source-address)应指定为当前设备配置的处于up状态的VXLAN隧道的源端地址;如果当前设备配置了多个VXLAN隧道,要求这些隧道的源端地址配置相同

进入组播报文源IP地址所在接口的接口视图

interface interface-type interface-number

组播报文源IP地址是指通过group命令中的source参数指定的地址

在接口上使能IGMP协议的主机功能

igmp host enable

缺省情况下,接口上IGMP协议的主机功能处于关闭状态

执行本命令后,当前接口将作为IGMP主机,即从该接口收到IGMP查询报文后,通过该接口发送组播组的报告报文,以便接收该组播组的报文

只有通过multicast routing命令使能IP组播路由后,本命令才会生效

 

3.8  配置VSI泛洪抑制

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

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

表3-10 配置VSI泛洪抑制

操作

命令

说明

 

进入系统视图

system-view

-

 

进入VSI视图

vsi vsi-name

-

关闭VSI的泛洪功能

flooding disable

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

 

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

selective-flooding mac-address mac-address

缺省情况下,设备上不存在任何VSI选择性泛洪MAC地址

如果用户只希望某些目的MAC地址的报文可以泛洪到其他站点,可以先通过flooding disable命令关闭泛洪功能,再通过本命令配置选择性泛洪的MAC地址

 

 

3.9  配置VXLAN报文的目的UDP端口号

属于同一个VXLAN的VTEP设备上需要配置相同的UDP端口号。

表3-11 配置VXLAN报文的目的UDP端口号

操作

命令

说明

进入系统视图

system-view

-

配置VXLAN报文的目的UDP端口号

vxlan udp-port port-number

缺省情况下,VXLAN报文的目的UDP端口号为4789

 

3.10  配置VXLAN报文检查功能

通过本配置可以实现对接收到的VXLAN报文内层封装的以太网数据帧是否携带VLAN tag进行检查:VTEP接收到VXLAN报文并对其解封装后,若内层以太网数据帧带有VLAN tag,则丢弃该VXLAN报文。

需要注意的是:远端VTEP上通过xconnect vsi命令的access-mode参数配置接入模式为ethernet时,VXLAN报文可能携带VLAN tag。这种情况下建议不要在本端VTEP上执行vxlan invalid-vlan-tag discard命令,以免错误地丢弃报文。

表3-12 配置VXLAN报文检查功能

操作

命令

说明

进入系统视图

system-view

-

配置丢弃内层数据帧含有VLAN tag的VXLAN报文

vxlan invalid-vlan-tag discard

缺省情况下,不会检查VXLAN报文内层封装的以太网数据帧是否携带VLAN tag

 

3.11  配置ARP泛洪抑制

配置ARP泛洪抑制时需要注意:

·     当同时执行flooding disable命令关闭了VSI的泛洪功能时:

¡     如果要与远端站点互通,则两端VTEP都需要为对端站点添加静态远端MAC地址表项(相关命令为mac-address static)。

¡     建议通过mac-address timer命令配置动态MAC地址的老化时间大于25分钟(ARP泛洪抑制表项的老化时间),以免MAC地址在ARP泛洪抑制表项老化之前老化,产生黑洞MAC地址。

·     当VXLAN网络采用组播路由(核心复制)方式转发泛洪流量时:

¡     若需要使用ARP泛洪抑制功能,必须保证所有VTEP设备均开启ARP泛洪抑制功能;

¡     如果需要和其他厂商的VTEP设备互通,则不能使用ARP泛洪抑制功能。

表3-13 配置ARP泛洪抑制

操作

命令

说明

 

进入系统视图

system-view

-

 

进入VSI视图

vsi vsi-name

-

开启ARP泛洪抑制功能

arp suppression enable

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

 

 

3.12  VXLAN显示和维护

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

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

表3-14 VXLAN显示和维护

操作

命令

显示VSI的ARP泛洪抑制表项信息(独立运行模式)

display arp suppression vsi [ name vsi-name ] [ slot slot-number ] [ count ]

显示VSI的ARP泛洪抑制表项信息(IRF模式)

display arp suppression vsi [ name vsi-name ] [ chassis chassis-number slot slot-number ] [ count ]

显示VSI的MAC地址表信息

display l2vpn mac-address [ vsi vsi-name ] [ dynamic ] [ count ]

显示以太网服务实例的信息

display l2vpn service-instance [ interface interface-type interface-number [ service-instance instance-id ] ] [ verbose ]

显示VSI的信息

display l2vpn vsi [ name vsi-name ] [ verbose ]

显示IGMP执行主机行为的所有组播组信息

display igmp host group [ group-address | interface interface-type interface-number ] [ verbose ]

显示Tunnel接口信息

display interface [ tunnel [ number ] ] [ brief [ description | down ] ]

显示VXLAN关联的VXLAN隧道信息

display vxlan tunnel [ vxlan-id vxlan-id ]

清除VSI的ARP泛洪抑制表项

reset arp suppression vsi [ name vsi-name ]

清除VSI动态学习的MAC地址表项

reset l2vpn mac-address [ vsi vsi-name ]

 

说明

display interface tunnel命令的详细介绍,请参见“三层技术-IP业务命令参考”中的“隧道”。

 

3.13  VXLAN典型配置举例

3.13.1  VXLAN头端复制配置举例

1. 组网需求

Switch A、Switch B、Switch C为与服务器连接的VTEP设备。虚拟机VM 1、VM 2和VM 3同属于VXLAN 10。通过VXLAN实现不同站点间的二层互联,确保虚拟机在站点之间进行迁移时用户的访问流量不会中断。

具体需求为:

·     不同VTEP之间手工建立VXLAN隧道。

·     手工关联VXLAN和VXLAN隧道。

·     通过源MAC地址动态学习远端MAC地址表项。

·     站点之间的泛洪流量采用头端复制的方式转发。

2. 组网图

图3-1 VXLAN头端复制组网图

 

3. 配置步骤

(1)     配置IP地址和单播路由协议

请按照图3-1配置各接口的IP地址和子网掩码,并在IP核心网络内配置OSPF协议,具体配置过程略。

(2)     配置Switch A

# 开启L2VPN能力。

<SwitchA> system-view

[SwitchA] l2vpn enable

# 创建VSI实例vpna和VXLAN 10。

[SwitchA] vsi vpna

[SwitchA-vsi-vpna] vxlan 10

[SwitchA-vsi-vpna-vxlan10] quit

[SwitchA-vsi-vpna] quit

# 配置接口Loopback0的IP地址,作为隧道的源端地址。

[SwitchA] interface loopback0

[SwitchA-Loopback0] ip address 1.1.1.1 255.255.255.255

[SwitchA-Loopback0] quit

# 在Switch A和Switch B之间建立VXLAN隧道:

·     创建模式为VXLAN的隧道接口Tunnel1

·     指定隧道的源端地址为本地接口Loopback0的地址1.1.1.1

·     指定隧道的目的端地址为Switch B上接口Loopback0的地址2.2.2.2。

[SwitchA] interface tunnel 1 mode vxlan

[SwitchA-Tunnel1] source 1.1.1.1

[SwitchA-Tunnel1] destination 2.2.2.2

[SwitchA-Tunnel1] quit

# Switch ASwitch C之间建立VXLAN隧道。

[SwitchA] interface tunnel 2 mode vxlan

[SwitchA-Tunnel2] source 1.1.1.1

[SwitchA-Tunnel2] destination 3.3.3.3

[SwitchA-Tunnel2] quit

# 配置Tunnel1Tunnel2VXLAN 10关联。

[SwitchA] vsi vpna

[SwitchA-vsi-vpna] vxlan 10

[SwitchA-vsi-vpna-vxlan10] tunnel 1

[SwitchA-vsi-vpna-vxlan10] tunnel 2

[SwitchA-vsi-vpna-vxlan10] quit

[SwitchA-vsi-vpna] quit

# 创建VLAN 2,并配置接入服务器的接口允许该VLAN通过。

[SwitchA] vlan 2

[SwitchA-vlan2] quit

[SwitchA] interface ten-gigabitethernet 1/0/1

[SwitchA-Ten-GigabitEthernet1/0/1] port link-type trunk

[SwitchA-Ten-GigabitEthernet1/0/1] port trunk permit vlan 2

# 在接入服务器的接口上创建以太网服务实例1000,该实例用来匹配VLAN 2的数据帧。

[SwitchA-Ten-GigabitEthernet1/0/1] service-instance 1000

[SwitchA-Ten-GigabitEthernet1/0/1-srv1000] encapsulation s-vid 2

# 配置以太网服务实例1000与VSI实例vpna关联。

[SwitchA-Ten-GigabitEthernet1/0/1-srv1000] xconnect vsi vpna

[SwitchA-Ten-GigabitEthernet1/0/1-srv1000] quit

[SwitchA-Ten-GigabitEthernet1/0/1] quit

(3)     配置Switch B

# 开启L2VPN能力。

<SwitchB> system-view

[SwitchB] l2vpn enable

# 创建VSI实例vpna和VXLAN 10。

[SwitchB] vsi vpna

[SwitchB-vsi-vpna] vxlan 10

[SwitchB-vsi-vpna-vxlan10] quit

[SwitchB-vsi-vpna] quit

# 配置接口Loopback0的IP地址,作为隧道的源端地址。

[SwitchB] interface loopback0

[SwitchB-Loopback0] ip address 2.2.2.2 255.255.255.255

[SwitchB-Loopback0] quit

# 在Switch A和Switch B之间建立VXLAN隧道。

[SwitchB] interface tunnel 2 mode vxlan

[SwitchB-Tunnel2] source 2.2.2.2

[SwitchB-Tunnel2] destination 1.1.1.1

[SwitchB-Tunnel2] quit

# Switch BSwitch C之间建立VXLAN隧道。

[SwitchB] interface tunnel 3 mode vxlan

[SwitchB-Tunnel3] source 2.2.2.2

[SwitchB-Tunnel3] destination 3.3.3.3

[SwitchB-Tunnel3] quit

# 配置Tunnel2Tunnel3VXLAN10关联。

[SwitchB] vsi vpna

[SwitchB-vsi-vpna] vxlan 10

[SwitchB-vsi-vpna-vxlan10] tunnel 2

[SwitchB-vsi-vpna-vxlan10] tunnel 3

[SwitchB-vsi-vpna-vxlan10] quit

[SwitchB-vsi-vpna] quit

# 创建VLAN 2,并配置接入服务器的接口允许该VLAN通过。

[SwitchB] vlan 2

[SwitchB-vlan2] quit

[SwitchB] interface ten-gigabitethernet 1/0/1

[SwitchB-Ten-GigabitEthernet1/0/1] port link-type trunk

[SwitchB-Ten-GigabitEthernet1/0/1] port trunk permit vlan 2

# 在接入服务器的接口上创建以太网服务实例1000,该实例用来匹配VLAN 2的数据帧。

[SwitchB-Ten-GigabitEthernet1/0/1] service-instance 1000

[SwitchB-Ten-GigabitEthernet1/0/1-srv1000] encapsulation s-vid 2

# 配置以太网服务实例1000与VSI实例vpna关联。

[SwitchB-Ten-GigabitEthernet1/0/1-srv1000] xconnect vsi vpna

[SwitchB-Ten-GigabitEthernet1/0/1-srv1000] quit

[SwitchB-Ten-GigabitEthernet1/0/1] quit

(4)     配置Switch C

# 开启L2VPN能力。

<SwitchC> system-view

[SwitchC] l2vpn enable

# 创建VSI实例vpna和VXLAN 10。

[SwitchC] vsi vpna

[SwitchC-vsi-vpna] vxlan 10

[SwitchC-vsi-vpna-vxlan10] quit

[SwitchC-vsi-vpna] quit

# 配置接口Loopback0的IP地址,作为隧道的源端地址。

[SwitchC] interface loopback0

[SwitchC-Loopback0] ip address 3.3.3.3 255.255.255.255

[SwitchC-Loopback0] quit

# 在Switch A和Switch C之间建立VXLAN隧道。

[SwitchC] interface tunnel 1 mode vxlan

[SwitchC-Tunnel1] source 3.3.3.3

[SwitchC-Tunnel1] destination 1.1.1.1

[SwitchC-Tunnel1] quit

# Switch BSwitch C之间建立VXLAN隧道。

[SwitchC] interface tunnel 3 mode vxlan

[SwitchC-Tunnel3] source 3.3.3.3

[SwitchC-Tunnel3] destination 2.2.2.2

[SwitchC-Tunnel3] quit

# 配置Tunnel1Tunnel3VXLAN 10关联。

[SwitchC] vsi vpna

[SwitchC-vsi-vpna] vxlan 10

[SwitchC-vsi-vpna-vxlan10] tunnel 1

[SwitchC-vsi-vpna-vxlan10] tunnel 3

[SwitchC-vsi-vpna-vxlan10] quit

[SwitchC-vsi-vpna] quit

# 创建VLAN 2,并配置接入服务器的接口允许该VLAN通过。

[SwitchC] vlan 2

[SwitchC-vlan2] quit

[SwitchC] interface ten-gigabitethernet 1/0/1

[SwitchC-Ten-GigabitEthernet1/0/1] port link-type trunk

[SwitchC-Ten-GigabitEthernet1/0/1] port trunk permit vlan 2

# 在接入服务器的接口上创建以太网服务实例1000,该实例用来匹配VLAN 2的数据帧。

[SwitchC-Ten-GigabitEthernet1/0/1] service-instance 1000

[SwitchC-Ten-GigabitEthernet1/0/1-srv1000] encapsulation s-vid 2

# 配置以太网服务实例1000与VSI实例vpna关联。

[SwitchC-Ten-GigabitEthernet1/0/1-srv1000] xconnect vsi vpna

[SwitchC-Ten-GigabitEthernet1/0/1-srv1000] quit

[SwitchC-Ten-GigabitEthernet1/0/1] quit

4. 验证配置

(1)     验证VTEP设备(下文以Switch A为例,其他设备验证方法与此类似)

# 查看Switch A上的Tunnel接口信息,可以看到VXLAN模式的Tunnel接口处于up状态。

[SwitchA] display interface tunnel 1

Tunnel1

Current state: UP

Line protocol state: UP

Description: Tunnel1 Interface

Bandwidth: 64kbps

Maximum Transmit Unit: 64000

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

# 查看Switch A上的VSI信息,可以看到VSI内创建的VXLAN、与VXLAN关联的VXLAN隧道、与VSI关联的以太网服务实例等信息。

[SwitchA] display l2vpn vsi verbose

VSI Name: vpna

  VSI Index               : 0

  VSI State               : Up

  MTU                     : 1500

  Bandwidth               : -

  Broadcast Restrain      : -

  Multicast Restrain      : -

  Unknown Unicast Restrain: -

  MAC Learning            : Enabled

  MAC Table Limit         : -

  Drop Unknown            : -

  Flooding                : Enabled

  VXLAN ID                : 10

  Tunnels:

    Tunnel Name          Link ID    State  Type

    Tunnel1              0x5000001  Up     Manual

    Tunnel2              0x5000002  Up     Manual

  ACs:

    AC                               Link ID    State

    XGE1/0/1 srv1000                 0          Up

# 查看Switch AVSIMAC地址表项信息,可以看到已学习到的MAC地址信息。

<SwitchA> display l2vpn mac-address

MAC Address      State    VSI Name                        Link ID/Name  Aging

cc3e-5f9c-6cdb   Dynamic  vpna                            Tunnel1       Aging

cc3e-5f9c-23dc   Dynamic  vpna                            Tunnel2       Aging

--- 2 mac address(es) found  ---

(2)     验证主机

虚拟机VM 1、VM 2、VM 3之间可以互访。

3.13.2  VXLAN核心复制配置举例

1. 组网需求

Switch A、Switch B、Switch C为与服务器连接的VTEP设备。虚拟机VM 1、VM 2和VM 3同属于VXLAN 10。通过VXLAN实现不同站点间的二层互联,确保虚拟机在站点之间进行迁移时用户的访问流量不会中断。

具体需求为:

·     不同VTEP之间手工建立VXLAN隧道。

·     手工关联VXLAN和VXLAN隧道。

·     通过源MAC地址动态学习远端MAC地址表项。

·     站点之间的泛洪流量采用核心复制的方式转发。

2. 组网图

图3-2 VXLAN核心复制组网图

 

设备

接口

IP地址

设备

接口

IP地址

Switch A

Vlan-int11

11.1.1.1/24

Switch C

Vlan-int13

13.1.1.3/24

Switch D

Vlan-int11

11.1.1.4/24

Switch E

Vlan-int13

13.1.1.5/24

 

Vlan-int21

21.1.1.4/24

 

Vlan-int23

23.1.1.5/24

Switch F

Vlan-int21

21.1.1.6/24

Switch G

Vlan-int12

12.1.1.7/24

 

Vlan-int22

22.1.1.6/24

 

Vlan-int22

22.1.1.7/24

 

Vlan-int23

23.1.1.6/24

Switch B

Vlan-int12

12.1.1.2/24

 

Loop0

6.6.6.6/32

 

 

 

 

3. 配置步骤

(1)     配置IP地址和单播路由协议

请按照图3-2配置各接口的IP地址和子网掩码,并在IP核心网络内配置OSPF协议,具体配置过程略。

(2)     配置Switch A

# 开启L2VPN能力。

<SwitchA> system-view

[SwitchA] l2vpn enable

# 使能IP组播路由。

[SwitchA] multicast routing

[SwitchA-mrib] quit

# 创建VSI实例vpna和VXLAN 10。

[SwitchA] vsi vpna

[SwitchA-vsi-vpna] vxlan 10

[SwitchA-vsi-vpna-vxlan10] quit

[SwitchA-vsi-vpna] quit

# 配置接口Vlan-interface11的IP地址,并在该接口上使能IGMP协议的主机功能。

[SwitchA] interface vlan-interface 11

[SwitchA-Vlan-interface11] ip address 11.1.1.1 24

[SwitchA-Vlan-interface11] igmp host enable

[SwitchA-Vlan-interface11] quit

# 在Switch A和Switch B之间建立VXLAN隧道:

·     创建模式为VXLAN的隧道接口Tunnel1

·     指定隧道的源端地址为本地接口Vlan-interface11的地址11.1.1.1

·     指定隧道的目的端地址为Switch B上接口Vlan-interface12的地址12.1.1.2

[SwitchA] interface tunnel 1 mode vxlan

[SwitchA-Tunnel1] source 11.1.1.1

[SwitchA-Tunnel1] destination 12.1.1.2

[SwitchA-Tunnel1] quit

# Switch ASwitch C之间建立VXLAN隧道。

[SwitchA] interface tunnel 2 mode vxlan

[SwitchA-Tunnel2] source 11.1.1.1

[SwitchA-Tunnel2] destination 13.1.1.3

[SwitchA-Tunnel2] quit

# 配置Tunnel1Tunnel2VXLAN 10关联。

[SwitchA] vsi vpna

[SwitchA-vsi-vpna] vxlan 10

[SwitchA-vsi-vpna-vxlan10] tunnel 1

[SwitchA-vsi-vpna-vxlan10] tunnel 2

# 配置VXLAN泛洪的组播地址为225.1.1.1,组播报文的源IP地址为11.1.1.1。

[SwitchA-vsi-vpna-vxlan10] group 225.1.1.1 source 11.1.1.1

[SwitchA-vsi-vpna-vxlan10] quit

[SwitchA-vsi-vpna] quit

# 创建VLAN 2,并配置接入服务器的接口允许该VLAN通过。

[SwitchA] vlan 2

[SwitchA-vlan2] quit

[SwitchA] interface ten-gigabitethernet 1/0/1

[SwitchA-Ten-GigabitEthernet1/0/1] port link-type trunk

[SwitchA-Ten-GigabitEthernet1/0/1] port trunk permit vlan 2

# 在接入服务器的接口上创建以太网服务实例1000,该实例用来匹配VLAN 2的数据帧。

[SwitchA-Ten-GigabitEthernet1/0/1] service-instance 1000

[SwitchA-Ten-GigabitEthernet1/0/1-srv1000] encapsulation s-vid 2

# 配置以太网服务实例1000与VSI实例vpna关联。

[SwitchA-Ten-GigabitEthernet1/0/1-srv1000] xconnect vsi vpna

[SwitchA-Ten-GigabitEthernet1/0/1-srv1000] quit

[SwitchA-Ten-GigabitEthernet1/0/1] quit

(3)     配置Switch B

# 开启L2VPN能力。

<SwitchB> system-view

[SwitchB] l2vpn enable

# 使能IP组播路由。

[SwitchB] multicast routing

[SwitchB-mrib] quit

# 创建VSI实例vpna和VXLAN 10。

[SwitchB] vsi vpna

[SwitchB-vsi-vpna] vxlan 10

[SwitchB-vsi-vpna-vxlan10] quit

[SwitchB-vsi-vpna] quit

# 配置接口Vlan-interface12的IP地址,并在该接口上使能IGMP协议的主机功能。

[SwitchB] interface vlan-interface 12

[SwitchB-Vlan-interface12] ip address 12.1.1.2 24

[SwitchB-Vlan-interface12] igmp host enable

[SwitchB-Vlan-interface12] quit

# 在Switch A和Switch B之间建立VXLAN隧道。

[SwitchB] interface tunnel 2 mode vxlan

[SwitchB-Tunnel2] source 12.1.1.2

[SwitchB-Tunnel2] destination 11.1.1.1

[SwitchB-Tunnel2] quit

# Switch BSwitch C之间建立VXLAN隧道。

[SwitchB] interface tunnel 3 mode vxlan

[SwitchB-Tunnel3] source 12.1.1.2

[SwitchB-Tunnel3] destination 13.1.1.3

[SwitchB-Tunnel3] quit

# 配置Tunnel2Tunnel3VXLAN10关联。

[SwitchB] vsi vpna

[SwitchB-vsi-vpna] vxlan 10

[SwitchB-vsi-vpna-vxlan10] tunnel 2

[SwitchB-vsi-vpna-vxlan10] tunnel 3

# 配置VXLAN泛洪的组播地址为225.1.1.1,组播报文的源IP地址为12.1.1.2。

[SwitchB-vsi-vpna-vxlan10] group 225.1.1.1 source 12.1.1.2

[SwitchB-vsi-vpna-vxlan10] quit

[SwitchB-vsi-vpna] quit

# 创建VLAN 2,并配置接入服务器的接口允许该VLAN通过。

[SwitchB] vlan 2

[SwitchB-vlan2] quit

[SwitchB] interface ten-gigabitethernet 1/0/1

[SwitchB-Ten-GigabitEthernet1/0/1] port link-type trunk

[SwitchB-Ten-GigabitEthernet1/0/1] port trunk permit vlan 2

# 在接入服务器的接口上创建以太网服务实例1000,该实例用来匹配VLAN 2的数据帧。

[SwitchB-Ten-GigabitEthernet1/0/1] service-instance 1000

[SwitchB-Ten-GigabitEthernet1/0/1-srv1000] encapsulation s-vid 2

# 配置以太网服务实例1000与VSI实例vpna关联。

[SwitchB-Ten-GigabitEthernet1/0/1-srv1000] xconnect vsi vpna

[SwitchB-Ten-GigabitEthernet1/0/1-srv1000] quit

[SwitchB-Ten-GigabitEthernet1/0/1] quit

(4)     配置Switch C

# 开启L2VPN能力。

<SwitchC> system-view

[SwitchC] l2vpn enable

# 使能IP组播路由。

[SwitchC] multicast routing

[SwitchC-mrib] quit

# 创建VSI实例vpna和VXLAN 10。

[SwitchC] vsi vpna

[SwitchC-vsi-vpna] vxlan 10

[SwitchC-vsi-vpna-vxlan10] quit

[SwitchC-vsi-vpna] quit

# 配置接口Vlan-interface13的IP地址,并在该接口上使能IGMP协议的主机功能。

[SwitchC] interface vlan-interface 13

[SwitchC-Vlan-interface13] ip address 13.1.1.3 24

[SwitchC-Vlan-interface13] igmp host enable

[SwitchC-Vlan-interface13] quit

# 在Switch A和Switch C之间建立VXLAN隧道。

[SwitchC] interface tunnel 1 mode vxlan

[SwitchC-Tunnel1] source 13.1.1.3

[SwitchC-Tunnel1] destination 11.1.1.1

[SwitchC-Tunnel1] quit

# Switch BSwitch C之间建立VXLAN隧道。

[SwitchC] interface tunnel 3 mode vxlan

[SwitchC-Tunnel3] source 13.1.1.3

[SwitchC-Tunnel3] destination 12.1.1.2

[SwitchC-Tunnel3] quit

# 配置Tunnel1Tunnel3VXLAN 10关联。

[SwitchC] vsi vpna

[SwitchC-vsi-vpna] vxlan 10

[SwitchC-vsi-vpna-vxlan10] tunnel 1

[SwitchC-vsi-vpna-vxlan10] tunnel 3

# 配置VXLAN泛洪的组播地址为225.1.1.1,组播报文的源IP地址为13.1.1.3

[SwitchC-vsi-vpna-vxlan10] group 225.1.1.1 source 13.1.1.3

[SwitchC-vsi-vpna-vxlan10] quit

[SwitchC-vsi-vpna] quit

# 创建VLAN 2,并配置接入服务器的接口允许该VLAN通过。

[SwitchC] vlan 2

[SwitchC-vlan2] quit

[SwitchC] interface ten-gigabitethernet 1/0/1

[SwitchC-Ten-GigabitEthernet1/0/1] port link-type trunk

[SwitchC-Ten-GigabitEthernet1/0/1] port trunk permit vlan 2

# 在接入服务器的接口上创建以太网服务实例1000,该实例用来匹配VLAN 2的数据帧。

[SwitchC-Ten-GigabitEthernet1/0/1] service-instance 1000

[SwitchC-Ten-GigabitEthernet1/0/1-srv1000] encapsulation s-vid 2

# 配置以太网服务实例1000与VSI实例vpna关联。

[SwitchC-Ten-GigabitEthernet1/0/1-srv1000] xconnect vsi vpna

[SwitchC-Ten-GigabitEthernet1/0/1-srv1000] quit

[SwitchC-Ten-GigabitEthernet1/0/1] quit

(5)     配置Switch D

# 使能IP组播路由。

<SwitchD> system-view

[SwitchD] multicast routing

[SwitchD-mrib] quit

# 在接口Vlan-interface11上使能IGMP和PIM-SM。

[SwitchD] interface vlan-interface 11

[SwitchD-Vlan-interface11] igmp enable

[SwitchD-Vlan-interface11] pim sm

[SwitchD-Vlan-interface11] quit

# 在接口Vlan-interface21上使能PIM-SM。

[SwitchD] interface vlan-interface 21

[SwitchD-Vlan-interface21] pim sm

[SwitchD-Vlan-interface21] quit

# 使能双向PIM。

[SwitchD] pim

[SwitchD-pim] bidir-pim enable

[SwitchD-pim] quit

(6)     配置Switch E

# 使能IP组播路由。

<SwitchE> system-view

[SwitchE] multicast routing

[SwitchE-mrib] quit

# 在接口Vlan-interface13上使能IGMP和PIM-SM。

[SwitchE] interface vlan-interface 13

[SwitchE-Vlan-interface13] igmp enable

[SwitchD-Vlan-interface13] pim sm

[SwitchE-Vlan-interface13] quit

# 在接口Vlan-interface23上使能PIM-SM。

[SwitchE] interface vlan-interface 23

[SwitchE-Vlan-interface23] pim sm

[SwitchE-Vlan-interface23] quit

# 使能双向PIM。

[SwitchE] pim

[SwitchE-pim] bidir-pim enable

[SwitchE-pim] quit

(7)     配置Switch F

# 使能IP组播路由。

<SwitchF> system-view

[SwitchF] multicast routing

[SwitchF-mrib] quit

# 在各接口上使能PIM-SM。

[SwitchF] interface vlan-interface 21

[SwitchF-Vlan-interface21] pim sm

[SwitchF-Vlan-interface21] quit

[SwitchF] interface vlan-interface 22

[SwitchF-Vlan-interface22] pim sm

[SwitchF-Vlan-interface22] quit

[SwitchF] interface vlan-interface 23

[SwitchF-Vlan-interface23] pim sm

[SwitchF-Vlan-interface23] quit

# 使能双向PIM。

[SwitchF] pim

[SwitchF-pim] bidir-pim enable

# 将接口Vlan-interface22配置为C-BSR,并将接口Loopback0配置为服务于双向PIM的C-RP。

[SwitchF-pim] c-bsr 22.1.1.6

[SwitchF-pim] c-rp 6.6.6.6 bidir

[SwitchF-pim] quit

(8)     配置Switch G

# 使能IP组播路由。

<SwitchG> system-view

[SwitchG] multicast routing

[SwitchG-mrib] quit

# 在接口Vlan-interface12上使能IGMP和PIM-SM。

[SwitchG] interface vlan-interface 12

[SwitchG-Vlan-interface12] igmp enable

[SwitchD-Vlan-interface12] pim sm

[SwitchG-Vlan-interface12] quit

# 在接口Vlan-interface22上使能PIM-SM。

[SwitchG] interface vlan-interface 22

[SwitchG-Vlan-interface22] pim sm

[SwitchG-Vlan-interface22] quit

# 使能双向PIM。

[SwitchG] pim

[SwitchG-pim] bidir-pim enable

[SwitchG-pim] quit

4. 验证配置

(1)     验证VTEP设备(下文以Switch A为例,其他设备验证方法与此类似)

# 查看Switch A上的Tunnel接口信息,可以看到VXLAN模式的Tunnel接口处于up状态。

[SwitchA] display interface tunnel 1

Tunnel1

Current state: UP

Line protocol state: UP

Description: Tunnel1 Interface

Bandwidth: 64kbps

Maximum Transmit Unit: 64000

Internet protocol processing: disabled

Last clearing of counters: Never

Tunnel source 11.1.1.1, destination 12.1.1.2

Tunnel protocol/transport UDP_VXLAN/IP

# 查看Switch A上的VSI信息,可以看到VSI内创建的VXLAN、与VXLAN关联的VXLAN隧道、与VSI关联的以太网服务实例等信息。

[SwitchA] display l2vpn vsi verbose

VSI Name: vpna

  VSI Index               : 0

  VSI State               : Up

  MTU                     : 1500

  Bandwidth               : -

  Broadcast Restrain      : -

  Multicast Restrain      : -

  Unknown Unicast Restrain: -

  MAC Learning            : Enabled

  MAC Table Limit         : -

  Drop Unknown            : -

  Flooding                : Enabled

  VXLAN ID                : 10

  Tunnels:

    Tunnel Name          Link ID    State  Type

    Tunnel1              0x5000001  Up     Manual

    Tunnel2              0x5000002  Up     Manual

    MTunnel1             0x6000000  Up     Auto

  ACs:

    AC                               Link ID    State

    XGE1/0/1 srv1000                 0          Up

# 查看Switch AVSIMAC地址表项信息,可以看到已学习到的MAC地址信息。

<SwitchA> display l2vpn mac-address

MAC Address      State    VSI Name                        Link ID/Name  Aging

cc3e-5f9c-6cdb   Dynamic  vpna                            Tunnel1   Aging

cc3e-5f9c-23dc   Dynamic  vpna                            Tunnel2   Aging

--- 2 mac address(es) found  ---

# 查看Switch A上IGMP执行主机行为的所有组播组信息,可以看到接口Vlan-interface11下存在组播组225.1.1.1的信息。

<SwitchA> display igmp host group

IGMP host groups in total: 1

 Vlan-interface11(11.1.1.1):

  IGMP host groups in total: 1

   Group address      Member state      Expires

   225.1.1.1          Idle              Off

(2)     验证主机

虚拟机VM 1、VM 2、VM 3之间可以互访。

 

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