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

10-VXLAN配置指导

目录

01-VXLAN配置

本章节下载 01-VXLAN配置  (610.61 KB)

01-VXLAN配置

  录

1 VXLAN概述

1.1 VXLAN的优点

1.2 VXLAN网络模型

1.3 VXLAN报文封装格式

1.4 VXLAN运行机制

1.4.1 运行机制概述

1.4.2 建立VXLAN隧道并将其与VXLAN关联

1.4.3 识别报文所属的VXLAN

1.4.4 学习MAC地址

1.4.5 转发单播流量

1.4.6 转发泛洪流量

1.4.7 接入模式

1.5 协议规范

2 配置VXLAN

2.1 VXLAN配置任务简介

2.2 VXLAN配置准

2.3 创建VSI和VXLAN

2.4 配置VXLAN隧道

2.4.1 手工创建VXLAN隧道

2.5 手工关联VXLAN与VXLAN隧道

2.6 建立数据帧与VSI的关联

2.6.1 配置三层接口与VSI关联

2.7 管理本地和远端MAC地址

2.7.1 功能简介

2.7.2 添加静态远端MAC地

2.7.3 关闭远端MAC地址自动学习功能

2.7.4 开启本地MAC地址的日志记录功能

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

2.9 配置VXLAN报文检查功能

2.10 配置VSI泛洪抑制

2.11 开启VXLAN软件快速转发功能

2.12 VXLAN显示和维护

2.13 VXLAN典型配置举例

2.13.1 VXLAN头端复制配置举例

3 OVSDB-VTEP

3.1 OVSDB-VTEP简介

3.1.1 工作机制

3.1.2 协议规范

3.2 OVSDB-VTEP配置限制和指导

3.3 OVSDB-VTEP配置任务简介

3.4 OVSDB-VTEP配置准备

3.5 与控制器建立OVSDB连接

3.5.1 OVSDB连接类型

3.5.2 配置限制和指导

3.5.3 配置准备

3.5.4 与控制器建立主动SSL连接

3.5.5 与控制器建立被动SSL连接

3.5.6 与控制器建立主动TCP连接

3.5.7 与控制器建立被动TCP连接

3.6 开启OVSDB服务器

3.7 开启OVSDB VTEP服务

3.8 配置VXLAN隧道的全局源地址

3.9 指定用户侧的接入端口

3.10 开启组播隧道泛洪代理功能

3.11 OVSDB-VTEP典型配置举例

3.11.1 OVSDB-VTEP头端复制配置举例

3.11.2 OVSDB-VTEP泛洪代理配置举例

 


1 VXLAN概述

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

1.1  VXLAN的优点

VXLAN具有如下优点:

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

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

1.2  VXLAN网络模型

VXLAN技术将已有的三层物理网络作为Underlay网络,在其上构建出虚拟的二层网络,即Overlay网络。Overlay网络通过封装技术、利用Underlay网络提供的三层转发路径,实现租户二层报文跨越三层网络在不同站点间传递。对于租户来说,Underlay网络是透明的,同一租户的不同站点就像工作在一个局域网中。

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

 

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

·     用户终端(Terminal):用户终端设备可以是PC机、无线终端设备、服务器上创建的VM(Virtual Machine,虚拟机)等。不同的用户终端可以属于不同的VXLAN。属于相同VXLAN的用户终端处于同一个逻辑二层网络,彼此之间二层互通;属于不同VXLAN的用户终端之间二层隔离。VXLAN通过VXLAN ID来标识,VXLAN ID又称VNI(VXLAN Network Identifier,VXLAN网络标识符),其长度为24比特。

说明

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

 

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

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

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

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

·     AC(Attachment Circuit,接入电路):VTEP连接本地站点的物理电路或虚拟电路。在VTEP上,与VSI关联的三层接口称为AC。

1.3  VXLAN报文封装格式

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

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

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

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

 

1.4  VXLAN运行机制

1.4.1  运行机制概述

VXLAN运行机制可以概括为:

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

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

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

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

1.4.2  建立VXLAN隧道并将其与VXLAN关联

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

1. 创建VXLAN隧道

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

2. 关联VXLAN隧道与VXLAN

通过手工方式将VXLAN隧道与VXLAN关联。

1.4.3  识别报文所属的VXLAN

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

VTEP将三层接口与VSI关联,从该三层接口接收到的数据帧均属于指定的VSI。VSI内创建的VXLAN即为该数据帧所属的VXLAN。

VTEP从三层接口接收到数据帧后,根据关联方式判断报文所属的VXLAN。

 

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

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

1.4.4  学习MAC地址

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

·     本地MAC地址学习

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

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

·     远端MAC地址学习

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

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

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

通过不同方式学习到的远端MAC地址优先级由高到低依次为:

a.     静态配置的MAC地址优优先级最高。

b.     动态学习的MAC地址优先级最低。

1.4.5  转发单播流量

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

1. 站点内流量

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

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

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

2. 站点间流量

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

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

(2)     VTEP 1从接口Interface A(所在VLAN为VLAN 2)收到该数据帧后,判断该数据帧属于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的出端口为Interface A(所在VLAN为VLAN 20)。

(6)     VTEP 2从接口Interface A的VLAN 20内将数据帧发送给VM 7。

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

1.4.6  转发泛洪流量

VTEP从本地站点接收到泛洪流量(组播、广播和未知单播流量)后,将其转发给除接收接口外的所有本地接口和VXLAN隧道。为了避免环路,VTEP从VXLAN隧道上接收到报文后,不会再将其泛洪到其他的VXLAN隧道,只会转发给所有本地接口。

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

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

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

 

 

1.4.7  接入模式

接入模式分为VLAN接入模式和Ethernet接入模式两种。

1. VLAN接入模式

在该模式下,从本地站点接收到的和发送给本地站点的以太网帧必须带有VLAN Tag。

·     VTEP从本地站点接收到以太网帧后,删除该帧的所有VLAN Tag,再转发该数据帧;

·     VTEP发送以太网帧到本地站点时,为其添加本地站点的VLAN Tag。

采用该模式时,VTEP不会传递VLAN Tag信息,不同站点可以独立地规划自己的VLAN,不同站点的不同VLAN之间可以互通。

2. Ethernet接入模式

在该模式下,从本地站点接收到的和发送给本地站点的以太网帧可以携带VLAN Tag,也可以不携带VLAN Tag。

·     VTEP从本地站点接收到以太网帧后,保持该帧的VLAN Tag信息不变,转发该数据帧;

·     VTEP发送以太网帧到本地站点时,不会为其添加VLAN Tag。

采用该模式时,VTEP会在不同站点间传递VLAN Tag信息,不同站点的VLAN需要统一规划,否则无法互通。

1.5  协议规范

与VXLAN相关的协议规范有:

·     RFC 7348:Virtual eXtensible Local Area Network (VXLAN): A Framework for Overlaying Virtualized Layer 2 Networks over Layer 3 Networks

 


2 配置VXLAN

2.1  VXLAN配置任务简介

VXLAN组网中,需要在VTEP上进行如下配置:

(1)     创建VSI和VXLAN

(2)     配置VXLAN隧道

(3)     手工关联VXLAN与VXLAN隧道

(4)     建立数据帧与VSI的关联

(5)     (可选)管理本地和远端MAC地址

¡     添加静态远端MAC地址

¡     关闭远端MAC地址自动学习功能

¡     开启本地MAC地址的日志记录功能

(6)     (可选)配置VXLAN报文相关功能

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

¡     配置VXLAN报文检查功能

(7)     (可选)减少发送到核心网的泛洪流量

¡     配置VSI泛洪抑制

(8)     (可选)开启VXLAN软件快速转发功能

2.2  VXLAN配置准备

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

2.3  创建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不能相同。

(6)     (可选)配置VSI相关参数。

a.     退回VSI视图。

quit

b.     配置VSI的描述信息。

description text

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

c.     配置VSI的MTU值。

mtu mtu

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

VSI的MTU值是指从AC上接收且通过VXLAN隧道转发的用户报文的最大长度。VSI内的其他报文不受该MTU值的限制。

d.     开启VSI的MAC地址学习功能。

mac-learning enable

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

2.4  配置VXLAN隧道

2.4.1  手工创建VXLAN隧道

1. 功能简介

手工创建VXLAN隧道时,隧道的源端地址和目的端地址需要分别手工指定为本地和远端VTEP的接口地址。

2. 配置限制和指导

在同一台设备上,VXLAN隧道模式的不同Tunnel接口建议不要同时配置完全相同的源端地址和目的端地址。

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

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     (可选)配置VXLAN隧道的全局源地址。

tunnel global source-address { ipv4-address | ipv6 ipv6-address }

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

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

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

interface tunnel tunnel-number mode vxlan [ ipv6 ]

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

(4)     配置隧道的源端地址。请选择其中一项进行配置。

¡     直接指定隧道的源端地址。

source { ipv4-address | ipv6-address }

指定的地址将作为封装后VXLAN报文的源IP地址。

¡     指定隧道的源接口。

source interface-type interface-number

指定接口的主IP地址将作为封装后VXLAN报文的源IP地址。

缺省情况下,未设置VXLAN隧道的源端地址。

(5)     配置隧道的目的端地址。

destination { ipv4-address | ipv6-address }

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

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

2.5  手工关联VXLAN与VXLAN隧道

1. 功能简介

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

2. 配置限制和指导

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

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入VSI视图。

vsi vsi-name

(3)     进入VXLAN视图。

vxlan vxlan-id

(4)     配置VXLAN与VXLAN隧道关联。

tunnel tunnel-number

缺省情况下,VXLAN未关联VXLAN隧道。

 

2.6  建立数据帧与VSI的关联

2.6.1  配置三层接口与VSI关联

1. 功能简介

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

2. 配置步骤

(1)     进入系统视图。

system-view

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

interface interface-type interface-number

(3)     将三层接口与VSI关联。

xconnect vsi vsi-name [ track track-entry-number&<1-3> ]

缺省情况下,三层接口未关联VSI。

2.7  管理本地和远端MAC地址

2.7.1  功能简介

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

远端MAC地址表项的产生方法包括静态添加、根据接收到的VXLAN报文内封装的源MAC地址自动学习等。

2.7.2  添加静态远端MAC地址

1. 配置步骤

(1)     进入系统视图。

system-view

(2)     添加静态远端MAC地址表项。

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

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

2.7.3  关闭远端MAC地址自动学习功能

1. 功能简介

如果网络中存在攻击,为了避免学习到错误的远端MAC地址,可以手工关闭远端MAC地址自动学习功能,手动添加静态的远端MAC地址。

2. 配置步骤

(1)     进入系统视图。

system-view

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

vxlan tunnel mac-learning disable

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

2.7.4  开启本地MAC地址的日志记录功能

1. 功能简介

开启本地MAC地址的日志记录功能后,VXLAN会立即根据已经学习到的本地MAC地址表项生成日志信息,之后在增加或删除本地MAC地址时也将产生日志信息。生成的日志信息将被发送到设备的信息中心,通过设置信息中心的参数,决定日志信息的输出规则(即是否允许输出以及输出方向)。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启本地MAC地址的日志记录功能。

vxlan local-mac report

缺省情况下,本地MAC地址的日志记录功能处于关闭状态。

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

(1)     进入系统视图。

system-view

(2)     配置VXLAN报文的目的UDP端口号。

vxlan udp-port port-number

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

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

2.9  配置VXLAN报文检查功能

1. 功能简介

通过本配置可以实现对接收到的VXLAN报文的UDP校验和进行检查,VTEP接收到VXLAN报文后,检查该报文的UDP校验和是否为0。若UDP校验和为0,则接收该报文;若UDP校验和不为0,则检查UDP检验和是否正确,正确则接收该报文;否则,丢弃该报文。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置丢弃UDP校验和检查失败的VXLAN报文。

vxlan invalid-udp-checksum discard

缺省情况下,不会检查VXLAN报文的UDP校验和。

2.10  配置VSI泛洪抑制

1. 功能简介

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

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

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入VSI视图。

vsi vsi-name

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

flooding disable

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

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

selective-flooding mac-address mac-address

2.11  开启VXLAN软件快速转发功能

1. 功能简介

开启本功能后,数据报文通过VXLAN隧道进行软件转发时,不会进行QoS、安全等业务处理,直接进行转发,以提高处理性能。建议仅在VSI虚接口和VXLAN隧道对应的报文出接口上没有配置QoS、安全等业务,且需要加快VXLAN软件转发速度的场景下,开启本功能。

2. 配置限制和指导

开启本功能后,如果到达VXLAN隧道目的端地址存在多条等价路由,只会从中选择一条路由转发VXLAN报文,不能在多条路由之间进行负载分担。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启VXLAN软件快速转发功能。

vxlan fast-forwarding enable

缺省情况下,VXLAN软件快速转发功能处于关闭状态。

2.12  VXLAN显示和维护

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

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

表2-1 VXLAN显示和维护

操作

命令

显示Tunnel接口信息

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

显示与VSI关联的三层接口的L2VPN信息

display l2vpn interface [ vsi vsi-name | interface-type interface-number ] [ verbose ]

显示VSI的MAC地址表信息

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

显示VSI的信息

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

显示VXLAN关联的VXLAN隧道信息

display vxlan tunnel [ vxlan-id vxlan-id [ tunnel tunnel-number ] ]

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

reset l2vpn mac-address [ vsi vsi-name ]

 

说明

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

 

2.13  VXLAN典型配置举例

2.13.1  VXLAN头端复制配置举例

1. 组网需求

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

具体需求为:

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

·     手工关联VXLAN和VXLAN隧道。

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

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

2. 组网图

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

3. 配置步骤

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

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

(2)     配置Device A

# 开启L2VPN能力。

<DeviceA> system-view

[DeviceA] l2vpn enable

# 创建VSI实例vpna和VXLAN 10。

[DeviceA] vsi vpna

[DeviceA-vsi-vpna] vxlan 10

[DeviceA-vsi-vpna-vxlan-10] quit

[DeviceA-vsi-vpna] quit

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

[DeviceA] interface loopback 0

[DeviceA-Loopback0] ip address 1.1.1.1 255.255.255.255

[DeviceA-Loopback0] quit

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

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

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

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

[DeviceA] interface tunnel 1 mode vxlan

[DeviceA-Tunnel1] source 1.1.1.1

[DeviceA-Tunnel1] destination 2.2.2.2

[DeviceA-Tunnel1] quit

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

[DeviceA] interface tunnel 2 mode vxlan

[DeviceA-Tunnel2] source 1.1.1.1

[DeviceA-Tunnel2] destination 3.3.3.3

[DeviceA-Tunnel2] quit

# 配置Tunnel1和Tunnel2与VXLAN 10关联。

[DeviceA] vsi vpna

[DeviceA-vsi-vpna] vxlan 10

[DeviceA-vsi-vpna-vxlan-10] tunnel 1

[DeviceA-vsi-vpna-vxlan-10] tunnel 2

[DeviceA-vsi-vpna-vxlan-10] quit

[DeviceA-vsi-vpna] quit

# 在接入服务器的接口GigabitEthernet1/0/1上关联VSI实例vpna。

[DeviceA] interface gigabitethernet 1/0/1

[DeviceA-GigabitEthernet1/0/1] xconnect vsi vpna

[DeviceA-GigabitEthernet1/0/1] quit

(3)     配置Device B

# 开启L2VPN能力。

<DeviceB> system-view

[DeviceB] l2vpn enable

# 创建VSI实例vpna和VXLAN 10。

[DeviceB] vsi vpna

[DeviceB-vsi-vpna] vxlan 10

[DeviceB-vsi-vpna-vxlan-10] quit

[DeviceB-vsi-vpna] quit

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

[DeviceB] interface loopback 0

[DeviceB-Loopback0] ip address 2.2.2.2 255.255.255.255

[DeviceB-Loopback0] quit

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

[DeviceB] interface tunnel 2 mode vxlan

[DeviceB-Tunnel2] source 2.2.2.2

[DeviceB-Tunnel2] destination 1.1.1.1

[DeviceB-Tunnel2] quit

# 在Device B和Device C之间建立VXLAN隧道。

[DeviceB] interface tunnel 3 mode vxlan

[DeviceB-Tunnel3] source 2.2.2.2

[DeviceB-Tunnel3] destination 3.3.3.3

[DeviceB-Tunnel3] quit

# 配置Tunnel2和Tunnel3与VXLAN10关联。

[DeviceB] vsi vpna

[DeviceB-vsi-vpna] vxlan 10

[DeviceB-vsi-vpna-vxlan-10] tunnel 2

[DeviceB-vsi-vpna-vxlan-10] tunnel 3

[DeviceB-vsi-vpna-vxlan-10] quit

[DeviceB-vsi-vpna] quit

# 在接入服务器的接口GigabitEthernet1/0/1上关联VSI实例vpna。

[DeviceB] interface gigabitethernet 1/0/1

[DeviceB-GigabitEthernet1/0/1] xconnect vsi vpna

[DeviceB-GigabitEthernet1/0/1] quit

(4)     配置Device C

# 开启L2VPN能力。

<DeviceC> system-view

[DeviceC] l2vpn enable

# 创建VSI实例vpna和VXLAN 10。

[DeviceC] vsi vpna

[DeviceC-vsi-vpna] vxlan 10

[DeviceC-vsi-vpna-vxlan-10] quit

[DeviceC-vsi-vpna] quit

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

[DeviceC] interface loopback 0

[DeviceC-Loopback0] ip address 3.3.3.3 255.255.255.255

[DeviceC-Loopback0] quit

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

[DeviceC] interface tunnel 1 mode vxlan

[DeviceC-Tunnel1] source 3.3.3.3

[DeviceC-Tunnel1] destination 1.1.1.1

[DeviceC-Tunnel1] quit

# 在Device B和Device C之间建立VXLAN隧道。

[DeviceC] interface tunnel 3 mode vxlan

[DeviceC-Tunnel3] source 3.3.3.3

[DeviceC-Tunnel3] destination 2.2.2.2

[DeviceC-Tunnel3] quit

# 配置Tunnel1和Tunnel3与VXLAN 10关联。

[DeviceC] vsi vpna

[DeviceC-vsi-vpna] vxlan 10

[DeviceC-vsi-vpna-vxlan-10] tunnel 1

[DeviceC-vsi-vpna-vxlan-10] tunnel 3

[DeviceC-vsi-vpna-vxlan-10] quit

[DeviceC-vsi-vpna] quit

# 在接入服务器的接口GigabitEthernet1/0/1上关联VSI实例vpna。

[DeviceC] interface gigabitethernet 1/0/1

[DeviceC-GigabitEthernet1/0/1] xconnect vsi vpna

[DeviceC-GigabitEthernet1/0/1] quit

4. 验证配置

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

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

[DeviceA] display interface tunnel 1

Tunnel1

Current state: UP

Line protocol state: UP

Description: Tunnel1 Interface

Bandwidth: 64 kbps

Maximum transmission 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

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

# 查看Device A上的VSI信息,可以看到VSI内创建的VXLAN、与VXLAN关联的VXLAN隧道、与VSI关联的三层接口等信息。

[DeviceA] display l2vpn vsi verbose

VSI Name: vpna

  VSI Index               : 0

  VSI State               : Up

  MTU                     : 1500

  Bandwidth               : Unlimited

  Broadcast Restrain      : 5120 kbps

  Multicast Restrain      : 5120 kbps

  Unknown Unicast Restrain: 5120 kbps

  MAC Learning            : Enabled

  MAC Table Limit         : -

  Drop Unknown            : Disabled

  PW Redundancy           : Slave

  Flooding                : Enabled

  VXLAN ID                : 10

  Tunnels:

    Tunnel Name          Link ID    State  Type        Flood Proxy  Split horizon

    Tunnel1              0x5000001  Up     Manual      Disabled     Enabled

    Tunnel2              0x5000002  Up     Manual      Disabled     Enabled

  ACs:

    AC                               Link ID    State

    GE1/0/1                          0          Up

# 查看Device A上VSI的MAC地址表项信息,可以看到已学习到的MAC地址信息。

<DeviceA> 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 OVSDB-VTEP

3.1  OVSDB-VTEP简介

OVSDB(Open vSwitch Database,开源虚拟交换机数据库)控制协议用来实现NVC(Network Virtualization Controller,网络虚拟化控制器)对网络中VTEP设备的管理和部署。

3.1.1  工作机制

图3-1所示,VTEP设备上维护OVSDB数据库,VXLAN相关配置以表项的形式保存在该数据库中。控制器与VTEP设备上的OVSDB服务器建立连接,二者采用OVSDB控制协议进行交互并操作OVSDB数据库中的数据。OVSDB VTEP服务从OVSDB服务器获取数据库中的数据,将其转变为VXLAN相关配置(例如创建或删除VXLAN、创建或删除VXLAN隧道)下发到设备上。同时,OVSDB VTEP服务也会通过OVSDB服务器,将本地的用户侧接入端口和VXLAN隧道全局源地址信息添加到数据库中,并上报给控制器。

图3-1 OVSDB-VTEP示意图

 

3.1.2  协议规范

与OVSDB相关的协议规范有:

·     RFC 7047:The Open vSwitch Database Management Protocol

3.2  OVSDB-VTEP配置限制和指导

用户可以同时通过命令行和控制器配置VTEP设备。建议不要在VTEP设备上通过命令行删除控制器下发的配置。

3.3  OVSDB-VTEP配置任务简介

要实现控制器对VTEP设备的部署,需要在VTEP设备上进行如下配置:

(1)     与控制器建立OVSDB连接

¡     与控制器建立主动SSL连接

¡     与控制器建立被动SSL连接

¡     与控制器建立主动TCP连接

¡     与控制器建立被动TCP连接

(2)     开启OVSDB服务器

(3)     开启OVSDB VTEP服务

(4)     配置VXLAN隧道的全局源地址

(5)     指定用户侧的接入端口

(6)     开启组播隧道泛洪代理功能

采用泛洪代理(服务器复制)方式转发站点间的泛洪流量时,必须执行本配置。

3.4  OVSDB-VTEP配置准备

在进行OVSDB-VTEP相关配置前,需要首先通过l2vpn enable命令开启L2VPN功能。

如果OVSDB服务器与控制器之间建立SSL连接,则还需要完成SSL相关配置,详细配置方法请参见“安全配置指导”中的“SSL”。

3.5  与控制器建立OVSDB连接

3.5.1  OVSDB连接类型

OVSDB服务器和控制器之间可以建立多种类型的OVSDB连接,设备支持的OVSDB连接类型包括:

·     主动SSL连接:OVSDB服务器主动向控制器发起SSL连接。

·     被动SSL连接:OVSDB服务器监听并接收来自控制器的SSL连接请求。

·     主动TCP连接:OVSDB服务器主动向控制器发起TCP连接。

·     被动TCP连接:OVSDB服务器监听并接收来自控制器的TCP连接请求。

3.5.2  配置限制和指导

配置OVSDB服务器与控制器建立OVSDB连接时,需要注意:

·     OVSDB服务器支持同时与多个控制器建立连接,且支持同时建立多种类型的连接。

·     在开启OVSDB服务器之前,必须先建立OVSDB连接。如果在开启OVSDB服务器之后修改OVSDB连接,那么需要关闭OVSDB服务器后再重新开启,新的连接配置才能生效。

·     所有SSL连接,包括主动SSL连接和被动SSL连接,需要使用相同的PKI域和CA证书文件。

3.5.3  配置准备

OVSDB服务器与控制器主动SSL连接和被动SSL连接前,需要先创建PKI域,具体方法请参见“安全配置指导”中的“PKI”。

3.5.4  与控制器建立主动SSL连接

(1)     进入系统视图。

system-view

(2)     指定与控制器进行SSL通信时使用的PKI域。

ovsdb server pki domain domain-name

缺省情况下,未指定与控制器进行SSL通信时使用的PKI域。

(3)     (可选)设置SSL通信时使用的CA证书文件。

ovsdb server bootstrap ca-certificate ca-filename

缺省情况下,与控制器进行SSL通信时使用PKI域中的CA证书文件。

如果指定的CA证书文件不存在,则使用开启OVSDB服务器时通过SSL连接获取的自签名证书,并通过本命令指定证书文件名。

(4)     与控制器建立主动SSL连接。

ovsdb server ssl ip ip-address port port-number

缺省情况下,不会与控制器建立主动SSL连接。

OVSDB服务器最多可以同时与8个控制器建立主动SSL连接。

3.5.5  与控制器建立被动SSL连接

(1)     进入系统视图。

system-view

(2)     指定与控制器进行SSL通信时使用的PKI域。

ovsdb server pki domain domain-name

缺省情况下,未指定与控制器进行SSL通信时使用的PKI域。

(3)     (可选)设置SSL通信时使用的CA证书文件。

ovsdb server bootstrap ca-certificate ca-filename

缺省情况下,与控制器进行SSL通信时使用PKI域中的CA证书文件。

如果指定的CA证书文件不存在,则使用开启OVSDB服务器时通过SSL连接获取的自签名证书,并通过本命令指定证书文件名。

(4)     与控制器建立被动SSL连接。

ovsdb server pssl [ port  port-number ]

缺省情况下,不会与控制器建立被动SSL连接。

OVSDB服务器只能监听1个端口的SSL连接请求。

3.5.6  与控制器建立主动TCP连接

(1)     进入系统视图。

system-view

(2)     与控制器建立主动TCP连接。

ovsdb server tcp ip ip-address port port-number

缺省情况下,不会与控制器建立主动TCP连接。

OVSDB服务器最多可以同时与8个控制器建立主动TCP连接。

3.5.7  与控制器建立被动TCP连接

(1)     进入系统视图。

system-view

(2)     与控制器建立被动TCP连接。

ovsdb server ptcp [ port port-number ]

缺省情况下,不会与控制器建立被动TCP连接。

OVSDB服务器只能监听1个端口的TCP连接请求。

3.6  开启OVSDB服务器

1. 配置准备

在开启OVSDB服务器之前,必须先建立OVSDB连接。如果在开启OVSDB服务器之后修改OVSDB连接,那么需要关闭OVSDB服务器后再重新开启,新的连接配置才能生效。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启OVSDB服务器。

ovsdb server enable

缺省情况下,OVSDB服务器处于关闭状态。

3.7  开启OVSDB VTEP服务

(1)     进入系统视图。

system-view

(2)     开启OVSDB VTEP服务。

vtep enable

缺省情况下,OVSDB VTEP服务处于关闭状态。

3.8  配置VXLAN隧道的全局源地址

1. 功能简介

用户需要在VTEP设备上配置VXLAN隧道的全局源地址,该地址会通过OVSDB协议上报给控制器,用于控制器对VTEP设备进行部署和控制。

2. 配置限制和指导

采用OVSDB对VTEP设备进行部署和控制时,用户不能在VXLAN隧道的Tunnel接口下手工指定源地址,否则会影响控制器对VTEP设备的管理。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置VXLAN隧道的全局源地址。

tunnel global source-address { ipv4-address | ipv6 ipv6-address }

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

3.9  指定用户侧的接入端口

1. 功能简介

为了在控制器上显示VTEP上的端口并对其进行控制,必须在VTEP上将该端口配置为用户侧的接入端口。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

(3)     指定当前接口为用户侧的接入端口。

vtep access port

缺省情况下,当前接口不是用户侧的接入端口。

3.10  开启组播隧道泛洪代理功能

1. 功能简介

开启组播隧道泛洪代理功能后,系统会将控制器下发的组播隧道转换为具有泛洪代理功能的隧道。VXLAN内的广播、组播和未知单播流量将通过具有泛洪代理功能的隧道发送到泛洪代理服务器,由代理服务器进行复制并转发到其他远端VTEP。

采用泛洪代理(服务器复制)方式转发站点间的泛洪流量时,必须开启该功能。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启组播隧道泛洪代理功能。

vxlan tunnel flooding-proxy

缺省情况下,组播隧道泛洪代理功能处于关闭状态。

3.11  OVSDB-VTEP典型配置举例

3.11.1  OVSDB-VTEP头端复制配置举例

1. 组网需求

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

具体需求为:

·     通过控制器下发配置,在不同VTEP之间建立VXLAN隧道。

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

2. 组网图

图3-2 OVSDB-VTEP头端复制组网图

3. 配置步骤

(1)     配置IP地址、单播路由协议、控制器

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

(2)     配置Device A

# 开启L2VPN能力。

<DeviceA> system-view

[DeviceA] l2vpn enable

# 配置与控制器建立主动TCP连接,TCP连接的目的地址为10.0.2.15(控制器的地址),目的端口号为6632。

[DeviceA] ovsdb server tcp ip 10.0.2.15 port 6632

# 开启OVSDB服务器。

[DeviceA] ovsdb server enable

# 开启OVSDB VTEP服务。

[DeviceA] vtep enable

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

[DeviceA] interface loopback 0

[DeviceA-LoopBack0] ip address 1.1.1.1 255.255.255.255

[DeviceA-LoopBack0] quit

[DeviceA] tunnel global source-address 1.1.1.1

# 指定接入服务器的接口GigabitEthernet1/0/1为用户侧的接入端口。

[DeviceA] interface gigabitethernet 1/0/1

[DeviceA-GigabitEthernet1/0/1] vtep access port

[DeviceA-GigabitEthernet1/0/1] quit

(3)     配置Device B

# 开启L2VPN功能。

<DeviceB> system-view

[DeviceB] l2vpn enable

# 配置与控制器建立主动TCP连接,TCP连接的目的地址为10.0.2.15(控制器的地址),目的端口号为6632。

[DeviceB] ovsdb server tcp 10.0.2.15 port 6632

# 开启OVSDB服务器。

[DeviceB] ovsdb server enable

# 开启OVSDB VTEP服务。

[DeviceB] vtep enable

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

[DeviceB] interface loopback 0

[DeviceB-LoopBack0] ip address 2.2.2.2 255.255.255.255

[DeviceB-LoopBack0] quit

[DeviceB] tunnel global source-address 2.2.2.2

# 指定接入服务器的接口GigabitEthernet1/0/1为用户侧的接入端口。

[DeviceB] interface gigabitethernet 1/0/1

[DeviceB-GigabitEthernet1/0/1] vtep access port

[DeviceB-GigabitEthernet1/0/1] quit

(4)     配置Device C

# 开启L2VPN功能。

<DeviceC> system-view

[DeviceC] l2vpn enable

# 配置与控制器建立主动TCP连接,TCP连接的目的地址为10.0.2.15(控制器的地址),目的端口号为6632。

[DeviceC] ovsdb server tcp ip 10.0.2.15 port 6632

# 开启OVSDB服务器。

[DeviceC] ovsdb server enable

# 开启OVSDB VTEP服务。

[DeviceC] vtep enable

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

[DeviceC] interface loopback 0

[DeviceC-LoopBack0] ip address 3.3.3.3 255.255.255.255

[DeviceC-LoopBack0] quit

[DeviceC] tunnel global source-address 3.3.3.3

# 指定接入服务器的接口GigabitEthernet1/0/1为用户侧的接入端口。

[DeviceC] interface gigabitethernet 1/0/1

[DeviceC-GigabitEthernet1/0/1] vtep access port

[DeviceC-GigabitEthernet1/0/1] quit

(5)     控制器上进行VXLAN配置(略)

4. 验证配置

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

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

[DeviceA] display interface tunnel

Tunnel1

Current state: UP

Line protocol state: UP

Description: Tunnel1 Interface

Bandwidth: 64kbps

Maximum transmission unit: 1464

Internet protocol processing: Disabled

Output queue - Urgent queuing: Size/Length/Discards 0/100/0

Output queue - Protocol queuing: Size/Length/Discards 0/500/0

Output queue - FIFO queuing: Size/Length/Discards 0/75/0

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

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

[DeviceA] display l2vpn vsi verbose

VSI Name: evpn2014

  VSI Index               : 0

  VSI State               : Up

  MTU                     : 1500

  Bandwidth               : Unlimited

  Broadcast Restrain      : 5120 kbps

  Multicast Restrain      : 5120 kbps

  Unknown Unicast Restrain: 5120 kbps

  MAC Learning            : Enabled

  MAC Table Limit         : -

  Drop Unknown            : -

  PW Redundancy           : Slave

  Flooding                : Enabled

  Service Class           : -

  Statistics              : Disabled

  VXLAN ID                : 10

  Tunnel Statistics       : Disabled

  Tunnels:

    Tunnel Name          Link ID    State  Type        Flood Proxy  Split horizon

    Tunnel1              0x5000001  Up     Manual      Disabled     Enabled

    Tunnel2              0x5000002  Up     Manual      Disabled     Enabled

  ACs:

    AC                               Link ID    State

    GE1/0/1                          0          Up

# 查看Device A上VSI的MAC地址表项信息,可以看到已学习到的MAC地址信息。

<DeviceA> display l2vpn mac-address

MAC Address      State    VSI Name                        Link ID/Name  Aging

cc3e-5f9c-6cdb   Dynamic  evpn2014                        Tunnel1       Aging

cc3e-5f9c-23dc   Dynamic  evpn2014                        Tunnel2       Aging

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

(2)     验证主机

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

3.11.2  OVSDB-VTEP泛洪代理配置举例

1. 组网需求

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

具体需求为:

·     通过控制器下发配置,在不同VTEP之间建立VXLAN隧道。

·     站点之间的泛洪流量采用泛洪代理(服务器复制)的方式转发。

·     VTEP采用控制器下发的MAC地址表项进行流量转发。

2. 组网图

图3-3 OVSDB-VTEP泛洪代理组网图

3. 配置步骤

(1)     配置IP地址、单播路由协议、控制器和服务器

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

(2)     配置Device A

# 开启L2VPN功能。

<DeviceA> system-view

[DeviceA] l2vpn enable

# 配置与控制器建立主动TCP连接,TCP连接的目的地址为10.0.2.15(控制器的地址),目的端口号为6632。

[DeviceA] ovsdb server tcp ip 10.0.2.15 port 6632

# 开启OVSDB服务器。

[DeviceA] ovsdb server enable

# 开启OVSDB VTEP服务。

[DeviceA] vtep enable

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

[DeviceA] interface loopback 0

[DeviceA-LoopBack0] ip address 1.1.1.1 255.255.255.255

[DeviceA-LoopBack0] quit

[DeviceA] tunnel global source-address 1.1.1.1

# 指定接入服务器的接口GigabitEthernet1/0/1为用户侧的接入端口。

[DeviceA] interface gigabitethernet 1/0/1

[DeviceA-GigabitEthernet1/0/1] vtep access port

[DeviceA-GigabitEthernet1/0/1] quit

# 在网络侧接口上关闭报文入接口与静态MAC地址表项匹配检查功能。

[DeviceA] interface gigabitethernet 1/0/2

[DeviceA-GigabitEthernet1/0/2] undo mac-address static source-check enable

[DeviceA-GigabitEthernet1/0/2] quit

# 关闭远端MAC地址自动学习功能。

[DeviceA] vxlan tunnel mac-learning disable

# 开启组播隧道泛洪代理功能。

[DeviceA] vxlan tunnel flooding-proxy

(3)     配置Device B

# 开启L2VPN功能。

<DeviceB> system-view

[DeviceB] l2vpn enable

# 配置与控制器建立主动TCP连接,TCP连接的目的地址为10.0.2.15(控制器的地址),目的端口号为6632。

[DeviceB] ovsdb server tcp ip 10.0.2.15 port 6632

# 开启OVSDB服务器。

[DeviceB] ovsdb server enable

# 开启OVSDB VTEP服务。

[DeviceB] vtep enable

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

[DeviceB] interface loopback 0

[DeviceB-LoopBack0] ip address 2.2.2.2 255.255.255.255

[DeviceB-LoopBack0] quit

[DeviceB] tunnel global source-address 2.2.2.2

# 指定接入服务器的接口GigabitEthernet1/0/1为用户侧的接入端口。

[DeviceB] interface gigabitethernet 1/0/1

[DeviceB-GigabitEthernet1/0/1] vtep access port

[DeviceB-GigabitEthernet1/0/1] quit

# 在网络侧接口上关闭报文入接口与静态MAC地址表项匹配检查功能。

[DeviceB] interface gigabitethernet 1/0/2

[DeviceB-GigabitEthernet1/0/2] undo mac-address static source-check enable

[DeviceB-GigabitEthernet1/0/2] quit

# 关闭远端MAC地址自动学习功能。

[DeviceB] vxlan tunnel mac-learning disable

# 开启组播隧道泛洪代理功能。

[DeviceB] vxlan tunnel flooding-proxy

(4)     配置Device C

# 开启L2VPN功能。

<DeviceC> system-view

[DeviceC] l2vpn enable

# 配置与控制器建立主动TCP连接,TCP连接使用的PKI域为a,连接的目的地址为10.0.2.15(控制器的地址),目的端口号为6632。

[DeviceC] ovsdb server tcp 10.0.2.15 port 6632

# 开启OVSDB服务器。

[DeviceC] ovsdb server enable

# 开启OVSDB VTEP服务。

[DeviceC] vtep enable

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

[DeviceC] interface loopback 0

[DeviceC-LoopBack0] ip address 3.3.3.3 255.255.255.255

[DeviceC-LoopBack0] quit

[DeviceC] tunnel global source-address 3.3.3.3

# 指定接入服务器的接口GigabitEthernet1/0/1为用户侧的接入端口。

[DeviceC] interface gigabitethernet 1/0/1

[DeviceC-GigabitEthernet1/0/1] vtep access port

[DeviceC-GigabitEthernet1/0/1] quit

# 在网络侧接口上关闭报文入接口与静态MAC地址表项匹配检查功能。

[DeviceC] interface gigabitethernet 1/0/2

[DeviceC-GigabitEthernet1/0/2] undo mac-address static source-check enable

[DeviceC-GigabitEthernet1/0/2] quit

# 关闭远端MAC地址自动学习功能。

[DeviceC] vxlan tunnel mac-learning disable

# 开启组播隧道泛洪代理功能。

[DeviceC] vxlan tunnel flooding-proxy

(5)     控制器上进行VXLAN配置(略)

4. 验证配置

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

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

[DeviceA] display interface tunnel

Tunnel1

Current state: UP

Line protocol state: UP

Description: Tunnel1 Interface

Bandwidth: 64kbps

Maximum transmission unit: 1464

Internet protocol processing: disabled

Output queue - Urgent queuing: Size/Length/Discards 0/100/0

Output queue - Protocol queuing: Size/Length/Discards 0/500/0

Output queue - FIFO queuing: Size/Length/Discards 0/75/0

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

# 查看Device A上的VSI信息,可以看到VSI内创建的VXLAN、与VXLAN关联的VXLAN隧道、与VSI关联的以太网服务实例等信息,其中Tunnel1和Tunnel2为去往DeviceB、DeviceC的隧道,Tunnel3为去往代理服务器的隧道。

[DeviceA] display l2vpn vsi verbose

VSI Name: evpn2014

  VSI Index               : 0

  VSI State               : Up

  MTU                     : 1500

  Bandwidth               : Unlimited

  Broadcast Restrain      : 5120 kbps

  Multicast Restrain      : 5120 kbps

  Unknown Unicast Restrain: 5120 kbps

  MAC Learning            : Enabled

  MAC Table Limit         : -

  Drop Unknown            : -

  PW Redundancy           : Slave

  Flooding                : Enabled

  Service Class           : -

  Statistics              : Disabled

  VXLAN ID                : 10

  Tunnel Statistics       : Disabled

  Tunnels:

    Tunnel Name          Link ID    State  Type        Flood Proxy  Split horizon

    Tunnel1              0x5000001  Up     Manual      Disabled     Enabled

    Tunnel2              0x5000002  Up     Manual      Disabled     Enabled

    Tunnel3              0x5000003  Up     Manual      Enabled      Enabled

  ACs:

    AC                               Link ID    State

    GE1/0/1                          0          Up

# 查看Device A上VSI的MAC地址表项信息,可以看到控制器下发的MAC地址信息。

<DeviceA> display l2vpn mac-address

MAC Address      State    VSI Name                        Link ID/Name  Aging

cc3e-5f9c-6cdb   OVSDB    evpn2014                        Tunnel1       NotAging

cc3e-5f9c-23dc   OVSDB    evpn2014                        Tunnel2       NotAging

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

(2)     验证主机

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

 

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

新华三官网
联系我们