SlideShare a Scribd company logo
H3C S12500-X & S12500X-AF 系列以太网交换机
VXLAN 配置指导
杭州华三通信技术有限公司
http://www.h3c.com.cn
资料版本:6W100-20150430
产品版本:Release 1135
Copyright © 2015 杭州华三通信技术有限公司及其许可者 版权所有,保留一切权利。
未经本公司书面许可,任何单位和个人不得擅自摘抄、复制本书内容的部分或全部,并不得以任何
形式传播。
H3C、 、H3CS、H3CIE、H3CNE、Aolynk、 、H3
Care、 、IRF、NetPilot、
Netflow、SecEngine、SecPath、SecCenter、SecBlade、Comware、ITCMM、HUASAN、华三
均为杭州华三通信技术有限公司的商标。对于本手册中出现的其它公司的商标、产品标识及商品名
称,由各自权利人拥有。
由于产品版本升级或其他原因,本手册内容有可能变更。H3C 保留在没有任何通知或者提示的情况
下对本手册的内容进行修改的权利。本手册仅作为使用指导,H3C 尽全力在本手册中提供准确的信
息,但是 H3C 并不确保手册内容完全没有错误,本手册中的所有陈述、信息和建议也不构成任何
明示或暗示的担保。
前 言
H3C S12500-X & S12500X-AF 系列以太网交换机 配置指导(R1135)共分为十六本手册,介绍了
S12500-X & S12500X-AF 系列以太网交换机 Release 1135 版本各软件特性的原理及其配置方法,
包含原理简介、配置任务描述和配置举例。《VXLAN 配置指导》主要介绍了 VXLAN 技术的原理及
具体配置方法。
前言部分包含如下内容:
• 读者对象
• 本书约定
• 资料获取方式
• 技术支持
• 资料意见反馈
读者对象
本手册主要适用于如下工程师:
• 网络规划人员
• 现场技术支持与维护人员
• 负责网络配置和维护的网络管理员
本书约定
1. 命令行格式约定
格 式 意 义
粗体 命令行关键字(命令中保持不变、必须照输的部分)采用加粗字体表示。
斜体 命令行参数(命令中必须由实际值进行替代的部分)采用斜体表示。
[ ] 表示用“[ ]”括起来的部分在命令配置时是可选的。
{ x | y | ... } 表示从多个选项中仅选取一个。
[ x | y | ... ] 表示从多个选项中选取一个或者不选。
{ x | y | ... } * 表示从多个选项中至少选取一个。
[ x | y | ... ] * 表示从多个选项中选取一个、多个或者不选。
&<1-n> 表示符号&前面的参数可以重复输入1~n次。
# 由“#”号开始的行表示为注释行。
2. 图形界面格式约定
格 式 意 义
< > 带尖括号“< >”表示按钮名,如“单击<确定>按钮”。
[ ] 带方括号“[ ]”表示窗口名、菜单名和数据表,如“弹出[新建用户]窗口”。
/
多级菜单用“/”隔开。如[文件/新建/文件夹]多级菜单表示[文件]菜单下的[新建]子菜单下
的[文件夹]菜单项。
3. 各类标志
本书还采用各种醒目标志来表示在操作过程中应该特别注意的地方,这些标志的意义如下:
该标志后的注释需给予格外关注,不当的操作可能会对人身造成伤害。
提醒操作中应注意的事项,不当的操作可能会导致数据丢失或者设备损坏。
为确保设备配置成功或者正常工作而需要特别关注的操作或信息。
对操作内容的描述进行必要的补充和说明。
配置、操作、或使用设备的技巧、小窍门。
4. 图标约定
本书使用的图标及其含义如下:
该图标及其相关描述文字代表一般网络设备,如路由器、交换机、防火墙等。
该图标及其相关描述文字代表一般意义下的路由器,以及其他运行了路由协议的设备。
该图标及其相关描述文字代表二、三层以太网交换机,以及运行了二层协议的设备。
该图标及其相关描述文字代表无线控制器、无线控制器业务板和有线无线一体化交换机的
无线控制引擎设备。
该图标及其相关描述文字代表无线接入点设备。
该图标及其相关描述文字代表无线Mesh设备。
该图标代表发散的无线射频信号。
该图标代表点到点的无线射频信号。
该图标及其相关描述文字代表防火墙、UTM、多业务安全网关、负载均衡等安全设备。
 
 
 
 
该图标及其相关描述文字代表防火墙插卡、负载均衡插卡、NetStream插卡、SSL VPN插
卡、IPS插卡、ACG插卡等安全插卡。
5. 端口编号示例约定
本手册中出现的端口编号仅作示例,并不代表设备上实际具有此编号的端口,实际使用中请以设备
上存在的端口编号为准。
资料获取方式
您可以通过H3C网站(www.h3c.com.cn)获取最新的产品资料:
H3C 网站与产品资料相关的主要栏目介绍如下:
• [服务支持/文档中心]:可以获取硬件安装类、软件升级类、配置类或维护类等产品资料。
• [产品技术]:可以获取产品介绍和技术介绍的文档,包括产品相关介绍、技术介绍、技术白皮
书等。
• [解决方案]:可以获取解决方案类资料。
• [服务支持/软件下载]:可以获取与软件版本配套的资料。
技术支持
用户支持邮箱:service@h3c.com
技术支持热线电话:400-810-0504(手机、固话均可拨打)
网址:http://www.h3c.com.cn
资料意见反馈
如果您在使用过程中发现产品资料的任何问题,可以通过以下方式反馈:
E-mail:info@h3c.com
感谢您的反馈,让我们做得更好!
目 录
1 VXLAN简介········································································································································1-1 
1.1 VXLAN网络模型································································································································1-2 
1.2 VXLAN报文封装格式·························································································································1-3 
1.3 VXLAN运行机制································································································································1-3 
1.3.1 建立VXLAN隧道,并将VXLAN隧道与VXLAN关联·································································1-3 
1.3.2 识别报文所属的VXLAN ··········································································································1-4 
1.3.3 学习MAC地址 ·························································································································1-4 
1.3.4 接入模式 ·································································································································1-5 
1.3.5 VXLAN隧道工作模式··············································································································1-5 
1.3.6 转发单播流量··························································································································1-5 
1.3.7 转发泛洪流量··························································································································1-7 
1.4 ARP泛洪抑制 ····································································································································1-9 
1.5 协议规范··········································································································································1-10 
2 配置VXLAN········································································································································2-1 
2.1 VXLAN配置任务简介·························································································································2-1 
2.2 配置VXLAN隧道工作模式 ·················································································································2-1 
2.3 创建VSI和VXLAN······························································································································2-2 
2.4 创建VXLAN隧道································································································································2-2 
2.5 关联VXLAN与VXLAN隧道 ················································································································2-3 
2.6 配置AC与VSI关联 ·····························································································································2-4 
2.7 管理本地和远端MAC地址··················································································································2-4 
2.7.1 配置本端MAC地址添加/删除的日志功能 ················································································2-5 
2.7.2 添加静态远端MAC地址···········································································································2-5 
2.7.3 开启远端MAC地址自动学习功能 ····························································································2-5 
2.8 配置VXLAN组播路由泛洪方式 ··········································································································2-6 
2.9 配置VSI泛洪抑制·······························································································································2-7 
2.10 配置VXLAN报文的目的UDP端口号·································································································2-7 
2.11 配置VXLAN报文检查功能 ···············································································································2-7 
2.12 配置ARP泛洪抑制 ···························································································································2-8 
2.13 配置VXLAN流量统计·······················································································································2-8 
2.14 VXLAN显示和维护 ··························································································································2-9 
2.15 VXLAN典型配置举例·····················································································································2-10 
i
2.15.1 VXLAN头端复制配置举例···································································································2-10 
2.15.2 VXLAN核心复制配置举例···································································································2-14 
3 ENDP·················································································································································3-1 
3.1 ENDP简介·········································································································································3-1 
3.1.1 ENDP基本运行机制················································································································3-1 
3.1.2 ENDP定时探测和老化 ············································································································3-1 
3.1.3 ENDP认证功能 ·······················································································································3-1 
3.2 配置ENDP·········································································································································3-2 
3.3 ENDP显示和维护 ······························································································································3-3 
3.4 ENDP典型配置举例···························································································································3-4 
3.4.1 VXLAN邻居自动发现配置举例································································································3-4 
4 VXLAN IS-IS协议·······························································································································4-1 
4.1 VXLAN IS-IS协议配置任务简介 ········································································································4-1 
4.2 为VXLAN IS-IS指定预留VXLAN ·······································································································4-1 
4.3 自动关联VXLAN与VXLAN隧道 ·········································································································4-1 
4.4 配置通过VXLAN IS-IS同步MAC地址 ································································································4-2 
4.5 调整和优化VXLAN IS-IS ···················································································································4-2 
4.5.1 配置VXLAN IS-IS Hello报文的发送 ························································································4-2 
4.5.2 配置DED的优先级和CSNP报文发送时间间隔········································································4-3 
4.5.3 配置LSP相关参数 ···················································································································4-3 
4.5.4 配置邻接状态变化的输出开关·································································································4-4 
4.5.5 配置VXLAN IS-IS GR ·············································································································4-5 
4.5.6 配置VXLAN IS-IS虚拟系统·····································································································4-5 
4.6 VXLAN IS-IS显示和维护 ···················································································································4-6 
4.7 VXLAN ISIS典型配置举例·················································································································4-6 
5 VXLAN IP网关 ···································································································································5-1 
5.1 VXLAN IP网关简介····························································································································5-1 
5.1.1 独立的VXLAN IP网关 ·············································································································5-1 
5.1.2 集中式VXLAN IP网关 ·············································································································5-2 
5.1.3 分布式VXLAN IP网关 ·············································································································5-4 
5.2 配置集中式VXLAN IP网关·················································································································5-7 
5.3 配置分布式VXLAN IP网关·················································································································5-7 
5.4 配置VSI虚接口 ··································································································································5-8 
5.5 VXLAN IP网关显示和维护·················································································································5-9 
5.6 VXLAN IP网关典型配置举例·············································································································5-9 
5.6.1 集中式VXLAN IP网关配置举例·······························································································5-9 
ii
iii
5.6.2 分布式VXLAN IP网关配置举例·····························································································5-14 
1 VXLAN简介
• 仅 FX、FC 类型的单板支持配置 VXLAN 功能。
设备。
备后才能生效。有关设备工作模式的详细介绍请参见“基础配
置指导”中的“设备管理”。
• FC 类型的单板不支持用作 VXLAN IP 网关。
• FX 类型的单板用作集中式 VXLAN IP 网关时,不能同时用作接入本地站点的 VTEP
• VXLAN 功能受设备的工作模式限制,在使用 VXLAN 功能前,请在系统视图下使用
“system-working-mode standard”命令将设备设置为标准模式,需要注意的是,使用该命
令修改设备的工作模式时,需要保存设备当前配置文件,再删除文件名后缀为“.mdb”的二进
制类型的配置文件,然后重启设
VXLAN(Virtual eXtensible LAN,可扩展虚拟局域网络)是基于 IP 网络、采用“MAC in UDP”封
装形式的二层 VPN 技术。VXLAN 可以基于已有的服务提供商或企业 IP 网络,为分散的物理站点
不同的租户提供业务隔离。VXLAN 主要应用于数据中心网络。
)个 VXLAN,
转发报文,降低了网络部署的难度和费用。
目前,设备只支持基于 IPv4 网络的 VXLAN 技术。
提供二层互联,并能够为
VXLAN 具有如下特点:
• 支持大量的租户:使用 24 位的标识符,最多可支持 2 的 24 次方(16777216
支持的租户数目大规模增加,解决了传统二层网络 VLAN 资源不足的问题。
• 易于维护:基于 IP 网络组建大二层网络,使得网络部署和维护更加容易,并且可以充分地利
用现有的 IP 网络技术,例如利用等价路由进行负载分担等;只有 IP 核心网络的边缘设备需要
进行 VXLAN 处理,网络中间设备只需根据 IP 头
1-1
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
1.2 VXLAN报文封装格式
图1-2 VXLAN 报文封装示意图
原始二层数据帧外层UDP头 VXLAN头外层IP头
标记位
RRRRIRRR
保留未用
VXLAN ID 保留未用
如图 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 地址。
• 自动方式:通过 ENDP(Enhanced Neighbor Discovery Protocol,增强的邻居发现协议)发
现远端 VTEP 后,自动在本端和远端 VTEP 之间建立 VXLAN 隧道。
2. 关联VXLAN隧道与VXLAN
VXLAN 隧道与 VXLAN 关联的方式有如下两种:
• 手工方式:手工将 VXLAN 隧道与 VXLAN 关联。
• 自动方式:VXLAN 扩展了 IS-IS 协议来发布 VXLAN ID 信息。VTEP 在所有 VXLAN 隧道上通
过 VXLAN IS-IS 将本地存在的 VXLAN 的 ID 通告给远端 VTEP。远端 VTEP 将其与本地的
1-3
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 隧道接口。
1-4
• 通过报文中的源MAC地址动态学习:VTEP从VXLAN隧道上接收到远端VTEP发送的VXLAN
报文后,根据 VXLAN ID 判断报文所属的 VXLAN,对报文进行解封装,还原二层数据帧,并
将数据帧中的源 MAC 地址(远端虚拟机的 MAC 地址)添加到所属 VXLAN 对应 VSI 的 MAC
地址表中,该 MAC 地址对应的接口为 VXLAN 隧道接口。
• 通过 IS-IS 协议学习:VXLAN 扩展了 IS-IS 协议来发布远端 MAC 地址信息。在 VTEP 上运行
VXLAN IS-IS 协议,通过 VXLAN 隧道将本地 MAC 地址及其所属的 VXLAN 信息通告给远端
VTEP。远端 VTEP 接收到该信息后,将其添加到所属 VXLAN 对应 VSI 的 MAC 地址表中,
该 MAC 地址对应的接口为接收该信息的 VXLAN 隧道接口。
静态配置的远端 MAC 地址表项优先级高于源 MAC 地址动态学习和通过 IS-IS 协议学习的表项。源
MAC 地址动态学习和通过 IS-IS 协议学习的表项优先级相同,后生成的表项可以覆盖已经存在的表
项。
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 VXLAN隧道工作模式
VXLAN 隧道支持如下两种工作模式:
• 三层转发模式:VTEP 设备通过查找 ARP 表项对流量进行转发。
• 二层转发模式:VTEP 通过查找 MAC 地址表项对流量进行转发。
本章主要介绍VXLAN工作在二层转发模式时的工作原理,当VXLAN隧道工作在三层转发模式时,
可以用作VXLAN IP网关,具体介绍请参见“5 VXLAN IP网关”。
1.3.6 转发单播流量
完成本地和远端 MAC 地址学习后,VTEP 在 VXLAN 内转发单播流量的过程如下所述。
1. 站点内流量
对于站点内流量,VTEP 判断出报文所属的 VSI 后,根据目的 MAC 地址查找该 VSI 的 MAC 地址表,
从相应的本地接口转发给目的 VM。
1-5
图1-4 站点内单播流量转发
如图 1-4所示,VM 1(MAC地址为MAC 1)发送以太网帧到VM 4(MAC地址为MAC 4)时,VTEP
1 从接口FortyGigE1/0/1 收到该以太网帧后,判断该数据帧属于VSI A(VXLAN 10),查找VSI A的
MAC地址表,得到MAC 4 的出接口为FortyGigE1/0/2,所在VLAN为VLAN 10,则将以太网帧从接
口FortyGigE1/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。
1-6
(2) VTEP 1 从接口 FortyGigE1/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 的出端口为
FortyGigE1/0/1,所在 VLAN 为 VLAN 20。
(6) VTEP 2 从接口 FortyGigE1/0/1 的 VLAN 20 内将数据帧发送给 VM 7。
1.3.7 转发泛洪流量
泛洪流量包括组播、广播和未知单播流量。根据复制方式的不同,流量泛洪方式分为单播路由方式
(头端复制)和组播路由方式(核心复制)两种。
1. 单播路由方式(头端复制)
在单播路由方式下,VTEP 负责复制报文,采用单播方式将复制后的报文通过本地接口发送给本地
站点,并通过 VXLAN 隧道发送给 VXLAN 内的所有远端 VTEP。
图1-6 单播路由方式转发示意图
如图 1-6所示,单播路由方式的泛洪流量转发过程为:
(1) VTEP 1接收到本地虚拟机发送的组播、广播和未知单播数据帧后,判断数据帧所属的 VXLAN,
通过该 VXLAN 内除接收接口外的所有本地接口和 VXLAN 隧道转发该数据帧。通过 VXLAN
1-7
隧道转发数据帧时,需要为其封装 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-8
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 请求进行泛洪。
1-9
1-10
(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配置任务简介
中的设备只需要配置路由协议,确保 VTEP 之间路由可达。VXLAN
表2-1 VXLAN 配置任
在 VXLAN 组网中,IP 核心网络
相关配置都在 VTEP 上进行。
务简介
配置任务 说明 详细配置
配置VXLAN隧道工作模式 必选 2.2
创建VSI和VXLAN 必选 2.3
创建VXLAN隧道 必选 2.4
关联VXLAN与VXLAN隧道 必选 2.5
配置AC与VSI关联 必选 2.6
管理本地和远端MAC地址 可选 2.7
配置VSI泛洪抑制 可选 2.9
配置VXLAN报文的目的UDP端口号 可选 2.10
配置VXLAN报文检查功能 可选 2.11
配置ARP泛洪抑制 可选 2.12
配置VXLAN流量统计 可选 2.13
2.2 配置VXLAN隧道工作模式
表2-2 配置 AN 隧道工作模式VXL
操作 命令 说明
进入系统视图 system-view -
配置VXLAN 道工作在二
层转发模式
undo vxlan ip-forwarding
缺省情况下, 隧道工作在三层转发
配置
转发模式。有关
VXLAN IP
隧 二者选其一
VXLAN
模式
当设备仅用作VTEP时,需要配置VXLAN
隧道工作在二层转发模式;当设备同时用
作VTEP和VXLAN IP网关时,需要
VXLAN隧道工作在三层
网关的详细介绍请参见
“5 VXLAN IP网关”
修改本配置 先删除设
配置VXLAN 道工作在三
层转发模式
vxlan ip-forwarding
前必须 备上的所有
VSI、VSI虚接口和VXLAN隧道,否则将配
置失败
隧
2-1
2.3 和VXLAN创建VSI
当 VXLAN 隧道工作在三层转发模式时,在 VSI 视图创建 VXLAN 前,需要先配置全局类型 VLAN
接口资源预留。每创建一个 VXLAN,需要预留一个全局类型 VLAN 接口资源,所预留 VLAN 接口
VXLAN 编号可以不同。关于全局类型 VLAN 接口资源预留的详细介绍,请参见“二层技术-
VLAN”。
编号与
以太网交换配置指导”中的“
表2-3 创建 VXLANVSI 和
操作 命令 说明
进入系统视图 -system-view
使能 功能 缺省情况下,L2VPN功能处于关闭状态L2VPN l2vpn enable
创建VSI,并进入VSI视图 缺省情况下,设备上不存在任何VSIvsi vsi-name
(可选)设置 的描述信息 缺省情况下,未配置VSI的描述信息VSI description text
开启当前的VSI undo shutdown 缺省情况下,VSI处于开启状态
创建VXLAN,并进入VXLAN
视图
vxlan vxlan-id 在一个VSI下只能创建一个VXLAN
不同VSI下创建的VXLAN,其VXLAN ID不能相同
缺省情况下,设备上不存在任何VXLAN
2.4
3
创建VXLAN隧道
用户可以手工创建VXLAN隧道,也可以通过ENDP发现远端VTEP后自动创建VXLAN隧道。ENDP
的详细介绍和配置方法,请参见“ ENDP”。
建 VTEP 的
表2-4 手工创建 XLAN 隧道
手工创 VXLAN 隧道时,隧道的源端地址和目的端地址需要分别手工指定为本地和远端
接口地址。
V
操作 命令 说明
进入系统视图 system-view -
创建模式为VXLAN隧道的
Tunnel接口,并进入Tunnel接
口视图
interface tunnel tunnel-number
mode vxlan 在隧道的两端应配置相同的隧道模
式,否则会造成报文传输失败
缺省情况下,设备上不存在任何
Tunnel接口
2-2
操作 命令 说明
配置隧道的源端地址或源接口
source { ipv4-address | interface-type
interface-number }
缺省情况下,没有设置VXLAN隧道的
源端地址和源接口
如果设置的是隧道的源端地址,则该
地址将作为封装后VXLAN报文的源
IP地址;如果设置的是隧道的源接
口,则该接口的主IP地址将作为封装
后VXLAN报文的源IP地址
采用VXLAN组播路由泛洪方式时,
VXLAN隧道的源接口不能是
Loopback接口、源端地址不能是
Loopback接口的地址
配置隧道的目的端地址 destination ipv4-address
缺省情况下,未指定隧道的目的端地
址
隧道的目的端地址是对端设备上接
口的IP地址,该地址将作为封装后
VXLAN报文的目的地址
(可选)开启隧道的BFD检测
功能
tunnel bfd enable
缺省情况下,隧道的BFD检测功能处
于关闭状态
2.5 关联VXLAN与VXLAN隧道
一个 VXLAN 可以关联多条 VXLAN 隧道。一条 VXLAN 隧道可以关联多个 VXLAN,这些 VXLAN
共用该VXLAN隧道,VTEP根据VXLAN报文中的VXLAN ID来识别隧道传递的报文所属的VXLAN。
VTEP 接收到某个 VXLAN 的泛洪流量后,如果采用单播路由泛洪方式,则 VTEP 将在与该 VXLAN
关联的所有 VXLAN 隧道上发送该流量,以便将流量转发给所有的远端 VTEP。
用户可以手工关联VXLAN与VXLAN隧道,也可以通过VXLAN IS-IS自动关联VXLAN与VXLAN隧道。
VXLAN IS-IS的详细介绍和配置方法,请参见“4 VXLAN IS-IS协议”。
表2-5 手工关联 VXLAN 与 VXLAN 隧道
操作 命令 说明
进入系统视图 system-view -
进入VSI视图 vsi vsi-name -
进入VXLAN视图 vxlan vxlan-id -
配置VXLAN与VXLAN隧道关联 tunnel tunnel-number
缺省情况下,VXLAN没有与任何
VXLAN隧道关联
VTEP必须与相同VXLAN内的其它
VTEP建立VXLAN隧道,并将该隧道
与VXLAN关联
2-3
2.6 配置AC与VSI关联
将以太网服务实例与 VSI 关联后,从该接口接收到的、符合以太网服务实例报文匹配规则的报文,
将通过查找关联 VSI 的 MAC 地址表进行转发。以太网服务实例提供了多种报文匹配规则(包括接
口接收到的所有报文、所有不携带 VLAN Tag 的报文等),为报文关联 VSI 提供了更加灵活的方式。
表2-6 配置以太网服务实例与 VSI 关联
操作 命令 说明
进入系统视图 system-view -
进入二层以
太网接口视
图或二层聚
合接口视图
进入二层以太网接口视
图
interface interface-type
interface-number
-
进入二层聚合接口视图
interface bridge-aggregation
interface-number
创建以太网服务实例,并进入以太网服
务实例视图
service-instance instance-id
缺省情况下,不存在任何以太网
服务实例
配置以太网
服务实例的
报文匹配规
则
匹配当前端口接收的所
有报文
encapsulation default
请用户选择其中一种匹配方式
进行配置
缺省情况下,未配置任何报文匹
配规则
本系列设备暂不支持匹配携带
任意VLAN标签的报文
以太网服务实例所匹配的
VLAN必须在设备上已经创建
并配置当前接口允许以太网服
务实例所匹配VLAN的报文通
过
匹配携带任意VLAN标
签或不携带VLAN标签
的报文
encapsulation { tagged |
untagged }
匹配携带指定外层
VLAN标签的报文
encapsulation s-vid vlan-id
[ only-tagged ]
匹配携带指定外层
VLAN标签和内层VLAN
标签的报文
encapsulation s-vid vlan-id c-vid
vlan-id
将以太网服务实例与VSI关联
xconnect vsi vsi-name
[ access-mode { ethernet | vlan } ]
缺省情况下,以太网服务实例没
有与VSI关联
• 在接口上创建以太网服务实例匹配当前接口接收的部分 VLAN 的报文后,以太网服务实例未匹
配的其它 VLAN 内的组播流量将无法正常转发,请注意避免在上述情况下使用组播业务。
• 接入层 VTEP 设备需要开启 ARP 泛洪抑制功能或同时用作分布式 VXLAN IP 网关时,需要在设
备上创建与以太网服务实例所匹配 VLAN 对应的 VLAN 虚接口,该 VLAN 虚接口可以不配置 IP
地址,但是需保证允许该 VLAN 通过的端口至少有一个处于 Up 状态。
2.7 管理本地和远端MAC地址
本地 MAC 地址只能动态学习,不能静态配置。在动态添加、删除本地 MAC 地址时,可以记录日志
信息。
2-4
远端MAC地址表项可以静态添加,也可以根据接收到的VXLAN报文内封装的源MAC地址自动学习,
或通过VXLAN IS-IS协议学习。通过VXLAN IS-IS协议学习的配置方法,请参见“4 VXLAN IS-IS协
议”。
2.7.1 配置本端MAC地址添加/删除的日志功能
执行本配置后,VXLAN 添加、删除本地 MAC 地址时,将产生日志信息。生成的日志信息将被发送
到设备的信息中心,通过设置信息中心的参数,决定日志信息的输出规则(即是否允许输出以及输
出方向)。
表2-7 配置本端 MAC 地址添加/删除的日志功能
操作 命令 说明
进入系统视图 system-view -
开启VXLAN本地MAC地址添
加/删除的日志功能
vxlan local-mac report
缺省情况下,VXLAN添加/删除本地
MAC地址时不会记录日志信息
2.7.2 添加静态远端MAC地址
表2-8 添加静态远端 MAC 地址
操作 命令 说明
进入系统视图 system-view -
添加静态远端MAC地址表项
mac-address static mac-address
interface tunnel tunnel-number vsi
vsi-name
缺省情况下,设备上不存在任何静态
的远端MAC地址表项
interface tunnel interface-number
参数指定的隧道接口必须与vsi
vsi-name参数指定的VSI对应的
VXLAN关联,且该VXLAN必须已经
创建,否则配置将失败
2.7.3 开启远端MAC地址自动学习功能
缺省情况下,设备可以自动学习远端 MAC 地址。如果网络中存在攻击,为了避免学习到错误的远
端 MAC 地址,也可以手工关闭远端 MAC 地址自动学习功能。
开启 VXLAN IS-IS 的 MAC 地址同步功能时,不能关闭远端 MAC 地址自动学习功能。
表2-9 开启远端 MAC 地址自动学习功能
操作 命令 说明
进入系统视图 system-view -
2-5
操作 命令 说明
开启远端MAC地址自动学习功
能
undo vxlan tunnel mac-learning
disable
缺省情况下,远端MAC地址自动学习
功能处于开启状态
2.8 配置VXLAN组播路由泛洪方式
配置 VXLAN 采用组播路由方式转发泛洪流量后,如果组播路由隧道 down 掉,即使还存在单播路
由隧道,泛洪流量也不会沿单播路由隧道转发。
配置 VXLAN 组播路由泛洪方式时,需要完成以下配置任务:
• 在 VTEP 和核心设备上启动三层组播路由功能。
• 在核心设备上配置 IGMP 和组播路由协议。
表2-10 配置 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隧道的源端地址
进入组播报文源IP地址所
在接口的接口视图
interface interface-type
interface-number
组播报文源IP地址是指通过group命令中的
source参数指定的地址
在接口上使能IGMP协议的
主机功能
igmp host enable
缺省情况下,接口上IGMP协议的主机功能处
于关闭状态
执行本命令后,当前接口将作为IGMP主机,
即从该接口收到IGMP查询报文后,通过该接
口发送组播组的报告报文,以便接收该组播组
的报文
只有通过multicast routing命令使能IP组播
路由后,本命令才会生效
2-6
2.9 配置VSI泛洪抑制
缺省情况下,VTEP 从本地站点内接收到目的 MAC 地址未知的单播数据帧后,会在该 VXLAN 内除
接收接口外的所有本地接口和 VXLAN 隧道上泛洪该数据帧,将该数据帧发送给 VXLAN 内的所有
站点。如果用户希望把该类数据帧限制在本地站点内,不通过 VXLAN 隧道将其转发到远端站点,
则可以通过本命令手工禁止 VXLAN 对应 VSI 的泛洪功能。
禁止泛洪功能后,为了将某些 MAC 地址的数据帧泛洪到远端站点以保证某些业务的流量在站点间
互通,可以配置选择性泛洪的 MAC 地址,当数据帧的目的 MAC 地址匹配该 MAC 地址时,该数据
帧可以泛洪到远端站点。
表2-11 配置 VSI 泛洪抑制
操作 命令 说明
进入系统视图 system-view -
进入VSI视图 vsi vsi-name -
关闭VSI的泛洪功能 flooding disable 缺省情况下,VSI泛洪功能处于开启状态
配置VSI选择性泛洪
的MAC地址
selective-flooding mac-addres
mac-address
缺省情况下,设备上不存在任何VSI选择
性泛洪MAC地址
如果用户只希望某些目的MAC地址的报
文可以泛洪到其它站点,可以先通过
flooding disable命令关闭泛洪功能,再
通过本命令配置选择性泛洪的MAC地址
2.10 配置VXLAN报文的目的UDP端口号
属于同一个 VXLAN 的 VTEP 设备上需要配置相同的 UDP 端口号。
表2-12 配置 VXLAN 报文的目的 UDP 端口号
操作 命令 说明
进入系统视图 system-view -
配置VXLAN报文的目的UDP端口号 vxlan udp-port port-number
缺省情况下,VXLAN报文的目的
UDP端口号为4789
2.11 配置VXLAN报文检查功能
通过本配置可以实现对接收到的 VXLAN 报文的 UDP 校验和、内层封装的以太网数据帧是否携带
VLAN tag 进行检查:
• UDP 校验和检查:VTEP 接收到 VXLAN 报文后,检查该报文的 UDP 校验和是否为 0。若 UDP
校验和为 0,则接收该报文;若 UDP 校验和不为 0,则检查 UDP 检验和是否正确,正确则接
收该报文;否则,丢弃该报文。
• VLAN Tag 检查:VTEP 接收到 VXLAN 报文并对其解封装后,若内层以太网数据帧带有 VLAN
tag,则丢弃该 VXLAN 报文。
2-7
需要注意的是:通过 xconnect vsi 命令的 access-mode 参数配置接入模式为 ethernet 时,VXLAN
报文可能携带 VLAN tag,在这种情况下建议不要执行 vxlan invalid-vlan-tag discard 命令,以免
错误地丢弃报文。
表2-13 配置 VXLAN 报文检查功能
操作 命令 说明
进入系统视图 system-view -
配置丢弃UDP校验和检查失败的
VXLAN报文
vxlan invalid-udp-checksum
discard
缺省情况下,不会检查VXLAN报
文的UDP校验和
配置丢弃内层数据帧含有VLAN tag
的VXLAN报文
vxlan invalid-vlan-tag discard
缺省情况下,不会检查VXLAN报
文内层封装的以太网数据帧是否
携带VLAN tag
2.12 配置ARP泛洪抑制
配置 ARP 泛洪抑制时需要注意:如果同时执行 flooding disable 命令关闭了 VSI 的泛洪功能,则
建议通过 mac-address timer 命令配置动态 MAC 地址的老化时间大于 25 分钟(ARP 泛洪抑制表
项的老化时间),以免 MAC 地址在 ARP 泛洪抑制表项老化之前老化,产生黑洞 MAC 地址。
采用组播路由(核心复制)方式转发泛洪流量时:
• 若需要使用 ARP 泛洪抑制功能,必须保证所有 VTEP 设备均开启 ARP 泛洪抑制功能;
• 当需要和其它厂商的 VTEP 设备互通时,不能使用 ARP 泛洪抑制功能。
表2-14 配置 ARP 泛洪抑制
操作 命令 说明
进入系统视图 system-view -
进入VSI视图 vsi vsi-name -
开启ARP泛洪抑制功能 arp suppression enable
缺省情况下,ARP泛洪抑制功能处
于关闭状态
2.13 配置VXLAN流量统计
表2-15 配置 VXLAN 流量统计
操作 命令 说明
进入系统视图 system-view -
2-8
操作 命令 说明
配置报文统计模式为vsi statistic mode vsi
缺省情况下,设备的报文统计模式
为vsi
有关本命令的详细介绍请参见“基
础配置命令参考”中的“设备管理”
进入VXLAN所在VSI视图 vsi vsi-name -
开启VSI的报文统计功能 statistics enable
缺省情况下,VSI的报文统计功能处
于关闭状态
可通过display l2vpn vsi verbose
命令查看VSI的报文统计结果
返回用户视图 return -
(可选)清除VSI的报文统
计信息
reset l2vpn statistics vsi [ name
vsi-name ]
-
2.14 VXLAN显示和维护
在完成上述配置后,在任意视图下执行 display 命令可以显示配置后 VXLAN 的运行情况,通过查
看显示信息验证配置的效果。
在用户视图下,用户可以执行 reset 命令来清除 VXLAN 的相关信息。
表2-16 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 ]
清除VSI的报文统计信息 reset l2vpn statistics vsi [ name vsi-name ]
2-9
2.15 VXLAN典型配置举例
2.15.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. 组网图
图2-1 VXLAN 头端复制组网图
3. 配置步骤
(1) 配置 IP 地址和单播路由协议
请按照图 2-1配置各接口的IP地址和子网掩码,并在IP核心网络内配置OSPF协议,具体配置过程略。
(2) 配置 Switch A
# 开启 L2VPN 能力。
<SwitchA> system-view
[SwitchA] l2vpn enable
# 配置 VXLAN 隧道工作在二层转发模式。
[SwitchA] undo vxlan ip-forwarding
# 创建 VSI 实例 vpna 和 VXLAN 10。
[SwitchA] vsi vpna
[SwitchA-vsi-vpna] vxlan 10
[SwitchA-vsi-vpna-vxlan10] quit
2-10
[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 A 和 Switch 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
# 配置 Tunnel1 和 Tunnel2 与 VXLAN 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
# 创建 VLAN2,将 FortyGigE1/0/1 端口加入 VLAN2。
[SwitchA] vlan 2
[SwitchA–vlan2] port fortygige 1/0/1
[SwitchA–vlan2] quit
# 在接入服务器的接口 FortyGigE1/0/1 上创建以太网服务实例 1000,该实例用来匹配 VLAN 2 的数
据帧。
[SwitchA] interface fortygige 1/0/1
[SwitchA-FortyGigE1/0/1] service-instance 1000
[SwitchA-FortyGigE1/0/1-srv1000] encapsulation s-vid 2
# 配置以太网服务实例 1000 与 VSI 实例 vpna 关联。
[SwitchA-FortyGigE1/0/1-srv1000] xconnect vsi vpna
[SwitchA-FortyGigE1/0/1-srv1000] quit
[SwitchA-FortyGigE1/0/1] quit
(3) 配置 Switch B
# 开启 L2VPN 能力。
<SwitchB> system-view
[SwitchB] l2vpn enable
# 配置 VXLAN 隧道工作在二层转发模式。
[SwitchB] undo vxlan ip-forwarding
# 创建 VSI 实例 vpna 和 VXLAN 10。
[SwitchB] vsi vpna
2-11
[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 B 和 Switch 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
# 配置 Tunnel2 和 Tunnel3 与 VXLAN10 关联。
[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
# 创建 VLAN2,将 FortyGigE1/0/1 端口加入 VLAN2。
[SwitchB] vlan 2
[SwitchB–vlan2] port fortygige 1/0/1
[SwitchB–vlan2] quit
# 在接入服务器的接口 FortyGigE1/0/1 上创建以太网服务实例 1000,该实例用来匹配 VLAN 2 的数
据帧。
[SwitchB] interface fortygige 1/0/1
[SwitchB-FortyGigE1/0/1] service-instance 1000
[SwitchB-FortyGigE1/0/1-srv1000] encapsulation s-vid 2
# 配置以太网服务实例 1000 与 VSI 实例 vpna 关联。
[SwitchB-FortyGigE1/0/1-srv1000] xconnect vsi vpna
[SwitchB-FortyGigE1/0/1-srv1000] quit
[SwitchB-FortyGigE1/0/1] quit
(4) 配置 Switch C
# 开启 L2VPN 能力。
<SwitchC> system-view
[SwitchC] l2vpn enable
# 配置 VXLAN 隧道工作在二层转发模式。
[SwitchC] undo vxlan ip-forwarding
# 创建 VSI 实例 vpna 和 VXLAN 10。
[SwitchC] vsi vpna
[SwitchC-vsi-vpna] vxlan 10
[SwitchC-vsi-vpna-vxlan10] quit
2-12
[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 B 和 Switch 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
# 配置 Tunnel1 和 Tunnel3 与 VXLAN 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
# 创建 VLAN2,将 FortyGigE1/0/1 端口加入 VLAN2。
[SwitchC] vlan 2
[SwitchC–vlan2] port fortygige 1/0/1
[SwitchC–vlan2] quit
# 在接入服务器的接口 FortyGigE1/0/1 上创建以太网服务实例 1000,该实例用来匹配 VLAN 2 的数
据帧。
[SwitchC] interface fortygige 1/0/1
[SwitchC-FortyGigE1/0/1] service-instance 1000
[SwitchC-FortyGigE1/0/1-srv1000] encapsulation s-vid 2
# 配置以太网服务实例 1000 与 VSI 实例 vpna 关联。
[SwitchC-FortyGigE1/0/1-srv1000] xconnect vsi vpna
[SwitchC-FortyGigE1/0/1-srv1000] quit
[SwitchC-FortyGigE1/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: 64 kbps
Maximum transmission unit: 64000
Internet protocol processing: Disabled
2-13
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
FGE1/0/1 srv1000 0 Up
# 查看 Switch A 上 VSI 的 MAC 地址表项信息,可以看到已学习到的 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 之间可以互访。
2.15.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-14
• 站点之间的泛洪流量采用核心复制的方式转发。
2. 组网图
图2-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 地址和单播路由协议
请按照图 2-2配置各接口的IP地址和子网掩码,并在IP核心网络内配置OSPF协议,具体配置过程略。
(2) 配置 Switch A
# 开启 L2VPN 能力。
<SwitchA> system-view
[SwitchA] l2vpn enable
# 配置 VXLAN 隧道工作在二层转发模式。
[SwitchA] undo vxlan ip-forwarding
# 使能 IP 组播路由。
[SwitchA] multicast routing
[SwitchA-mrib] quit
# 创建 VSI 实例 vpna 和 VXLAN 10。
[SwitchA] vsi vpna
[SwitchA-vsi-vpna] vxlan 10
[SwitchA-vsi-vpna-vxlan10] quit
2-15
[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 A 和 Switch 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
# 配置 Tunnel1 和 Tunnel2 与 VXLAN 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
# 创建 VLAN2,将 FortyGigE1/0/1 端口加入 VLAN2。
[SwitchA] vlan 2
[SwitchA–vlan2] port fortygige 1/0/1
[SwitchA–vlan2] quit
# 在接入服务器的接口 FortyGigE1/0/1 上创建以太网服务实例 1000,该实例用来匹配 VLAN 2 的数
据帧。
[SwitchA] interface fortygige 1/0/1
[SwitchA-FortyGigE1/0/1] service-instance 1000
[SwitchA-FortyGigE1/0/1-srv1000] encapsulation s-vid 2
# 配置以太网服务实例 1000 与 VSI 实例 vpna 关联。
[SwitchA-FortyGigE1/0/1-srv1000] xconnect vsi vpna
[SwitchA-FortyGigE1/0/1-srv1000] quit
[SwitchA-FortyGigE1/0/1] quit
(3) 配置 Switch B
# 开启 L2VPN 能力。
<SwitchB> system-view
[SwitchB] l2vpn enable
2-16
# 配置 VXLAN 隧道工作在二层转发模式。
[SwitchB] undo vxlan ip-forwarding
# 使能 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 B 和 Switch 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
# 配置 Tunnel2 和 Tunnel3 与 VXLAN10 关联。
[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
# 创建 VLAN2,将 FortyGigE1/0/1 端口加入 VLAN2。
[SwitchB] vlan 2
[SwitchB–vlan2] port fortygige 1/0/1
[SwitchB–vlan2] quit
# 在接入服务器的接口 FortyGigE1/0/1 上创建以太网服务实例 1000,该实例用来匹配 VLAN 2 的数
据帧。
[SwitchB] interface fortygige 1/0/1
[SwitchB-FortyGigE1/0/1] service-instance 1000
[SwitchB-FortyGigE1/0/1-srv1000] encapsulation s-vid 2
# 配置以太网服务实例 1000 与 VSI 实例 vpna 关联。
[SwitchB-FortyGigE1/0/1-srv1000] xconnect vsi vpna
2-17
[SwitchB-FortyGigE1/0/1-srv1000] quit
[SwitchB-FortyGigE1/0/1] quit
(4) 配置 Switch C
# 开启 L2VPN 能力。
<SwitchC> system-view
[SwitchC] l2vpn enable
# 配置 VXLAN 隧道工作在二层转发模式。
[SwitchC] undo vxlan ip-forwarding
# 使能 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 B 和 Switch 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
# 配置 Tunnel1 和 Tunnel3 与 VXLAN 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
# 创建 VLAN2,将 FortyGigE1/0/1 端口加入 VLAN2。
[SwitchC] vlan 2
[SwitchC–vlan2] port fortygige 1/0/1
[SwitchC–vlan2] quit
2-18
# 在接入服务器的接口 FortyGigE1/0/1 上创建以太网服务实例 1000,该实例用来匹配 VLAN 2 的数
据帧。
[SwitchC] interface fortygige 1/0/1
[SwitchC-FortyGigE1/0/1] service-instance 1000
[SwitchC-FortyGigE1/0/1-srv1000] encapsulation s-vid 2
# 配置以太网服务实例 1000 与 VSI 实例 vpna 关联。
[SwitchC-FortyGigE1/0/1-srv1000] xconnect vsi vpna
[SwitchC-FortyGigE1/0/1-srv1000] quit
[SwitchC-FortyGigE1/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
(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
[SwitchE-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
(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
2-19
[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
(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
[SwitchG-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
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: 64 kbps
Maximum transmission 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: -
2-20
2-21
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
MTunnel0 0x6000000 Up Auto
ACs:
AC Link ID State
FGE1/0/1 srv1000 0 Up
# 查看 Switch A 上 VSI 的 MAC 地址表项信息,可以看到已学习到的 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 之间可以互访。
3 ENDP
3.1 ENDP
居发现协议)用来
VTEP,并在各 VTEP 之间自动创建 VXLAN 隧道。
3.1.1
ENDP 实例通过 Network ID 来标识。只有属于同一个 ENDP 实例的
r,增强的邻居发现服务器):用来维护同一个
nt,增强的邻居发现客户端):通过 ENDS 完成
DC 的信息。ENDC 收到应答报文
NDC,与其他 ENDC 建立 VXLAN 隧道。
3.1.2
了 3 个定时器:探测定时器、注册定时器、老化定时器。
器以 5 秒的时间间隔定时向 ENDS 发送
NDS 应答报文后会停止探测定时器。
S 发送注册报文,该定时器的
的应答报文,则认为网络故障,此时需要
居信息,同时重新启用探测定时器。
到 ENDC 的注册报文,则认为 ENDC 出现故
VTEP 从 VXLAN 网络中删除。
3.1.3 认证功能
简介
在 VXLAN 网络中,ENDP(Enhanced Neighbor Discovery Protocol,增强的邻
自动发现 VXLAN 网络中的
ENDP基本运行机制
ENDP 可以划分为多个实例,
VTEP 之间可以互相发现。
ENDP 协议定义了如下两个角色:
• ENDS(Enhanced Neighbor Discovery Serve
ENDP 实例中的所有邻居信息(IP 地址等)。
• ENDC(Enhanced Neighbor Discovery Clie
邻居的学习,并与邻居建立 VXLAN 隧道。
ENDP 协议的基本工作原理为:ENDS 通过接收 ENDC 的注册请求报文来学习 ENDC 的信息,同
时通过注册应答报文向 ENDC 发布同一个 ENDP 实例中所有 EN
后,与同一个 ENDP 实例中的其他 ENDC 建立 VXLAN 隧道。
ENDS 同时也会作为一个 E
ENDP定时探测和老化
ENDP 协议中用到
• 探测定时器
ENDC 请求加入 VXLAN 网络时会启用探测定时器,该定时
注册报文,收到 E
• 注册定时器
ENDC 加入 VXLAN 网络后,为了通告自己工作正常,会定时向 END
默认时间间隔为 15 秒,用户可以根据实际需要来调整该时间间隔。
如果 ENDC 连续发送 5 个注册报文,都未能收到 ENDS
清除之前学到的邻
• 老化定时器
ENDC 向 ENDS 发送的注册报文中携带注册时间间隔,ENDS 会记录该时间间隔。ENDC 加入
VXLAN 网络后,如果 ENDS 在 5 倍的注册时间内未收
障,把 ENDC 对应的
ENDP
为了提高安全性,可以配置 ENDP 认证功能来防止恶意的节点注册到 VXLAN 网络。
3-1
使能 ENDP 认证功能后,发送 ENDP 报文的设备会使用配置的密码和 MD5 算法对报文进行摘要运
算,然后把运算结果放到报文的认证字段。对端设备收到 ENDP 报文后,如果该设备未配置认证功
能,则认为报文合法;如果设备配置了认证功能,则利用本端配置的密码和 MD5 算法对报文进行
然后比较运算结果与报文认证字段携带的信息是否一致,如果一致则认为报文合法,如
果不一致则认为报文非法。
摘要运算,
只有本端与对端设备上都没有配置 ENDP 认证功能,或者都配置了认证功能且认证密码相同,才能
在二者之间成功建立 VXLAN 隧道。
3.2
时,需要在 ENDS 和 ENDC 上创建 NVE 模式的 Tunnel 接口,指定隧道的源端地址为
口地址,并在该接口上使能 ENDS 或 ENDC 功能,以便在该接口上运行 ENDP 协
1. 配置ENDS
表3-1 配置 ENDS
配置ENDP
配置 ENDP
本端 VTEP 的接
议。
操作 命令 说明
进入系统视图 system-view -
创建模式为NVE隧道的T
Tunnel接口视图
unnel接
口,并进入
-number
接口
interface tunnel tunnel
mode nve
缺省情况下,设备上不存在任何Tunnel
配置隧道的Network ID network-id network-id 配置隧 work ID缺省情况下,没有 道的Net
配置隧道的源端地址或源接口
source { ipv4-address |
interface-type interface-number }
缺省情况下,没有设置VXLAN隧道的源
端地址和源接口
NVE隧道的源端地址作为本地ENDC的
地址注册到ENDS
如果设置的是隧道的源接口,则隧道的
源端地址为该接口的主IP地址
开启接口的ENDS功能
vxlan neighbor-discovery ENDS功能时,会同时开启该
S地址为该
server enable
缺省情况下,ENDS功能处于关闭状态
开启接口的
接口的ENDC功能(该ENDC对应的
END 接口的源地址)
(可选)开启ENDP认证功能
vxlan neighbor-discovery
authentication { cipher |
simple } password
缺省情况下,ENDP认证功能处于关闭状
态
3-2
2. 配置ENDC
表3-2 配置 ENDC
操作 命令 说明
进入系统视图 system-view -
创建模式为NVE隧道的Tunnel接
口,并进入Tunnel接口视图
interface tunnel tunnel-number
mode nve
缺省情况下,设备上不存在任何Tunnel
接口
配置隧道的Network ID network-id network-id 缺省情况下,没有配置隧道的Network ID
配置隧道的源端地址或源接口
source { ipv4-address |
interface-type interface-number } ENDS
如果设置的是隧道的源接口,则隧道的
缺省情况下,没有设置VXLAN隧道的源
端地址和源接口
NVE隧道的源端地址作为本地ENDC的
地址注册到
源端地址为该接口的主IP地址
开启接口的ENDC功能,并指定 vxlan neighbor-discovery
缺省情况下,ENDC功能处于关闭状态
ENDS的地址 client enable server-ip
(可选)开启ENDP认证功能
bor-discovery
authentication { cipher |
simple } password
缺省情况下,ENDP认证功能处于关闭状
态
vxlan neigh
配置ENDC向ENDS注册的时间
间隔
vxlan neighbor-discovery
client register-interval
time-value
缺省情况下,ENDC向ENDS注册的时间
间隔为15秒
3.3 ENDP显示和维护
在完成上述配置 任意视图下执行 display 命令可以显示配置 NDP 的运行情况,通过查看
显示信息验证配置的效果。
表3-3 显示和维护
后,在 后 E
ENDP
操作 命令
在ENDC上显示ENDC学到的邻居信息
display vxlan neighbor-discovery client member [ interface
nt-ip | servertunnel interface-number | local local-ip | remote clie
server-ip ]
在ENDC上显示ENDC的统计信息
cedisplay vxlan neighbor-discovery client statistics interfa
tunnel interface-number
在ENDC上显示ENDC的运行信息 display vxlan neighbor-discovery client summary
在ENDS上显示ENDS学到的成员信息
nterface
tunnel interface-number | local local-ip | remote client-ip ]
display vxlan neighbor-discovery server member [ i
在ENDS上显示ENDS的统计信息
display vxlan neighbor-discovery server statistics interface
tunnel interface-number
在ENDS上显示ENDS的运行信息 display vxlan neighbor-discovery server summary
3-3
3.4 ENDP典型配置举例
3.4.1 VXLAN邻居自动发现配置举例
1. 组网需求
Switch A、Switch B、Switch C 为与服务器连接的 VTEP 设备。VM 1 和 VM 5 属于 VXLAN 10000、
VLAN 2;VM 2 和 VM 6 属于 VXLAN 10001、VLAN 3;VM 3 和 VM 7 属于 VXLAN 10002、VLAN
4;VM 4 和 VM 8 属于 VXLAN 10003、VLAN 5。通过 VXLAN 实现不同站点间的二层互联,确保
虚拟机在站点之间进行迁移时用户的访问流量不会中断。
具体需求为:
• 不同 VTEP 之间自动建立 VXLAN 隧道。
• 通过 VXLAN IS-IS 发布 VXLAN ID,以自动关联 VXLAN 和 VXLAN 隧道。
• 通过 VXLAN IS-IS 发布本地 MAC 地址信息。
• 发送和接收 VXLAN IS-IS 报文的 VXLAN(预留 VXLAN)为 11111。
• 站点之间的泛洪流量采用头端复制的方式转发。
2. 组网图
图3-1 VXLAN 邻居自动发现组网图
3. 配置步骤
(1) 配置 IP 地址和单播路由协议
请按照图 3-1配置各接口的IP地址和子网掩码,并在IP核心网络内配置OSPF协议,具体配置过程略。
(2) 配置 Switch A
# 开启 L2VPN 能力。
<SwitchA> system-view
[SwitchA] l2vpn enable
# 配置 VXLAN 隧道工作在二层转发模式。
[SwitchA] undo vxlan ip-forwarding
3-4
# 配置预留 VXLAN 为 VXLAN 11111。
[SwitchA] reserved vxlan 11111
# 创建 VSI 实例 vpna 和 VXLAN 10000。
[SwitchA] vsi vpna
[SwitchA-vsi-vpna] vxlan 10000
[SwitchA-vsi-vpna-vxlan10000] quit
[SwitchA-vsi-vpna] quit
# 创建 VSI 实例 vpnb 和 VXLAN 10001。
[SwitchA] vsi vpnb
[SwitchA-vsi-vpnb] vxlan 10001
[SwitchA-vsi-vpnb-vxlan10001] quit
[SwitchA-vsi-vpnb] quit
# 创建 VSI 实例 vpnc 和 VXLAN 10002。
[SwitchA] vsi vpnc
[SwitchA-vsi-vpnc] vxlan 10002
[SwitchA-vsi-vpnc-vxlan10002] quit
[SwitchA-vsi-vpnc] quit
# 创建 VSI 实例 vpnd 和 VXLAN 10003。
[SwitchA] vsi vpnd
[SwitchA-vsi-vpnd] vxlan 10003
[SwitchA-vsi-vpnd-vxlan10003] quit
[SwitchA-vsi-vpnd] quit
# 配置接口 Loopback0 的 IP 地址,作为隧道的源端地址。
[SwitchA] interface loopback0
[SwitchA-Loopback0] ip address 1.1.1.1 255.255.255.255
[SwitchA-Loopback0] quit
# 创建模式为 NVE 的隧道接口 Tunnel0,指定源端地址为 1.1.1.1,Network ID 为 1,并开启 ENDS
功能。
[SwitchA] interface tunnel 0 mode nve
[SwitchA-Tunnel0] source 1.1.1.1
[SwitchA-Tunnel0] network-id 1
[SwitchA-Tunnel0] vxlan neighbor-discovery server enable
[SwitchA-Tunnel0] quit
# 创建 VLAN 2~VLAN 5,配置端口 FortyGigE1/0/1 允许 VLAN 2~VLAN 5 的报文通过。
[SwitchA] vlan 2 to 5
[SwitchA] interface fortygige 1/0/1
[SwitchA-FortyGigE1/0/1] port link-type trunk
[SwitchA-FortyGigE1/0/1] port trunk permit vlan 2 to 5
# 在接入服务器的接口 FortyGigE1/0/1 上创建以太网服务实例 1000,该实例用来匹配 VLAN 2 的数
据帧,并将其与 VSI 实例 vpna 关联。
[SwitchA-FortyGigE1/0/1] service-instance 1000
[SwitchA-FortyGigE1/0/1-srv1000] encapsulation s-vid 2
[SwitchA-FortyGigE1/0/1-srv1000] xconnect vsi vpna
[SwitchA-FortyGigE1/0/1-srv1000] quit
3-5
# 在接口 FortyGigE1/0/1 上创建以太网服务实例 2000,该实例用来匹配 VLAN 3 的数据帧,并将其
与 VSI 实例 vpnb 关联。
[SwitchA-FortyGigE1/0/1] service-instance 2000
[SwitchA-FortyGigE1/0/1-srv2000] encapsulation s-vid 3
[SwitchA-FortyGigE1/0/1-srv2000] xconnect vsi vpnb
[SwitchA-FortyGigE1/0/1-srv2000] quit
# 在接口 FortyGigE1/0/1 上创建以太网服务实例 3000,该实例用来匹配 VLAN 4 的数据帧,并将其
与 VSI 实例 vpnc 关联。
[SwitchA-FortyGigE1/0/1] service-instance 3000
[SwitchA-FortyGigE1/0/1-srv3000] encapsulation s-vid 4
[SwitchA-FortyGigE1/0/1-srv3000] xconnect vsi vpnc
[SwitchA-FortyGigE1/0/1-srv3000] quit
# 在接口 FortyGigE1/0/1 上创建以太网服务实例 4000,该实例用来匹配 VLAN 5 的数据帧,并将其
与 VSI 实例 vpnd 关联。
[SwitchA-FortyGigE1/0/1] service-instance 4000
[SwitchA-FortyGigE1/0/1-srv4000] encapsulation s-vid 5
[SwitchA-FortyGigE1/0/1-srv4000] xconnect vsi vpnd
[SwitchA-FortyGigE1/0/1-srv4000] quit
[SwitchA-FortyGigE1/0/1] quit
# 启动 VXLAN IS-IS 进程,开启 VXLAN IS-IS 的 VXLAN 隧道自动协商和 MAC 地址同步功能。
[SwitchA] vxlan-isis
[SwitchA-vxlan-isis] negotiate-vni enable
[SwitchA-vxlan-isis] mac-synchronization enable
[SwitchA-vxlan-isis] quit
(3) 配置 Switch B
# 开启 L2VPN 能力。
<SwitchB> system-view
[SwitchB] l2vpn enable
# 配置 VXLAN 隧道工作在二层转发模式。
[SwitchB] undo vxlan ip-forwarding
# 配置预留 VXLAN 为 VXLAN 11111。
[SwitchB] reserved vxlan 11111
# 创建 VSI 实例 vpna 和 VXLAN 10000。
[SwitchB] vsi vpna
[SwitchB-vsi-vpna] vxlan 10000
[SwitchB-vsi-vpna-vxlan10000] quit
[SwitchB-vsi-vpna] quit
# 创建 VSI 实例 vpnb 和 VXLAN 10001。
[SwitchB] vsi vpnb
[SwitchB-vsi-vpnb] vxlan 10001
[SwitchB-vsi-vpnb-vxlan10001] quit
[SwitchB-vsi-vpna] quit
# 配置接口 Loopback0 的 IP 地址,作为隧道的源端地址。
[SwitchB] interface loopback0
[SwitchB-Loopback0] ip address 2.2.2.2 255.255.255.255
3-6
[SwitchB-Loopback0] quit
# 创建模式为 NVE 的隧道接口 Tunnel0,指定源端地址为 2.2.2.2,Network ID 为 1,并开启 ENDC
功能,指定 ENDS 为 1.1.1.1。
[SwitchB] interface tunnel 0 mode nve
[SwitchB-Tunnel0] source 2.2.2.2
[SwitchB-Tunnel0] network-id 1
[SwitchB-Tunnel0] vxlan neighbor-discovery client enable 1.1.1.1
[SwitchB-Tunnel0] quit
# 创建 VLAN 2~VLAN 3,配置端口 FortyGigE1/0/1 允许 VLAN 2~VLAN 3 的报文通过。
[SwitchB] vlan 2 to 3
[SwitchB] interface fortygige 1/0/1
[SwitchB-FortyGigE1/0/1] port link-type trunk
[SwitchB-FortyGigE1/0/1] port trunk permit vlan 2 to 3
# 在接入服务器的接口 FortyGigE1/0/1 上创建以太网服务实例 1000,该实例用来匹配 VLAN 2 的数
据帧,并将其与 VSI 实例 vpna 关联。
[SwitchB-FortyGigE1/0/1] service-instance 1000
[SwitchB-FortyGigE1/0/1-srv1000] encapsulation s-vid 2
[SwitchB-FortyGigE1/0/1-srv1000] xconnect vsi vpna
[SwitchB-FortyGigE1/0/1-srv1000] quit
# 在接口 FortyGigE1/0/1 上创建以太网服务实例 2000,该实例用来匹配 VLAN 3 的数据帧,并将其
与 VSI 实例 vpnb 关联。
[SwitchB-FortyGigE1/0/1] service-instance 2000
[SwitchB-FortyGigE1/0/1-srv2000] encapsulation s-vid 3
[SwitchB-FortyGigE1/0/1-srv2000] xconnect vsi vpnb
[SwitchB-FortyGigE1/0/1-srv2000] quit
[SwitchB-FortyGigE1/0/1] quit
# 启动 VXLAN IS-IS 进程,开启 VXLAN IS-IS 的 VXLAN 隧道自动协商和 MAC 地址同步功能。
[SwitchB] vxlan-isis
[SwitchB-vxlan-isis] negotiate-vni enable
[SwitchB-vxlan-isis] mac-synchronization enable
[SwitchB-vxlan-isis] quit
(4) 配置 Switch C
# 开启 L2VPN 能力。
<SwitchC> system-view
[SwitchC] l2vpn enable
# 配置 VXLAN 隧道工作在二层转发模式。
[SwitchC] undo vxlan ip-forwarding
# 配置预留 VXLAN 为 VXLAN 11111。
[SwitchC] reserved vxlan 11111
# 创建 VSI 实例 vpna 和 VXLAN 10002。
[SwitchC] vsi vpna
[SwitchC-vsi-vpna] vxlan 10002
[SwitchC-vsi-vpna-vxlan10002] quit
[SwitchC-vsi-vpna] quit
# 创建 VSI 实例 vpnb 和 VXLAN 10003。
3-7
[SwitchC] vsi vpnb
[SwitchC-vsi-vpnb] vxlan 10003
[SwitchC-vsi-vpnb-vxlan10003] quit
[SwitchC-vsi-vpnb] quit
# 配置接口 Loopback0 的 IP 地址,作为隧道的源端地址。
[SwitchC] interface loopback0
[SwitchC-Loopback0] ip address 3.3.3.3 255.255.255.255
[SwitchC-Loopback0] quit
# 创建模式为 NVE 的隧道接口 Tunnel0,指定源端地址为 3.3.3.3,Network ID 为 1,并开启 ENDC
功能,指定 ENDS 为 1.1.1.1。
[SwitchC] interface tunnel 0 mode nve
[SwitchC-Tunnel0] source 3.3.3.3
[SwitchC-Tunnel0] network-id 1
[SwitchC-Tunnel0] vxlan neighbor-discovery client enable 1.1.1.1
[SwitchC-Tunnel0] quit
# 创建 VLAN 4~VLAN 5,配置端口 FortyGigE1/0/1 允许 VLAN 4~VLAN 5 的报文通过。
[SwitchC] vlan 4 to 5
[SwitchC] interface fortygige 1/0/1
[SwitchC-FortyGigE1/0/1] port link-type trunk
[SwitchC-FortyGigE1/0/1] port trunk permit vlan 4 to 5
# 在接入服务器的接口 FortyGigE1/0/1 上创建以太网服务实例 1000,该实例用来匹配 VLAN 4 的数
据帧,并将其与 VSI 实例 vpna 关联。
[SwitchC-FortyGigE1/0/1] service-instance 1000
[SwitchC-FortyGigE1/0/1-srv1000] encapsulation s-vid 4
[SwitchC-FortyGigE1/0/1-srv1000] xconnect vsi vpna
[SwitchC-FortyGigE1/0/1-srv1000] quit
# 在接口 FortyGigE1/0/1 上创建以太网服务实例 2000,该实例用来匹配 VLAN 5 的数据帧,并将其
与 VSI 实例 vpnb 关联。
[SwitchC-FortyGigE1/0/1] service-instance 2000
[SwitchC-FortyGigE1/0/1-srv2000] encapsulation s-vid 5
[SwitchC-FortyGigE1/0/1-srv2000] xconnect vsi vpnb
[SwitchC-FortyGigE1/0/1-srv2000] quit
[SwitchC-FortyGigE1/0/1] quit
# 启动 VXLAN IS-IS 进程,开启 VXLAN IS-IS 的 VXLAN 隧道自动协商和 MAC 地址同步功能。
[SwitchC] vxlan-isis
[SwitchC-vxlan-isis] negotiate-vni enable
[SwitchC-vxlan-isis] mac-synchronization enable
[SwitchC-vxlan-isis] quit
4. 验证配置
(1) 验证 VTEP 设备(下文以 Switch A 为例,其它设备验证方法与此类似)
# 查看 Switch A 上的 ENDS 信息,可以看到邻居个数和详细信息。
[SwitchA] display vxlan neighbor-discovery server summary
Interface Local Address Network ID Auth Members
Tunnel0 1.1.1.1 1 enabled 3
[SwitchA] display vxlan neighbor-discovery server member
3-8
Interface: Tunnel0 Network ID: 1
IP Address: 1.1.1.1
Client Address System ID Expire Created Time
2.2.2.2 000F-0001-0001 25 2011/01/01 00:00:43
3.3.3.3 000F-0001-0002 24 2011/01/01 01:00:46
# 查看 Switch A 上的 ENDC 信息,可以看到邻居状态为 Up。
[SwitchA] display vxlan neighbor-discovery client member
Interface: Tunnel0 Network ID: 1
Local Address: 1.1.1.1
Server Address: 1.1.1.1
Neighbor System ID Created Time Expire Status
2.2.2.2 000F-0001-0001 2014/01/01 12:12:12 13 Up
3.3.3.3 000F-0001-0002 2014/01/01 12:12:12 12 Up
# 查看 Switch A 上的 Tunnel 接口信息,可以看到 NVE 和 VXLAN 模式的 Tunnel 接口处于 up 状态。
[SwitchA] display interface tunnel
Tunnel 0
Current state: UP
Line protocol state: UP
Description: Tunnel0 Interface
Bandwidth: 64 kbps
Maximum transmission unit: 64000
Internet protocol processing: Disabled
Tunnel source 1.1.1.1
Network ID 1
Tunnel protocol/transport NVE/IP
Last clearing of counters: Never
Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Input: 0 packets, 0 bytes, 0 drops
Output: 0 packets, 0 bytes, 0 drops
Tunnel 1
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
Tunnel 2
Current state: UP
Line protocol state: UP
Description: Tunnel2 Interface
Bandwidth: 64 kbps
Maximum transmission unit: 64000
3-9
Internet protocol processing: Disabled
Last clearing of counters: Never
Tunnel source 1.1.1.1, destination 3.3.3.3
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 : 10000
Tunnels:
Tunnel Name Link ID State Type
Tunnel1 0x5000001 UP Auto
ACs:
AC Link ID State
FGE1/0/1 srv1000 0 Up
VSI Name: vpnb
VSI Index : 1
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 : 10001
Tunnels:
Tunnel Name Link ID State Type
Tunnel1 0x5000001 UP Auto
ACs:
AC Link ID State
FGE1/0/1 srv2000 0 Up
VSI Name: vpnc
VSI Index : 2
VSI State : Up
3-10
MTU : 1500
Bandwidth : -
Broadcast Restrain : -
Multicast Restrain : -
Unknown Unicast Restrain: -
MAC Learning : Enabled
MAC Table Limit : -
Drop Unknown : -
Flooding : Enabled
VXLAN ID : 10002
Tunnels:
Tunnel Name Link ID State Type
Tunnel2 0x5000002 UP Auto
ACs:
AC Link ID State
FGE1/0/1 srv3000 0 Up
VSI Name: vpnd
VSI Index : 3
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 : 10003
Tunnels:
Tunnel Name Link ID State Type
Tunnel2 0x5000002 UP Auto
ACs:
AC Link ID State
FGE1/0/1 srv4000 0 Up
# 查看 Switch A 上 VSI 的 MAC 地址表项信息,可以看到已学习到的 MAC 地址信息。
[SwitchA] display l2vpn mac-address
MAC Address State VSI Name Link ID/Name Aging
cc3e-5f9c-6cdb static vpna Tunnel1 Aging
cc3e-5f9c-23dc static vpnc Tunnel2 Aging
--- 1 mac address(es) found ---
# 查看 Switch A 上邻居状态信息,可以看到已经和 Switch B、Switch C 建立邻居。
[SwitchA] display vxlan isis peer
System ID: 4431.9234.2602
Link interface: Tunnel1
Circuit ID: 4431.9234.2602.0001
State: Up
Hold time: 8s
3-11
Neighbour DED priority: 64
Uptime: 47:48:34
System ID: 4431.9234.1f68
Link interface: Tunnel2
Circuit ID: 4431.9234.1f68.0000
State: Up
Hold time: 27s
Neighbour DED priority: 64
Uptime: 47:50:30
# 查看 Switch A 上链路状态信息,可以看到链路状态正常。
[SwitchA] display vxlan isis lsdb
Link state database information for VXLAN ISIS (Tunnel 1)
LSP ID Seq num Checksum Holdtime Length Overload
-----------------------------------------------------------------------------
4431.9234.1f68.0000-00 0x000000c2 0xdc02 656 59 0
4431.9234.2602.0000-00* 0x000000c3 0xd136 326 70 0
4431.9234.2602.0001-00* 0x000000c1 0x73ca 658 57 0
Link state database information for VXLAN ISIS (Tunnel 2)
LSP ID Seq num Checksum Holdtime Length Overload
-----------------------------------------------------------------------------
4431.9234.1f68.0000-00 0x000000c2 0xdc02 656 59 0
4431.9234.2613.0000-00* 0x000000c3 0xd136 326 70 0
4431.9234.2613.0002-00* 0x000000c1 0x73ca 658 57 0
Flags: *-Self LSP, +-Self LSP(Extended)
# 查看 Switch A 上 VXLAN IS-IS 的 MAC 地址表项信息,可以看到已学习到的 MAC 地址信息。
[SwitchA] display vxlan isis remote-mac
MAC Flags: D-MAC conflict with local dynamic MAC.
F-MAC has been issued to the remote MAC address table.
S-MAC conflict with local static or selective-flooding MAC.
A-Tunnel interface can forward traffic to the MAC.
VXLAN ID: 10000
MAC address: cc3e-5f9c-6cdb
Interface: Tunnel1
Flags: AF
VXLAN ID: 10002
MAC address: cc3e-5f9c-23dc
Interface: Tunnel2
Flags: AF
# 查看 Switch A 上 VXLAN IS-IS 的远端 VXLAN 信息,可以看到已学习到的 VXLAN 信息。
[SwitchA] display vxlan isis remote-vxlan
VXLAN Flags: S-VXLAN supported at the local end
F-Association between VXLAN and Tunnels has been flushed to L2VPN
VXLAN ID: 10000
Flags: FS
3-12
3-13
Tunnel: 1
VXLAN ID: 10001
Flags: FS
Tunnel: 1
VXLAN ID: 10002
Flags: FS
Tunnel: 2
VXLAN ID: 10003
Flags: FS
Tunnel: 2
(2) 验证主机
VM 1 和 VM 5、VM 2 和 VM 6、VM 3 和 VM 7、VM 4 和 VM 8 可以互访,其他 VM 之间不能互访。
4 VXLAN IS-IS协议
地址同步两个功能。VXLAN
N 数据业务的转发。
4.1 VXLAN IS-IS协议配置任务简介
表4-1 VXLAN IS-IS 配 介
VXLAN IS-IS协议主要有自动关联VXLAN隧道和VXLAN、VXLAN MAC
IS-IS 可以用来简化配置,并能更好地控制 VXLA
置任务简
配置任务 说明 详细配置
为VXLAN IS-IS指定预留VXLAN 必选 4.2
自动关联VXLAN与VXLAN隧道 必选 4.3
配置通过VXLAN IS-IS同步MAC地址 必选 4.4
调整和优化VXLAN IS-IS 可选 4.5
4.2 为VXLAN IS-IS指定预留VXLAN
表4-2 为 VXLAN IS-IS 指定预留 VXLAN
操作 命令 说明
进入系统视图 system-view -
配置IS-IS协议使用的保留
VXLAN
reserved vxlan vxlan-id
IS-IS协议使用的保留
VXLAN
缺省情况下,没有指定
4.3 自动关联VXLAN与VXLAN隧道
VXLAN 隧道上通过 VXLAN IS-IS 发布 VXLAN ID 信息,以便将
表4-3 自动关 XLAN 与 VXLAN 隧道
执行本配置后,VTEP 将在所有
VXLAN 与 VXLAN 隧道关联。
联 V
操作 命令 说明
进入系统视图 system-view -
创建VXLAN IS-IS进程,并进入
VXLAN IS-IS视图
vxlan-isis 缺省情况下,未创建VXLAN IS-IS进程
开启VXLAN IS-IS的VXLAN自动
协商功能
negotiate-vni enable
缺省情况下, 不会在VTEP
之间交互VXLAN ID
VXLAN IS-IS
4-1
4.4 配置通过VXLAN IS-IS同步MAC地址
执行本配置后,VTEP可以通过VXLAN IS-IS协议发布本地的MAC地址信息,并能够接收其他VTEP
发布的远端 MAC 地址信息。
开启 VXLAN IS-IS 的 MAC 地址同步功能时,不能关闭远端 MAC 地址自动学习功能。
表4-4 配置通过 VXLAN IS-IS 同步 MAC 地址
操作 命令 说明
进入系统视图 system-view -
创建VXLAN IS-IS进程,并进
入VXLAN IS-IS视图
vxlan-isis 缺省情况下,未创建VXLAN IS-IS进程
开启VXLAN IS-IS的MAC地
址同步功能
mac-synchronization enable
缺省情况下,VXLAN IS-IS不会在
VTEP之间同步MAC地址信息
4.5 调整和优化VXLAN IS-IS
VXLAN 模式和 NVE 模式的 Tunnel 接口下均可以配置 VXLAN IS-IS 参数。
• 在 VXLAN 模式 Tunnel 接口下配置 VXLAN IS-IS 参数后,该 VXLAN 隧道将根据配置的参数
发送 VXLAN IS-IS 报文。
• 通过 NVE 模式 Tunnel 接口自动发现远端 VTEP 并建立 VXLAN 隧道后,自动建立的 VXLAN
隧道将采用 NVE 模式 Tunnel 接口下配置的 VXLAN IS-IS 参数。
4.5.1 配置VXLAN IS-IS Hello报文的发送
当前 VTEP 可以将邻接关系保持时间(即 VXLAN IS-IS Hello 报文失效数目与 VXLAN IS-IS Hello
报文发送时间间隔的乘积)通过 VXLAN IS-IS Hello 报文通知远端 VTEP。如果远端 VTEP 在邻接
关系保持时间内没有收到来自当前 VTEP 的 VXLAN IS-IS Hello 报文,将宣告邻接关系失效。通过
设置 VXLAN IS-IS Hello 报文失效数目和 VXLAN IS-IS Hello 报文的发送时间间隔,可以调整邻接
关系保持时间。
需要注意的是:
• 邻接关系保持时间最大不能超过 65535 秒,超过 65535 秒时,算作 65535 秒。
• DED 发送 VXLAN IS-IS Hello 报文的时间间隔是 overlay isis timer hello 命令设置的时间间
隔的 1/3。
表4-5 配置 VXLAN IS-IS Hello 报文的发送
操作 命令 说明
进入系统视图 system-view -
4-2
操作 命令 说明
进入模式为NVE或VXLAN隧道
的Tunnel接口视图
interface tunnel tunnel-number
[ mode { nve | vxlan } ]
-
配置VXLAN IS-IS Hello报文的
发送时间间隔
overlay isis timer hello seconds
缺省情况下,VXLAN IS-IS Hello报文
的发送时间间隔为10秒
配置VXLAN IS-IS Hello报文失
效数目
overlay isis timer
holding-multiplier value
缺省情况下,VXLAN IS-IS Hello报文
失效数目为3
4.5.2 配置DED的优先级和CSNP报文发送时间间隔
每个 VXLAN隧道两端的 VTEP 设备通过交互 VXLAN IS-IS Hello报文选举出一个 DED(Designated
Edge Device,指定边缘设备)。选举出的 DED 周期性发布 CSNP 报文来进行 LSDB 同步。
DED 优先级数值越高,被选中的可能性就越大;如果两台设备的 DED 优先级相同,则 MAC 地址
较大的设备会被选中。
表4-6 配置 DED 的优先级和 CSNP 报文发送时间间隔
表4-7 操作 命令 说明
进入系统视图 system-view -
进入模式为NVE或VXLAN隧道
的Tunnel接口视图
interface tunnel tunnel-number
[ mode { nve | vxlan } ]
-
配置Tunnel接口的DED优先级 overlay isis ded-priority value
缺省情况下,Tunnel接口的DED优先
级为64
配置DED发送CSNP报文的时
间间隔
overlay isis timer csnp seconds
缺省情况下,DED发送CSNP报文的
时间间隔为10秒
只有在被选举为DED的设备上进行
本配置才有效
4.5.3 配置LSP相关参数
1. 配置LSP发送时间间隔
当 LSDB 的内容发生变化时,VXLAN IS-IS 将把发生变化的 LSP 扩散出去。用户可以对 LSP 的最
小发送时间间隔以及一次可以最多发送的 LSP 的数目进行调节。
表4-8 配置 LSP 发送时间间隔
操作 命令 说明
进入系统视图 system-view -
进入模式为NVE或VXLAN隧道的
Tunnel接口视图
interface tunnel
tunnel-number [ mode { nve |
vxlan } ]
-
4-3
操作 命令 说明
配置接口发送LSP的最小时间间隔以及
一次最多可以发送的LSP数目
overlay isis timer lsp time
[ count count ]
缺省情况下,发送LSP的最小时间
间隔为100毫秒,一次最多可以发
送的LSP数目为5
2. 配置LSP最大生存时间
每个 LSP 都有一个最大生存时间,随着时间的推移 LSP 的生存时间将逐渐减小,当 LSP 的生存时
间为 0 时,VXLAN IS-IS 将清除该 LSP。用户可根据网络的实际情况调整 LSP 的最大生存时间。
表4-9 配置 LSP 最大生存时间
操作 命令 说明
进入系统视图 system-view -
进入VXLAN IS-IS视图 vxlan-isis -
配置当前VTEP生成的LSP在
LSDB里的最大生存时间
timer lsp-max-age seconds
缺省情况下,当前VTEP生成的LSP在
LSDB里的最大生存时间为1200秒
3. 配置LSP刷新周期
LSP 刷新周期必须小于 LSP 最大生存时间,以保证在 LSP 失效前进行刷新。
表4-10 配置 LSP 刷新周期
操作 命令 说明
进入系统视图 system-view -
进入VXLAN IS-IS视图 vxlan-isis -
配置LSP刷新周期 timer lsp-refresh seconds 缺省情况下,LSP刷新周期为900秒
4.5.4 配置邻接状态变化的输出开关
打开邻接状态变化的输出开关后,VXLAN IS-IS 邻接状态变化时会生成日志信息发送到设备的信息
中心,通过设置信息中心的参数,最终决定日志信息的输出规则(即是否允许输出以及输出方向)。
有关信息中心参数的配置请参见“网络管理和监控配置指导”中的“信息中心”。
表4-11 配置邻接状态变化的输出开关
操作 命令 说明
进入系统视图 system-view -
进入VXLAN IS-IS视图 vxlan-isis -
打开邻接状态变化的输出开关 log-peer-change enable
缺省情况下,邻接状态变化的输出开关
处于打开状态
4-4
4.5.5 配置VXLAN IS-IS GR
GR(Graceful Restart,平滑重启)是一种在协议重启或主备倒换时保证转发业务不中断的机制。
需要协议重启或主备倒换的设备将重启状态通知给邻居,允许邻居重新建立邻接关系而不终止连接。
GR 有两个角色:
• GR Restarter:发生协议重启或主备倒换事件且具有 GR 能力的设备。
• GR Helper:和 GR Restarter 具有邻居关系,协助完成 GR 流程的设备。
对于 VXLAN IS-IS 的 GR,需要在 VTEP 间交互 GR 相关的 VXLAN IS-IS 报文:带有 Restart TLV
的 Hello 报文、CSNP 报文和 LSP 报文。
使能 VXLAN IS-IS 的 GR 能力后,邻居间的邻接关系保持时间将取以下二者间的较大值:VXLAN
IS-IS Hello 报文失效数目与 VXLAN IS-IS Hello 报文发送时间间隔的乘积(如果是 DED,该乘积还
要除以 3)、GR 重启间隔时间。
分别在作为 GR Restarter 和 GR Helper 的设备上进行以下配置。
表4-12 配置 VXLAN IS-IS GR
操作 命令 说明
进入系统视图 system-view -
进入VXLAN IS-IS视图 vxlan-isis -
使能VXLAN IS-IS的GR能力 graceful-restart
缺省情况下,VXLAN IS-IS的GR能力处于关闭
状态
配置VXLAN IS-IS协议的GR
重启间隔时间
graceful-restart interval
interval-value
缺省情况下,VXLAN IS-IS协议的GR重启间隔
时间为300秒
4.5.6 配置VXLAN IS-IS虚拟系统
通过 VXLAN IS-IS 发布本地 MAC 地址信息时,一个 LSP 报文中携带了本地所有的 MAC 地址信息。
如果 LSP 报文的长度超过 1400 字节,LSP 报文需要分片后发送。这些 LSP 分片构成一个 LSP 分
片集,每个 LSP 分片集最多有 256 个 LSP 分片,所能携带的最大 MAC 地址数为 55×210
。当本地
MAC 地址数超过 55×210
时,可以创建 VXLAN IS-IS 虚拟系统来扩展 LSP 的分片数量,以增加系
统所能发布的 MAC 地址数量。
系统(包括原始系统和虚拟系统)通过系统 ID 来标识。原始系统的系统 ID 采用设备的桥 MAC 地
址。每个系统所能发布的最大 MAC 地址数量均为 55×210
。如果创建了 N 个虚拟系统,则能发布
的最大 MAC 地址数量为(N+1)×55×210
。用户可以根据本地 MAC 地址表的规模,来决定创建
的虚拟系统的个数。
创建虚拟系统时,用户需要保证所配置的虚拟系统的系统 ID 在网络中是唯一的。
4-5
表4-13 配置 VXLAN IS-IS 虚拟系统
操作 命令 说明
进入系统视图 system-view -
进入VXLAN IS-IS视图 vxlan-isis -
创建一个VXLAN IS-IS虚拟系统 virtual-system system-id
缺省情况下,不存在任何VXLAN IS-IS虚
拟系统
4.6 VXLAN IS-IS显示和维护
在完成上述配置后,在任意视图下执行 display 命令可以显示配置后 VXLAN IS-IS 的运行情况,通
过查看显示信息验证配置的效果。
在用户视图下,用户可以执行 reset 命令来清除 VXLAN IS-IS 的相关信息。
表4-14 VXLAN IS-IS 显示和维护
操作 命令
显示VXLAN IS-IS进程的摘要信息 display vxlan isis brief
显示VXLAN IS-IS协议的GR状态 display vxlan isis graceful-restart status
显示VXLAN IS-IS的本地MAC地址信息
display vxlan isis local-mac dynamic [ [ vxlan-id vxlan-id ]
[ count ] ]
显示VXLAN IS-IS的链路状态数据库
display vxlan isis lsdb [ local | lsp-id lsp-id | verbose ] * [ tunnel
tunnel-number ]
显示VXLAN IS-IS的邻居信息 display vxlan isis peer
显示通过VXLAN IS-IS学习到的远端
MAC地址信息
display vxlan isis remote-mac [ [ vxlan-id vxlan-id ] [ count ] ]
显示通过VXLAN IS-IS学习到的远端
VXLAN信息
display vxlan isis remote-vxlan [ vxlan-id | count ]
显示Tunnel接口的VXLAN IS-IS信息 display vxlan isis tunnel [ tunnel-number ]
清除VXLAN IS-IS进程下所有的动态数
据
reset vxlan isis
4.7 VXLAN ISIS典型配置举例
1. 组网需求
Switch A、Switch B、Switch C 为与服务器连接的 VTEP 设备。VM 1 和 VM 5 属于 VXLAN 10000、
VLAN 2;VM 2 和 VM 6 属于 VXLAN 10001、VLAN 3;VM 3 和 VM 7 属于 VXLAN 10002、VLAN
4;VM 4 和 VM 8 属于 VXLAN 10003、VLAN 5。通过 VXLAN 实现不同站点间的二层互联,确保
虚拟机在站点之间进行迁移时用户的访问流量不会中断。
具体需求为:
• 不同 VTEP 之间手工建立 VXLAN 隧道。
4-6
• 通过 VXLAN IS-IS 发布 VXLAN ID,以自动关联 VXLAN 和 VXLAN 隧道。
• 通过 VXLAN IS-IS 发布本地 MAC 地址信息。
• 发送和接收 VXLAN IS-IS 报文的 VXLAN(预留 VXLAN)为 11111。
• 站点之间的泛洪流量采用头端复制的方式转发。
2. 组网图
图4-1 VXLAN 动态协商、头端复制组网图
3. 配置步骤
(1) 配置 IP 地址和单播路由协议
请按照图 4-1配置各接口的IP地址和子网掩码,并在IP核心网络内配置OSPF协议,具体配置过程略。
(2) 配置 Switch A
# 开启 L2VPN 能力。
<SwitchA> system-view
[SwitchA] l2vpn enable
# 配置 VXLAN 隧道工作在二层转发模式。
[SwitchA] undo vxlan ip-forwarding
# 配置预留 VXLAN 为 VXLAN 11111。
[SwitchA] reserved vxlan 11111
# 创建 VSI 实例 vpna 和 VXLAN 10000。
[SwitchA] vsi vpna
[SwitchA-vsi-vpna] vxlan 10000
[SwitchA-vsi-vpna-vxlan10000] quit
[SwitchA-vsi-vpna] quit
# 创建 VSI 实例 vpnb 和 VXLAN 10001。
[SwitchA] vsi vpnb
[SwitchA-vsi-vpnb] vxlan 10001
[SwitchA-vsi-vpnb-vxlan10001] quit
[SwitchA-vsi-vpnb] quit
4-7
# 创建 VSI 实例 vpnc 和 VXLAN 10002。
[SwitchA] vsi vpnc
[SwitchA-vsi-vpnc] vxlan 10002
[SwitchA-vsi-vpnc-vxlan10002] quit
[SwitchA-vsi-vpnc] quit
# 创建 VSI 实例 vpnd 和 VXLAN 10003。
[SwitchA] vsi vpnd
[SwitchA-vsi-vpnd] vxlan 10003
[SwitchA-vsi-vpnd-vxlan10003] quit
[SwitchA-vsi-vpnd] 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 A 和 Switch 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
# 创建 VLAN 2~VLAN 5,配置端口 FortyGigE1/0/1 允许 VLAN 2~VLAN 5 的报文通过。
[SwitchA] vlan 2 to 5
[SwitchA] interface fortygige 1/0/1
[SwitchA-FortyGigE1/0/1] port link-type trunk
[SwitchA-FortyGigE1/0/1] port trunk permit vlan 2 to 5
# 在接入服务器的接口 FortyGigE1/0/1 上创建以太网服务实例 1000,该实例用来匹配 VLAN 2 的数
据帧,并将其与 VSI 实例 vpna 关联。
[SwitchA-FortyGigE1/0/1] service-instance 1000
[SwitchA-FortyGigE1/0/1-srv1000] encapsulation s-vid 2
[SwitchA-FortyGigE1/0/1-srv1000] xconnect vsi vpna
[SwitchA-FortyGigE1/0/1-srv1000] quit
# 在接口 FortyGigE1/0/1 上创建以太网服务实例 2000,该实例用来匹配 VLAN 3 的数据帧,并将其
与 VSI 实例 vpnb 关联。
[SwitchA-FortyGigE1/0/1] service-instance 2000
[SwitchA-FortyGigE1/0/1-srv2000] encapsulation s-vid 3
[SwitchA-FortyGigE1/0/1-srv2000] xconnect vsi vpnb
[SwitchA-FortyGigE1/0/1-srv2000] quit
4-8
# 在接口 FortyGigE1/0/1 上创建以太网服务实例 3000,该实例用来匹配 VLAN 4 的数据帧,并将其
与 VSI 实例 vpnc 关联。
[SwitchA-FortyGigE1/0/1] service-instance 3000
[SwitchA-FortyGigE1/0/1-srv3000] encapsulation s-vid 4
[SwitchA-FortyGigE1/0/1-srv3000] xconnect vsi vpnc
[SwitchA-FortyGigE1/0/1-srv3000] quit
# 在接口 FortyGigE1/0/1 上创建以太网服务实例 4000,该实例用来匹配 VLAN 5 的数据帧,并将其
与 VSI 实例 vpnd 关联。
[SwitchA-FortyGigE1/0/1] service-instance 4000
[SwitchA-FortyGigE1/0/1-srv4000] encapsulation s-vid 5
[SwitchA-FortyGigE1/0/1-srv4000] xconnect vsi vpnd
[SwitchA-FortyGigE1/0/1-srv4000] quit
[SwitchA-FortyGigE1/0/1] quit
# 启动 VXLAN IS-IS 进程,开启 VXLAN IS-IS 的 VXLAN 隧道自动协商和 MAC 地址同步功能。
[SwitchA] vxlan-isis
[SwitchA-vxlan-isis] negotiate-vni enable
[SwitchA-vxlan-isis] mac-synchronization enable
[SwitchA-vxlan-isis] quit
(3) 配置 Switch B
# 开启 L2VPN 能力。
<SwitchB> system-view
[SwitchB] l2vpn enable
# 配置 VXLAN 隧道工作在二层转发模式。
[SwitchB] undo vxlan ip-forwarding
# 配置预留 VXLAN 为 VXLAN 11111。
[SwitchB] reserved vxlan 11111
# 创建 VSI 实例 vpna 和 VXLAN 10000。
[SwitchB] vsi vpna
[SwitchB-vsi-vpna] vxlan 10000
[SwitchB-vsi-vpna-vxlan10000] quit
[SwitchB-vsi-vpna] quit
# 创建 VSI 实例 vpnb 和 VXLAN 10001。
[SwitchB] vsi vpnb
[SwitchB-vsi-vpnb] vxlan 10001
[SwitchB-vsi-vpnb-vxlan10001] 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 1 mode vxlan
[SwitchB-Tunnel1] source 2.2.2.2
[SwitchB-Tunnel1] destination 1.1.1.1
[SwitchB-Tunnel1] quit
4-9
# 在 Switch B 和 Switch 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
# 创建 VLAN 2~VLAN 3,配置端口 FortyGigE1/0/1 允许 VLAN 2~VLAN 3 的报文通过。
[SwitchB] vlan 2 to 3
[SwitchB] interface fortygige 1/0/1
[SwitchB-FortyGigE1/0/1] port link-type trunk
[SwitchB-FortyGigE1/0/1] port trunk permit vlan 2 to 3
# 在接入服务器的接口 FortyGigE1/0/1 上创建以太网服务实例 1000,该实例用来匹配 VLAN 2 的数
据帧,并将其与 VSI 实例 vpna 关联。
[SwitchB] interface fortygige 1/0/1
[SwitchB-FortyGigE1/0/1] service-instance 1000
[SwitchB-FortyGigE1/0/1-srv1000] encapsulation s-vid 2
[SwitchB-FortyGigE1/0/1-srv1000] xconnect vsi vpna
[SwitchB-FortyGigE1/0/1-srv1000] quit
# 在接口 FortyGigE1/0/1 上创建以太网服务实例 2000,该实例用来匹配 VLAN 3 的数据帧,并将其
与 VSI 实例 vpnb 关联。
[SwitchB-FortyGigE1/0/1] service-instance 2000
[SwitchB-FortyGigE1/0/1-srv2000] encapsulation s-vid 3
[SwitchB-FortyGigE1/0/1-srv2000] xconnect vsi vpnb
[SwitchB-FortyGigE1/0/1-srv2000] quit
[SwitchB-FortyGigE1/0/1] quit
# 启动 VXLAN IS-IS 进程,开启 VXLAN IS-IS 的 VXLAN 隧道自动协商和 MAC 地址同步功能。
[SwitchB] vxlan-isis
[SwitchB-vxlan-isis] negotiate-vni enable
[SwitchB-vxlan-isis] mac-synchronization enable
[SwitchB-vxlan-isis] quit
(4) 配置 Switch C
# 开启 L2VPN 能力。
<SwitchC> system-view
[SwitchC] l2vpn enable
# 配置 VXLAN 隧道工作在二层转发模式。
[SwitchC] undo vxlan ip-forwarding
# 配置预留 VXLAN 为 VXLAN 11111。
[SwitchC] reserved vxlan 11111
# 创建 VSI 实例 vpna 和 VXLAN 10002。
[SwitchC] vsi vpna
[SwitchC-vsi-vpna] vxlan 10002
[SwitchC-vsi-vpna-vxlan10002] quit
[SwitchC-vsi-vpna] quit
# 创建 VSI 实例 vpnb 和 VXLAN 10003。
[SwitchC] vsi vpnb
[SwitchC-vsi-vpnb] vxlan 10003
4-10
[SwitchC-vsi-vpnb-vxlan10003] quit
[SwitchC-vsi-vpnb] 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 2 mode vxlan
[SwitchC-Tunnel1] source 3.3.3.3
[SwitchC-Tunnel1] destination 1.1.1.1
[SwitchC-Tunnel1] quit
# 在 Switch B 和 Switch C 之间建立 VXLAN 隧道。
[SwitchC] interface tunnel 3 mode vxlan
[SwitchC-Tunnel1] source 3.3.3.3
[SwitchC-Tunnel1] destination 2.2.2.2
[SwitchC-Tunnel1] quit
# 创建 VLAN 4~VLAN 5,配置端口 FortyGigE1/0/1 允许 VLAN 4~VLAN 5 的报文通过。
[SwitchC] vlan 4 to 5
[SwitchC] interface fortygige 1/0/1
[SwitchC-FortyGigE1/0/1] port link-type trunk
[SwitchC-FortyGigE1/0/1] port trunk permit vlan 4 to 5
# 在接入服务器的接口 FortyGigE1/0/1 上创建以太网服务实例 1000,该实例用来匹配 VLAN 4 的数
据帧,并将其与 VSI 实例 vpna 关联。
[SwitchC] interface fortygige 1/0/1
[SwitchC-FortyGigE1/0/1] service-instance 1000
[SwitchC-FortyGigE1/0/1-srv1000] encapsulation s-vid 4
[SwitchC-FortyGigE1/0/1-srv1000] xconnect vsi vpna
[SwitchC-FortyGigE1/0/1-srv1000] quit
# 在接口 FortyGigE1/0/1 上创建以太网服务实例 2000,该实例用来匹配 VLAN 5 的数据帧,并将其
与 VSI 实例 vpnb 关联。
[SwitchC-FortyGigE1/0/1] service-instance 2000
[SwitchC-FortyGigE1/0/1-srv2000] encapsulation s-vid 5
[SwitchC-FortyGigE1/0/1-srv2000] xconnect vsi vpnb
[SwitchC-FortyGigE1/0/1-srv2000] quit
[SwitchC-FortyGigE1/0/1] quit
# 启动 VXLAN IS-IS 进程,开启 VXLAN IS-IS 的 VXLAN 隧道自动协商和 MAC 地址同步功能。
[SwitchC] vxlan-isis
[SwitchC-vxlan-isis] negotiate-vni enable
[SwitchC-vxlan-isis] mac-synchronization enable
[SwitchC-vxlan-isis] quit
4. 验证配置
(1) 验证 VTEP 设备(下文以 Switch A 为例,其它设备验证方法与此类似)
# 查看 Switch A 上的 Tunnel 接口信息,可以看到 VXLAN 模式的 Tunnel 接口处于 up 状态。
[SwitchA] display interface tunnel
Tunnel 1
4-11
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
Tunnel 2
Current state: UP
Line protocol state: UP
Description: Tunnel2 Interface
Bandwidth: 64 kbps
Maximum transmission unit: 64000
Internet protocol processing: Disabled
Last clearing of counters: Never
Tunnel source 1.1.1.1, destination 3.3.3.3
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 : 10000
Tunnels:
Tunnel Name Link ID State Type
Tunnel1 0x5000001 UP Auto
ACs:
AC Link ID State
FGE1/0/1 srv1000 0 Up
VSI Name: vpnb
VSI Index : 1
VSI State : Up
MTU : 1500
Bandwidth : -
Broadcast Restrain : -
4-12
Multicast Restrain : -
Unknown Unicast Restrain: -
MAC Learning : Enabled
MAC Table Limit : -
Drop Unknown : -
Flooding : Enabled
VXLAN ID : 10001
Tunnels:
Tunnel Name Link ID State Type
Tunnel1 0x5000001 UP Auto
ACs:
AC Link ID State
FGE1/0/1 srv2000 0 Up
VSI Name: vpnc
VSI Index : 2
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 : 10002
Tunnels:
Tunnel Name Link ID State Type
Tunnel2 0x5000002 UP Auto
ACs:
AC Link ID State
FGE1/0/1 srv3000 0 Up
VSI Name: vpnd
VSI Index : 3
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 : 10003
Tunnels:
Tunnel Name Link ID State Type
Tunnel2 0x5000002 UP Auto
4-13
ACs:
AC Link ID State
FGE1/0/1 srv4000 0 Up
# 查看 Switch A 上 VSI 的 MAC 地址表项信息,可以看到已学习到的 MAC 地址信息。
[SwitchA] display l2vpn mac-address
MAC Address State VSI Name Link ID/Name Aging
cc3e-5f9c-6cdb static vpna Tunnel1 Aging
cc3e-5f9c-23dc static vpnc Tunnel2 Aging
--- 1 mac address(es) found ---
# 查看 Switch A 上邻居状态信息,可以看到已经和 Switch B、Switch C 建立邻居。
[SwitchA] display vxlan isis peer
System ID: 4431.9234.2602
Link interface: Tunnel1
Circuit ID: 4431.9234.2602.0001
State: Up
Hold time: 8s
Neighbour DED priority: 64
Uptime: 47:48:34
System ID: 4431.9234.1f68
Link interface: Tunnel2
Circuit ID: 4431.9234.1f68.0000
State: Up
Hold time: 27s
Neighbour DED priority: 64
Uptime: 47:50:30
# 查看 Switch A 上链路状态信息,可以看到链路状态正常。
[SwitchA] display vxlan isis lsdb
Link state database information for VXLAN ISIS (Tunnel 1)
LSP ID Seq num Checksum Holdtime Length Overload
-----------------------------------------------------------------------------
4431.9234.1f68.0000-00 0x000000c2 0xdc02 656 59 0
4431.9234.2602.0000-00* 0x000000c3 0xd136 326 70 0
4431.9234.2602.0001-00* 0x000000c1 0x73ca 658 57 0
Link state database information for VXLAN ISIS (Tunnel 2)
LSP ID Seq num Checksum Holdtime Length Overload
-----------------------------------------------------------------------------
4431.9234.1f68.0000-00 0x000000c2 0xdc02 656 59 0
4431.9234.2613.0000-00* 0x000000c3 0xd136 326 70 0
4431.9234.2613.0002-00* 0x000000c1 0x73ca 658 57 0
Flags: *-Self LSP, +-Self LSP(Extended)
# 查看 Switch A 上 VXLAN IS-IS 的 MAC 地址表项信息,可以看到已学习到的 MAC 地址信息。
[SwitchA] display vxlan isis remote-mac
MAC Flags: D-MAC conflict with local dynamic MAC.
4-14
4-15
F-MAC has been issued to the remote MAC address table.
S-MAC conflict with local static or selective-flooding MAC.
A-Tunnel interface can forward traffic to the MAC.
VXLAN ID: 10000
MAC address: cc3e-5f9c-6cdb
Interface: Tunnel1
Flags: AF
VXLAN ID: 10002
MAC address: cc3e-5f9c-23dc
Interface: Tunnel2
Flags: AF
# 查看 Switch A 上 VXLAN IS-IS 的远端 VXLAN 信息,可以看到已学习到的 VXLAN 信息。
[SwitchA] display vxlan isis remote-vxlan
VXLAN Flags: S-VXLAN supported at the local end
F-Association between VXLAN and Tunnels has been flushed to L2VPN
VXLAN ID: 10000
Flags: FS
Tunnel: 1
VXLAN ID: 10001
Flags: FS
Tunnel: 1
VXLAN ID: 10002
Flags: FS
Tunnel: 2
VXLAN ID: 10003
Flags: FS
Tunnel: 2
(2) 验证主机
VM 1 和 VM 5、VM 2 和 VM 6、VM 3 和 VM 7、VM 4 和 VM 8 可以互访,其他 VM 之间不能互访。
5 VXLAN IP网关
5.1 VXLAN IP网关简介
网关部署在 VTEP 设备上时,又分为集中式 VXLAN IP 网关和分布
方式。
5.1.1
VXLAN 可以为分散的物理站点提供二层互联。如果要为 VXLAN 站点内的虚拟机提供三层业务,则
需要在网络中部署 VXLAN IP 网关,以便站点内的虚拟机通过 VXLAN IP 网关与外界网络或其他
VXLAN 网络内的虚拟机进行三层通信。VXLAN IP 网关既可以部署在独立的物理设备上,也可以部
署在 VTEP 设备上。VXLAN IP
式 VXLAN IP 网关两种
独立的VXLAN IP网关
图5-1 独立的 VXLAN IP 网关示意图
如图 5-1所示,VXLAN IP网关部署在独立的物理设备上时,VXLAN IP网关作为物理站点接入VTEP,
VXLAN业务对于网关设备透明。虚拟机通过VXLAN IP网关与三层网络中的节点通信时,虚拟机将
三层报文封装成二层数据帧发送给VXLAN IP网关。VTEP对该数据帧进行VXLAN封装,并在IP核心
网络上将其转发给远端VTEP(连接VXLAN IP网关的VTEP)。远端VTEP对VXLAN报文进行解封装,
并将原始的二层数据帧转发给VXLAN IP网关。VXLAN IP网关去掉链路层封装后,对报文进行三层
转发。
5-1
5.1.2 集中式VXLAN IP网关
图5-2 集中式 VXLAN IP 网关示意图
如图 5-2所示,集中式VXLAN IP网关进行二层VXLAN业务终结的同时,还对内层封装的IP报文进行
三层转发处理。与独立的VXLAN IP网关相比,该方式除了能够节省设备资源外,VXLAN IP网关功
能由VXLAN对应的三层虚接口(VSI虚接口)承担,三层业务的部署和控制也更加灵活和方便。
5-2
图5-3 集中式 VXLAN IP 网关的三层通信过程
如图 5-3所示,以地址为 10.1.1.11 的虚拟机为例,虚拟机与外界网络进行三层通信的过程为:
(1) 虚拟机(10.1.1.11)跨网段进行三层通信时,先广播发送 ARP 请求消息,解析 VXLAN IP 网
关(10.1.1.1)的 MAC 地址。
(2) VTEP 1 收到 ARP 请求消息后,添加 VXLAN 封装并发送给所有的远端 VTEP。
(3) VTEP 3 解封装 VXLAN 报文后,发现 ARP 请求的目的 IP 为 VXLAN 对应的本地网关 IP 地址,
即与 VXLAN 关联的 VSI 虚接口的 IP 地址,则学习 10.1.1.11 的 ARP 信息,并向虚拟机回应
ARP 应答消息。
(4) VTEP 1 收到 ARP 应答消息后,将该消息转发给虚拟机。
(5) 虚拟机获取到网关的 MAC 地址后,为三层报文添加网关的 MAC 地址,通过 VXLAN 网络将
二层数据帧发送给 VTEP 3。
(6) VTEP 3 解封装 VXLAN 报文,并去掉链路层头后,对内层封装的 IP 报文进行三层转发,将其
发送给最终的目的节点。
(7) 目的节点回复的报文到达网关后,网关根据已经学习到的 ARP 表项,为报文封装链路层头,
并通过 VXLAN 网络将其发送给虚拟机。
属于不同 VXLAN 网络的虚拟机之间的通信过程与上述过程类似,不同之处在于一个 VXLAN 网络
的集中式网关需要将报文转发给另一个 VXLAN 网络的集中式网关,再由该集中式网关将报文转发
给本 VXLAN 内对应的虚拟机。
5-3
5.1.3 分布式VXLAN IP网关
1. 简介
图5-4 分布式 VXLAN IP 网关示意图
VXLAN tunnel
VXLAN tunnel
VTEP/
VXLAN IP
GW
VTEP
Server
Site 1
L3 network
VXLAN tunnel VXLAN tunnel
Server
Site 2
Server
Site 3
Server
Site 4
Server
Site 5
Server
Site 6
VTEP/
VXLAN IP
GW
VTEP/
VXLAN IP
GW
VTEP/
Border
采用集中式VXLAN IP网关方案时,不同VXLAN之间的流量以及VXLAN访问外界网络的流量全部由
集中式VXLAN IP网关处理,网关压力较大,并加剧了网络带宽资源的消耗。如图 5-4所示,在分布
式VXLAN IP网关方案中,每台VTEP设备都可以作为VXLAN IP网关,对本地站点的流量进行三层
转发,很好地缓解了网关的压力。
5-4
图5-5 分布式 VXLAN IP 网关部署示意图
如图 5-5所示,在分布式VXLAN IP网关组网中,所有的分布式VXLAN IP网关(GW)上都需要创建
VSI虚接口,并在虚接口上配置相同的IP地址,作为VXLAN内虚拟机的网关地址。在分布式VXLAN
IP网关上还需要使能本地代理ARP功能。边界网关(Border)上也需要创建VSI虚接口,并配置IP
地址。
采用分布式 VXLAN IP 网关组网方案时,流量都通过查找 ARP 表项进行三层转发。
2. 相同VXLAN内不同站点的虚拟机通信过程
如图 5-5所示,以VM 1 访问VM 4 为例,相同VXLAN内不同站点的虚拟机的通信过程为:
(1) VM 1 广播发送 ARP 请求消息,获取 VM 4 的 MAC 地址。
(2) GW 1 收到 ARP 请求消息后,学习 VM 1 的 ARP 信息,并代理应答该 ARP 请求,即:向 VM
1 发送 ARP 应答消息,应答的 MAC 地址为 VSI 虚接口 10 的 MAC 地址。
(3) VM 1 学习到 VM 4 的 MAC 地址为 GW 1 上 VSI 虚接口 10 的 MAC 地址。
(4) GW 1 将接收到的 ARP 请求消息中的源 MAC 地址修改为 VSI 虚接口 10 的 MAC 地址,对该
消息进行 VXLAN 封装后,将其发送给 VXLAN 内的所有远端 VTEP。
(5) GW 2 对 VXLAN 报文进行解封装后,学习 VM 1 的 ARP 信息(IP 为 10.1.1.11、MAC 为 GW
1 上 VSI 虚接口 10 的 MAC、出接口为接收该 VXLAN 报文的 Tunnel 接口),并将 ARP 请求
消息中的源 MAC 修改为本地 VSI 虚接口 10 的 MAC 地址,在 VXLAN 10 的本地站点内进行
广播。
(6) VM 4 收到 ARP 请求后,学习 VM 1 的 ARP 信息(IP 为 10.1.1.11、MAC 为 GW 2 上 VSI 虚
接口 10 的 MAC),并发送 ARP 应答消息给本地网关 GW 2。
5-5
(7) GW 2 从 VM 4 收到 ARP 应答消息后,学习 VM 4 的 ARP 信息,将 ARP 应答消息中的源 MAC
修改为本地 VSI 虚接口 10 的 MAC 地址,并根据已经学习到的 ARP 表项,为 ARP 应答消息
添加 VXLAN 封装后发送给 GW 1。
(8) GW 1 对 VXLAN 报文进行解封装后,根据收到的 ARP 应答消息学习 VM 4 的 ARP 信息(IP
为 10.1.1.12、MAC 为 GW 2 上 VSI 虚接口 10 的 MAC、出接口为接收该 VXLAN 报文的 Tunnel
接口)。
(9) 通过上述步骤完成 ARP 信息的学习后,VM 1 发送给 VM 4 的报文,根据已经学习到的 ARP
信息进行转发:首先发送给 GW 1;GW 1 对其进行 VXLAN 封装后,将其发送给 GW 2;GW
2 解封装后,将其发送给 VM 4。
3. 不同VXLAN间不同站点的虚拟机通信过程
如图 5-5所示,以VM 1 访问VM 5 为例,不同VXLAN的虚拟机的通信过程为:
(1) VM 1 广播发送 ARP 请求消息,获取网关 10.1.1.1 的 MAC 地址。
(2) GW 1 收到 ARP 请求消息后,学习 VM 1 的 ARP 信息,并向 VM 1 发送 ARP 应答消息,应答
的 MAC 地址为 VSI 虚接口 10 的 MAC 地址。
(3) VM 1 将访问 VM 5 的报文发送给 GW 1。
(4) GW 1 在所有 VXLAN 内向本地站点和远端站点广播发送 ARP 请求,获取 VM 5 的 MAC 地址。
(5) GW 2 从 VXLAN 隧道上接收到 VXLAN 报文后,对其进行解封装后,学习 GW 1 的 ARP 信息
(IP 为 10.1.1.1、MAC 为 GW 1 上 VSI 虚接口 10 的 MAC、出接口为接收该 VXLAN 报文的
Tunnel 接口),并将 ARP 请求消息中的源 MAC 修改为本地 VSI 虚接口 20 的 MAC 地址,在
VXLAN 20 的本地站点内广播该 ARP 请求消息。
(6) VM 5 收到 ARP 请求后,学习 GW 2 的 ARP 信息(IP 为 20.1.1.1、MAC 为 GW 2 上 VSI 虚
接口 20 的 MAC),并发送 ARP 应答消息给本地网关 GW 2。
(7) GW 2 从 VM 5 收到 ARP 应答消息后,学习 VM 5 的 ARP 信息,将 ARP 应答消息中的源 MAC
修改为本地 VSI 虚接口 20 的 MAC 地址,并根据已经学习到的 ARP 表项,为 ARP 应答消息
添加 VXLAN 封装后发送给 GW 1。
(8) GW 1 对 VXLAN 报文进行解封装后,根据收到的 ARP 应答消息学习 VM 5 的 ARP 信息(IP
为 20.1.1.12、MAC 为 GW 2 上 VSI 虚接口 20 的 MAC、出接口为接收该 VXLAN 报文的 Tunnel
接口)。
(9) 通过上述步骤完成 ARP 信息的学习后,VM 1 发送给 VM 5 的报文,根据已经学习到的 ARP
信息进行转发:首先发送给 GW 1;GW 1 对其进行 VXLAN 封装后,将其发送给 GW 2;GW
2 解封装后,将其发送给 VM 5。
4. 虚拟机与外部网络的三层通信过程
虚拟机要想与外部网络进行三层通信,需要在本地分布式 VXLAN IP 网关上配置缺省路由,指定路
由下一跳为 Border 上任意一个 VXLAN 对应 VSI 虚接口的 IP 地址。
如图 5-5所示,以VM 1 访问外部网络内的主机 50.1.1.1 为例,虚拟机访问外部网络的三层通信过程
为:
(1) VM 1 广播发送 ARP 请求消息,获取网关 10.1.1.1 的 MAC 地址。
(2) GW 1 收到 ARP 请求消息后,学习 VM 1 的 ARP 信息,并向 VM 1 发送 ARP 应答消息,应答
的 MAC 地址为 VSI 虚接口 10 的 MAC 地址。
(3) VM 1 将访问外部网络的报文发送给 GW 1。
5-6
(4) GW 1 接收到报文后,根据缺省路由判断报文的下一跳地址为 10.1.1.2。GW 1 在 VXLAN 10
内向本地站点和远端站点广播发送 ARP 请求消息,获取 10.1.1.2 对应的 MAC 地址。
(5) Border 对 VXLAN 报文进行解封装,学习 GW 1 的 ARP 信息,并通过 VXLAN 隧道回复 ARP
应答消息。
(6) GW 1 对 VXLAN 报文进行解封装,并获取到 10.1.1.2 的 ARP 信息。
(7) GW 1 根据获取到的信息为 VM 1 发送的报文封装链路层地址(10.1.1.2 对应的 MAC 地址),
并通过 VXLAN 隧道将报文发送给 Border。
(8) Border 对接收到的报文进行解封装后,对报文进行三层转发。
5.2 配置集中式VXLAN IP网关
执行本配置时,需要完成以下配置任务:
• 配置 VXLAN 隧道工作在三层转发模式。
• 在 VTEP 上创建 VSI 和 VXLAN。
• 配置 VXLAN 隧道,并将 VXLAN 与 VXLAN 隧道关联。
表5-1 配置集中式 VXLAN IP 网关
操作 命令 说明
进入系统视图 system-view -
创建VSI虚接口,并进入VSI
虚接口视图
interface vsi-interface vsi-interface-id
缺省情况下,设备上不存在任何VSI虚
接口
如果VSI虚接口已经存在,则直接进入
该VSI虚接口视图
配置VSI虚接口的IP地址
ip address ip-address { mask |
mask-length } [ sub ]
缺省情况下,未配置VSI虚接口的IP地
址
退回系统视图 quit -
进入VXLAN所在VSI视图 vsi vsi-name -
为VSI指定网关接口 gateway vsi-interface vsi-interface-id 缺省情况下,没有为VSI指定网关接口
5.3 配置分布式VXLAN IP网关
执行本配置时,需要完成以下配置任务:
• 配置 VXLAN 隧道工作在三层转发模式。
• 在 VTEP 上创建 VSI 和 VXLAN。
• 配置 VXLAN 隧道,并将 VXLAN 与 VXLAN 隧道关联。
• 如果虚拟机要想与外部网络进行三层通信,那么还需要在本地分布式 VXLAN IP 网关上配置缺
省路由,指定路由下一跳为 Border 上任意一个 VXLAN 对应 VSI 虚接口的 IP 地址。
5-7
表5-2 配置分布式 VXLAN IP 网关
操作 命令 说明
进入系统视图 system-view -
创建VSI虚接口,并进入
VSI虚接口视图
interface vsi vsi-interface-id
缺省情况下,设备上不存在任何VSI虚接口
如果VSI虚接口已经存在,则直接进入该VSI虚
接口视图
配置VSI虚接口的IP地址
ip address ip-address { mask |
mask-length }
缺省情况下,未配置VSI虚接口的IP地址
配置VSI虚接口为分布式
网关接口
distributed-gateway local
缺省情况下,VSI虚接口不是分布式本地网关接
口
使能本地代理ARP功能
local-proxy-arp enable
[ ip-range startIP to endIP ]
必选
缺省情况下,本地代理ARP功能处于关闭状态
本命令的详细介绍,请参见“三层技术-IP业务
命令参考”中的“代理ARP”
退回系统视图 quit -
进入VXLAN所在VSI视图 vsi vsi-name -
为VSI指定网关接口
gateway vsi-interface
vsi-interface-id
缺省情况下,没有为VSI指定网关接口
5.4 配置VSI虚接口
通过本配置,可以根据需要调整 VSI 虚接口的参数及状态。
表5-3 配置 VSI 虚接口
操作 命令 说明
进入系统视图 system-view -
进入VSI虚接口视图 interface vsi vsi-interface-id -
配置VSI虚接口的MAC地
址
mac-address mac-address
缺省情况下,未配置VSI虚接口的
MAC地址
为VSI虚接口配置的MAC地址的高36
位必须与设备桥MAC地址的高36位
相同
(可选)配置接口的描述信
息
description text
缺省情况下,接口的描述信息为“接
口名 Interface”,例如:
Vsi-interface100 Interface
(可选)配置接口的MTU mtu mtu-value
缺省情况下,接口的MTU值为1500
字节
(可选)配置接口的期望带
宽
bandwidth bandwidth-value
缺省情况下,接口的期望带宽为
1000000kbps
恢复当前接口的缺省配置 default -
开启当前接口 undo shutdown 缺省情况下,接口处于开启状态
5-8
5.5 VXLAN IP网关显示和维护
在完成上述配置后,在任意视图下执行 display 命令可以显示配置后 VXLAN IP 网关的运行情况,
通过查看显示信息验证配置的效果。
在用户视图下,用户可以执行 reset 命令来清除 VSI 虚接口的统计信息。
表5-4 VXLAN IP 网关显示和维护
操作 命令
显示VSI虚接口信息
display interface [ vsi-interface [ vsi-interface-id ] ] [ brief
[ description ] ]
清除接口的统计信息 reset counters interface [ vsi-interface [ vsi-interface-id ] ]
5.6 VXLAN IP网关典型配置举例
5.6.1 集中式VXLAN IP网关配置举例
1. 组网需求
Switch A、Switch C 为与服务器连接的 VTEP 设备,Switch B 为与广域网连接的集中式 VXLAN IP
网关设备,Switch E 为广域网内的三层交换机。虚拟机 VM 1、VM 2 同属于 VXLAN 10,通过 VXLAN
实现不同站点间的二层互联,并通过 VXLAN IP 网关与广域网三层互联。
2. 组网图
图5-6 集中式 VXLAN IP 网关配置组网图
Switch A Switch C
IP核心网络
Switch D
FGE1/0/1 FGE1/0/1
Switch B
Server 1
VM 1
Server 2
VM 2
Loop0
1.1.1.1/32
Loop0
3.3.3.3/32
Loop0
2.2.2.2/32
VLAN 2 VLAN 2
Vlan-int11
11.1.1.1/24
Vlan-int13
13.1.1.4/24
Vlan-int12
12.1.1.2/24
Vlan-int11
11.1.1.4/24
Vlan-int13
13.1.1.3/24
Vlan-int12
12.1.1.4/24
VSI-int1
10.1.1.1/24
Vlan-int20
20.1.1.5/24
Vlan-int20
20.1.1.2/24
Switch E
10.1.1.11 10.1.1.12
WAN
3. 配置步骤
(1) 配置 IP 地址和单播路由协议
5-9
# 请按照图 5-6配置各接口的IP地址和子网掩码,并在IP核心网络内配置OSPF协议,具体配置过程
略。
# Switch B 和 Switch E 上配置 OSPF 协议,发布 10.1.1.0/24 和 20.1.1.0/24 网段的路由,具体配
置过程略。
(2) 配置 Switch A
# 开启 L2VPN 能力。
<SwitchA> system-view
[SwitchA] l2vpn enable
# 配置 VXLAN 隧道工作在二层转发模式。
[SwitchA] undo vxlan ip-forwarding
# 创建 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 A 和 Switch 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
# 配置 Tunnel1 和 Tunnel2 与 VXLAN 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
# 创建 VLAN2,将 FortyGigE1/0/1 端口加入 VLAN2。
[SwitchA] vlan 2
[SwitchA–vlan2] port fortygige 1/0/1
[SwitchA–vlan2] quit
# 在接入服务器的接口 FortyGigE1/0/1 上创建以太网服务实例 1000,该实例用来匹配 VLAN 2 的数
据帧。
5-10
[SwitchA] interface fortygige 1/0/1
[SwitchA-FortyGigE1/0/1] service-instance 1000
[SwitchA-FortyGigE1/0/1-srv1000] encapsulation s-vid 2
# 配置以太网服务实例 1000 与 VSI 实例 vpna 关联。
[SwitchA-FortyGigE1/0/1-srv1000] xconnect vsi vpna
[SwitchA-FortyGigE1/0/1-srv1000] quit
[SwitchA-FortyGigE1/0/1] quit
(3) 配置 Switch B
# 开启 L2VPN 能力。
<SwitchB> system-view
[SwitchB] l2vpn enable
# 配置预留 VLAN 3000 接口资源(全局类型)。
[SwitchB] reserve-vlan-interface 3000 global
# 创建 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 B 和 Switch 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
# 配置 Tunnel2 和 Tunnel3 与 VXLAN10 关联。
[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
# 创建 VSI 虚接口 VSI-interface1,并为其配置 IP 地址,该 IP 地址作为 VXLAN 10 内虚拟机的网
关地址。
[SwitchB] interface vsi-interface 1
[SwitchB-Vsi-interface1] ip address 10.1.1.1 255.255.255.0
[SwitchB-Vsi-interface1] quit
# 配置 VXLAN 10 所在的 VSI 实例和接口 VSI-interface1 关联。
[SwitchB] vsi vpna
[SwitchB-vsi-vpna] gateway vsi-interface 1
5-11
[SwitchB-vsi-vpna] quit
(4) 配置 Switch C
# 开启 L2VPN 能力。
<SwitchC> system-view
[SwitchC] l2vpn enable
# 配置 VXLAN 隧道工作在二层转发模式。
[SwitchC] undo vxlan ip-forwarding
# 创建 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 B 和 Switch 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
# 配置 Tunnel1 和 Tunnel3 与 VXLAN 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
# 创建 VLAN2,将 FortyGigE1/0/1 端口加入 VLAN2。
[SwitchC] vlan 2
[SwitchC–vlan2] port fortygige 1/0/1
[SwitchC–vlan2] quit
# 在接入服务器的接口 FortyGigE1/0/1 上创建以太网服务实例 1000,该实例用来匹配 VLAN 2 的数
据帧。
[SwitchC] interface fortygige 1/0/1
[SwitchC-FortyGigE1/0/1] service-instance 1000
[SwitchC-FortyGigE1/0/1-srv1000] encapsulation s-vid 2
# 配置以太网服务实例 1000 与 VSI 实例 vpna 关联。
[SwitchC-FortyGigE1/0/1-srv1000] xconnect vsi vpna
[SwitchC-FortyGigE1/0/1-srv1000] quit
[SwitchC-FortyGigE1/0/1] quit
5-12
4. 验证配置
(1) 验证 VXLAN IP 网关设备 Switch B
# 查看 Switch B 上的 Tunnel 接口信息,可以看到 VXLAN 模式的 Tunnel 接口处于 up 状态。
[SwitchB] display interface tunnel 2
Tunnel2
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 2.2.2.2, destination 1.1.1.1
Tunnel protocol/transport UDP_VXLAN/IP
# 查看 Switch B 上的 VSI 虚接口信息,可以看到 VSI 虚接口处于 up 状态。
[SwitchB] display interface vsi-interface 1
Vsi-interface1
Current state: UP
Line protocol state: UP
Description: Vsi-interface100 Interface
Bandwidth: 1000000kbps
Maximum transmission unit: 1500
Internet Address is 10.1.1.1/24 Primary
IP Packet Frame Type:PKTFMT_ETHNT_2, Hardware Address: 0011-2200-0102
IPv6 Packet Frame Type:PKTFMT_ETHNT_2, Hardware Address: 0011-2200-0102
Physical: Unknown, baudrate: 1000000 kbps
Last clearing of counters: Never
Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Input: 0 packets, 0 bytes, 0 drops
Output: 0 packets, 0 bytes, 0 drops
# 查看 Switch B 上的 VSI 信息,可以看到 VSI 内创建的 VXLAN、与 VXLAN 关联的 VXLAN 隧道、
与 VSI 关联的 VSI 虚接口等信息。
[SwitchB] 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
Gateway interface : VSI-interface 1
5-13
VXLAN ID : 10
Tunnels:
Tunnel Name Link ID State Type
Tunnel2 0x5000002 Up Manual
Tunnel3 0x5000003 Up Manual
# 查看 Switch B 上 VSI 的 ARP 表项信息,可以看到已学习到了虚拟机的 ARP 信息。
[SwitchB] display arp
Type: S-Static D-Dynamic O-Openflow M-Multiport I-Invalid
IP address MAC address VLAN Interface Aging Type
20.1.1.5 000c-29c1-5e46 N/A Vlan20 19 D
10.1.1.11 0000-1234-0001 N/A Vsi10 20 D
10.1.1.12 0000-1234-0002 N/A Vsi10 19 D
# 查看 Switch B 上 FIB 表项信息,可以看到已学习到了虚拟机的转发表项信息。
[SwitchB] display fib 10.1.1.11
Destination count: 1 FIB entry count: 1
Flag:
U:Useable G:Gateway H:Host B:Blackhole D:Dynamic S:Static
R:Relay F:FRR
Destination/Mask Nexthop Flag OutInterface/Token Label
10.1.1.11/32 10.1.1.11 UH Vsi10 Null
(2) 验证主机和广域网互访
虚拟机 VM 1、VM 2 之间可以互访,VM 1、VM 2 和 Switch E 上接口 Vlan-interface20 的地址 20.1.1.5
之间可以互访。
5.6.2 分布式VXLAN IP网关配置举例
1. 组网需求
Switch A、Switch C为分布式VXLAN IP网关设备,Switch B为与广域网连接的边界网关设备,Switch
E 为广域网内的三层交换机。虚拟机 VM 1 属于 VXLAN 10,VM 3 属于 VXLAN 30。通过分布式
VXLAN IP 网关实现不同 VXLAN 网络的三层互联,并通过边界网关实现与广域网的三层互联。
具体需求为:
• 站点网络为 IPv4 网络。
• 不同 VTEP 之间手工建立 VXLAN 隧道。
• 手工关联 VXLAN 和 VXLAN 隧道。
• 站点之间的泛洪流量采用头端复制的方式转发。
• VM 1、VM 3 之间可以互访;VM 1 和 VM 3 都可以访问外部网络。
5-14
2. 组网图
图5-7 分布式 VXLAN IP 网关配置组网图
Switch A Switch C
IP核心网络
Switch D
FGE1/0/1 FGE1/0/1
Switch B
Server 1
VM 1
Server 3
VM 3
Loop0
1.1.1.1/32
Loop0
3.3.3.3/32
Loop0
2.2.2.2/32
VLAN 2 VLAN 4
Vlan-int11
11.1.1.1/24
Vlan-int13
13.1.1.4/24
Vlan-int12
12.1.1.2/24
Vlan-int11
11.1.1.4/24
Vlan-int13
13.1.1.3/24
Vlan-int12
12.1.1.4/24
Vlan-int20
25.1.1.5/24
Vlan-int20
25.1.1.2/24
Switch E
10.1.1.11 20.1.1.12
VSI-int1
10.1.1.1/24
VSI-int2
20.1.1.1/24
VSI-int1
10.1.1.2/24
VSI-int3
20.1.1.2/24
VSI-int1
10.1.1.1/24
VSI-int2
20.1.1.1/24
3. 配置步骤
(1) 配置 IP 地址和单播路由协议
# 请按照图 5-7配置各接口的IP地址和子网掩码,并在IP核心网络内配置OSPF协议,具体配置过程
略。
# Switch B 和 Switch E 上配置 OSPF 协议,发布 10.1.1.0/24、20.1.1.0/24 和 25.1.1.0/24 网段的
路由,具体配置过程略。
(2) 配置 Switch A
# 开启 L2VPN 能力。
<SwitchA> system-view
[SwitchA] l2vpn enable
# 配置预留 VLAN 3000~VLAN 3500 接口资源(全局类型)。
[SwitchA] reserve-vlan-interface 3000 to 3500 global
# 创建 VSI 实例 vpna 和 VXLAN 10。
[SwitchA] vsi vpna
[SwitchA-vsi-vpna] vxlan 10
[SwitchA-vsi-vpna-vxlan10] quit
[SwitchA-vsi-vpna] quit
# 创建 VSI 实例 vpnc 和 VXLAN 30。
[SwitchA] vsi vpnc
[SwitchA-vsi-vpnc] vxlan 30
[SwitchA-vsi-vpnc-vxlan30] quit
[SwitchA-vsi-vpnc] quit
# 配置接口 Loopback0 的 IP 地址,作为隧道的源端地址。
5-15
[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 A 和 Switch 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
# 配置 Tunnel1 和 Tunnel2 与 VXLAN 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
# 配置 Tunnel2 与 VXLAN 30 关联。
[SwitchA] vsi vpnb
[SwitchA-vsi-vpnb] vxlan 30
[SwitchA-vsi-vpnb-vxlan30] tunnel 2
[SwitchA-vsi-vpnb-vxlan30] quit
[SwitchA-vsi-vpnb] quit
# 创建 VLAN2,将 FortyGigE1/0/1 端口加入 VLAN2,并创建 VLAN 虚接口 Vlan-interface 2。
[SwitchA] vlan 2
[SwitchA–vlan2] port fortygige 1/0/1
[SwitchA–vlan2] quit
[SwitchA] interface vlan-interface 2
# 在接入 VM 1 的接口 FortyGigE1/0/1 上创建以太网服务实例 1000,该实例用来匹配 VLAN 2 的数
据帧。
[SwitchA] interface fortygige 1/0/1
[SwitchA-FortyGigE1/0/1] service-instance 1000
[SwitchA-FortyGigE1/0/1-srv1000] encapsulation s-vid 2
# 配置以太网服务实例 1000 与 VSI 实例 vpna 关联。
[SwitchA-FortyGigE1/0/1-srv1000] xconnect vsi vpna
[SwitchA-FortyGigE1/0/1-srv1000] quit
[SwitchA-FortyGigE1/0/1] quit
# 创建 VSI 虚接口 VSI-interface1,并为其配置 IP 地址,该 IP 地址作为 VXLAN 10 内虚拟机的网
关地址,指定该 VSI 虚接口为分布式本地网关接口,并使能本地代理 ARP 功能。
[SwitchA] interface vsi-interface 1
5-16
[SwitchA-Vsi-interface1] ip address 10.1.1.1 255.255.255.0
[SwitchA-Vsi-interface1] distributed-gateway local
[SwitchA-Vsi-interface1] local-proxy-arp enable
[SwitchA-Vsi-interface1] quit
# 配置 VXLAN 10 所在的 VSI 实例和接口 VSI-interface1 关联。
[SwitchA] vsi vpna
[SwitchA-vsi-vpna] gateway vsi-interface 1
[SwitchA-vsi-vpna] quit
# 创建 VSI 虚接口 VSI-interface2,并为其配置 IP 地址,该 IP 地址作为 VXLAN 30 内虚拟机的网
关地址,指定该 VSI 虚接口为分布式本地网关接口,并使能本地代理 ARP 功能。
[SwitchA] interface vsi-interface 2
[SwitchA-Vsi-interface2] ip address 20.1.1.1 255.255.255.0
[SwitchA-Vsi-interface2] distributed-gateway local
[SwitchA-Vsi-interface2] local-proxy-arp enable
[SwitchA-Vsi-interface2] quit
# 配置 VXLAN 30 所在的 VSI 实例和接口 VSI-interface2 关联。
[SwitchA] vsi vpnc
[SwitchA-vsi-vpnc] gateway vsi-interface 2
[SwitchA-vsi-vpnc] quit
# 配置缺省路由,指定 IPv4 报文如果没有找到匹配的路由表项,则设置报文的下一跳为 Switch B
上接口 VSI-interface1 的 IP 地址 10.1.1.2。
[SwitchA] ip route-static 0.0.0.0 0 vsi-interface 1 10.1.1.2
(3) 配置 Switch B
# 开启 L2VPN 能力。
<SwitchB> system-view
[SwitchB] l2vpn enable
# 配置预留 VLAN 3000~VLAN 3500 接口资源(全局类型)。
[SwitchB] reserve-vlan-interface 3000 to 3500 global
# 创建 VSI 实例 vpna 和 VXLAN 10。
[SwitchB] vsi vpna
[SwitchB-vsi-vpna] vxlan 10
[SwitchB-vsi-vpna-vxlan10] quit
[SwitchB-vsi-vpna] quit
# 创建 VSI 实例 vpnc 和 VXLAN 30。
[SwitchB] vsi vpnc
[SwitchB-vsi-vpnc] vxlan 30
[SwitchB-vsi-vpnc-vxlan30] quit
[SwitchB-vsi-vpnc] 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
5-17
[SwitchB-Tunnel2] quit
# 在 Switch B 和 Switch 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
# 配置 Tunnel2 与 VXLAN 10 关联。
[SwitchB] vsi vpna
[SwitchB-vsi-vpna] vxlan 10
[SwitchB-vsi-vpna-vxlan10] tunnel 2
[SwitchB-vsi-vpna-vxlan10] quit
[SwitchB-vsi-vpna] quit
# 配置 Tunnel3 与 VXLAN 30 关联。
[SwitchB] vsi vpnc
[SwitchB-vsi-vpnc] vxlan 30
[SwitchB-vsi-vpnc-vxlan30] tunnel 3
[SwitchB-vsi-vpnc-vxlan30] quit
[SwitchB-vsi-vpnc] quit
# 创建 VSI 虚接口 VSI-interface1,并为其配置 IP 地址。
[SwitchB] interface vsi-interface 1
[SwitchB-Vsi-interface1] ip address 10.1.1.2 255.255.255.0
[SwitchB-Vsi-interface1] quit
# 创建 VSI 虚接口 VSI-interface3,并为其配置 IP 地址。
[SwitchB] interface vsi-interface 3
[SwitchB-Vsi-interface3] ip address 20.1.1.2 255.255.255.0
[SwitchB-Vsi-interface3] quit
# 配置 VXLAN 10 所在的 VSI 实例和接口 VSI-interface1 关联。
[SwitchB] vsi vpna
[SwitchB-vsi-vpna] gateway vsi-interface 1
[SwitchB-vsi-vpna] quit
# 配置 VXLAN 30 所在的 VSI 实例和接口 VSI-interface3 关联。
[SwitchB] vsi vpnc
[SwitchB-vsi-vpnc] gateway vsi-interface 3
[SwitchB-vsi-vpnc] quit
(4) 配置 Switch C
# 开启 L2VPN 能力。
<SwitchC> system-view
[SwitchC] l2vpn enable
# 配置预留 VLAN 3000~VLAN 3500 接口资源(全局类型)。
[SwitchC] reserve-vlan-interface 3000 to 3500 global
# 创建 VSI 实例 vpna 和 VXLAN 10。
[SwitchC] vsi vpna
[SwitchC-vsi-vpna] vxlan 10
[SwitchC-vsi-vpna-vxlan10] quit
[SwitchC-vsi-vpna] quit
# 创建 VSI 实例 vpnb 和 VXLAN 30。
5-18
[SwitchC] vsi vpnb
[SwitchC-vsi-vpnb] vxlan 30
[SwitchC-vsi-vpnb-vxlan30] quit
[SwitchC-vsi-vpnb] 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 B 和 Switch 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
# 配置 Tunnel1 与 VXLAN 10 关联。
[SwitchC] vsi vpna
[SwitchC-vsi-vpna] vxlan 10
[SwitchC-vsi-vpna-vxlan10] tunnel 1
[SwitchC-vsi-vpna-vxlan10] quit
[SwitchC-vsi-vpna] quit
# 配置 Tunnel1 和 Tunnel3 与 VXLAN 30 关联。
[SwitchC] vsi vpnb
[SwitchC-vsi-vpnb] vxlan 30
[SwitchC-vsi-vpnb-vxlan20] tunnel 1
[SwitchC-vsi-vpnb-vxlan20] tunnel 3
[SwitchC-vsi-vpnb-vxlan20] quit
[SwitchC-vsi-vpnb] quit
# 创建 VLAN4,将 FortyGigE1/0/1 端口加入 VLAN4,并创建 VLAN 虚接口 Vlan-interface 4。
[SwitchC] vlan 4
[SwitchC–vlan4] port fortygige 1/0/1
[SwitchC–vlan4] quit
[SwitchC] interface vlan-interface 4
# 在接入 VM 3 的接口 FortyGigE1/0/1 上创建以太网服务实例 1000,该实例用来匹配 VLAN 4 的数
据帧。
[SwitchC] interface fortygige 1/0/1
[SwitchC-FortyGigE1/0/1] service-instance 1000
[SwitchC-FortyGigE1/0/1-srv1000] encapsulation s-vid 4
# 配置以太网服务实例 1000 与 VSI 实例 vpnb 关联。
[SwitchC-FortyGigE1/0/1-srv1000] xconnect vsi vpnb
[SwitchC-FortyGigE1/0/1-srv1000] quit
[SwitchC-FortyGigE1/0/1] quit
# 创建 VSI 虚接口 VSI-interface1,并为其配置 IP 地址,该 IP 地址作为 VXLAN 10 内虚拟机的网
关地址,指定该 VSI 虚接口为分布式本地网关接口,并使能本地代理 ARP 功能。
5-19
[SwitchC] interface vsi-interface 1
[SwitchC-Vsi-interface1] ip address 10.1.1.1 255.255.255.0
[SwitchC-Vsi-interface1] distributed-gateway local
[SwitchC-Vsi-interface1] local-proxy-arp enable
[SwitchC-Vsi-interface1] quit
# 配置 VXLAN 10 所在的 VSI 实例和接口 VSI-interface1 关联。
[SwitchC] vsi vpna
[SwitchC-vsi-vpna] gateway vsi-interface 1
[SwitchC-vsi-vpna] quit
# 创建 VSI 虚接口 VSI-interface2,并为其配置 IP 地址,该 IP 地址作为 VXLAN 30 内虚拟机的网
关地址,指定该 VSI 虚接口为分布式本地网关接口,并使能本地代理 ARP 功能。
[SwitchC] interface vsi-interface 2
[SwitchC-Vsi-interface2] ip address 20.1.1.1 255.255.255.0
[SwitchC-Vsi-interface2] distributed-gateway local
[SwitchC-Vsi-interface2] local-proxy-arp enable
[SwitchC-Vsi-interface2] quit
# 配置 VXLAN 30 所在的 VSI 实例和接口 VSI-interface2 关联。
[SwitchC] vsi vpnb
[SwitchC-vsi-vpnb] gateway vsi-interface 2
[SwitchC-vsi-vpnb] quit
# 配置缺省路由,指定 IPv4 报文如果没有找到匹配的路由表项,则设置报文的下一跳为 Switch B
上接口 VSI-interface1 的 IP 地址 10.1.1.2。
[SwitchC] ip route-static 0.0.0.0 0 vsi-interface 1 10.1.1.2
4. 验证配置
(1) 验证分布式 VXLAN IP 网关设备 Switch A
# 查看 Switch A 上的 Tunnel 接口信息,可以看到 VXLAN 模式的 Tunnel 接口处于 up 状态。
[SwitchA] display interface tunnel 2
Tunnel2
Current state: UP
Line protocol state: UP
Description: Tunnel2 Interface
Bandwidth: 64 kbps
Maximum transmission unit: 64000
Internet protocol processing: Disabled
Last clearing of counters: Never
Tunnel source 1.1.1.1, destination 3.3.3.3
Tunnel protocol/transport UDP_VXLAN/IP
# 查看 Switch A 上的 VSI 虚接口信息,可以看到 VSI 虚接口处于 up 状态。
[SwitchA] display interface Vsi-interface
Vsi-interface1
Current state: UP
Line protocol state: UP
Description: Vsi-interface1 Interface
Bandwidth: 1000000kbps
Maximum transmission unit: 1500
Internet Address is 10.1.1.1/24 Primary
5-20
IP Packet Frame Type:PKTFMT_ETHNT_2, Hardware Address: 0011-2200-0102
IPv6 Packet Frame Type:PKTFMT_ETHNT_2, Hardware Address: 0011-2200-0102
Physical: Unknown, baudrate: 1000000 kbps
Last clearing of counters: Never
Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Input: 0 packets, 0 bytes, 0 drops
Output: 0 packets, 0 bytes, 0 drops
Vsi-interface2
Current state: UP
Line protocol state: UP
Description: Vsi-interface2 Interface
Bandwidth: 1000000kbps
Maximum transmission unit: 1500
Internet Address is 20.1.1.1/24 Primary
IP Packet Frame Type:PKTFMT_ETHNT_2, Hardware Address: 0011-2200-0103
IPv6 Packet Frame Type:PKTFMT_ETHNT_2, Hardware Address: 0011-2200-0103
Physical: Unknown, baudrate: 1000000 kbps
Last clearing of counters: Never
Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Input: 0 packets, 0 bytes, 0 drops
Output: 0 packets, 0 bytes, 0 drops
# 查看 Switch A 上的 VSI 信息,可以看到 VSI 内创建的 VXLAN、与 VXLAN 关联的 VXLAN 隧道、
与 VSI 关联的 VSI 虚接口等信息。
[SwitchA] display l2vpn vsi name vpna 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
Gateway Interface : VSI-interface 1
VXLAN ID : 10
Tunnels:
Tunnel Name Link ID State Type
Tunnel1 0x5000001 Up Manual
Tunnel2 0x5000002 Up Manual
ACs:
AC Link ID State
FGE1/0/1 srv1000 0 Up
5-21
# 查看 Switch A 上 VSI 的 ARP 表项信息,可以看到已学习到了虚拟机的 ARP 信息。
[SwitchA] display arp
Type: S-Static D-Dynamic O-Openflow M-Multiport I-Invalid
IP address MAC address VLAN Interface Aging Type
11.1.1.4 000c-29c1-5e46 N/A Vlan11 19 D
10.1.1.2 0003-0000-0000 N/A Vsi1 20 D
10.1.1.11 0cda-41b5-cf09 N/A Vsi1 20 D
20.1.1.12 0000-fc00-0b01 N/A Vsi2 19 D
(2) 验证边界网关设备 Switch B
# 查看 Switch B 上的 Tunnel 接口信息,可以看到 VXLAN 模式的 Tunnel 接口处于 up 状态。
[SwitchB] display interface tunnel 2
Tunnel2
Current state: UP
Line protocol state: UP
Description: Tunnel2 Interface
Bandwidth: 64 kbps
Maximum transmission unit: 64000
Internet protocol processing: Disabled
Last clearing of counters: Never
Tunnel source 2.2.2.2, destination 1.1.1.1
Tunnel protocol/transport UDP_VXLAN/IP
# 查看 Switch B 上的 VSI 虚接口信息,可以看到 VSI 虚接口处于 up 状态。
[SwitchB] display interface Vsi-interface 1
Vsi-interface1
Current state: UP
Line protocol state: UP
Description: Vsi-interface1 Interface
Bandwidth: 1000000kbps
Maximum transmission unit: 1500
Internet Address is 10.1.1.2/24 Primary
IP Packet Frame Type:PKTFMT_ETHNT_2, Hardware Address: 0011-2200-0102
IPv6 Packet Frame Type:PKTFMT_ETHNT_2, Hardware Address: 0011-2200-0102
Physical: Unknown, baudrate: 1000000 kbps
Last clearing of counters: Never
Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Input: 0 packets, 0 bytes, 0 drops
Output: 0 packets, 0 bytes, 0 drops
# 查看 Switch B 上的 VSI 信息,可以看到 VSI 内创建的 VXLAN、与 VXLAN 关联的 VXLAN 隧道、
与 VSI 关联的 VSI 虚接口等信息。
[SwitchB] display l2vpn vsi name vpna verbose
VSI Name: vpna
VSI Index : 0
VSI State : Up
MTU : 1500
Bandwidth : -
Broadcast Restrain : -
5-22
5-23
Multicast Restrain : -
Unknown Unicast Restrain: -
MAC Learning : Enabled
MAC Table Limit : -
Drop Unknown : -
Flooding : Enabled
Gateway interface : VSI-interface 1
VXLAN ID : 10
Tunnels:
Tunnel Name Link ID State Type
Tunnel1 0x5000001 Up Manual
# 查看 Switch B 上 VSI 的 ARP 表项信息,可以看到已学习到了虚拟机的 ARP 信息。
[SwitchB] display arp
Type: S-Static D-Dynamic O-Openflow M-Multiport I-Invalid
IP address MAC address VLAN Interface Aging Type
12.1.1.4 0000-fc00-00ab N/A Vlan12 14 D
25.1.1.5 4431-9234-24bb N/A Vlan20 17 D
10.1.1.1 0000-fc00-00ab N/A Vsi1 17 D
10.1.1.11 0000-fc00-00ab N/A Vsi1 20 D
20.1.1.1 0000-fc00-00aa N/A Vsi3 17 D
20.1.1.12 0000-fc00-00aa N/A Vsi3 20 D
# 查看 Switch B 上 FIB 表项信息,可以看到已学习到了虚拟机的转发表项信息。
[SwitchB] display fib 10.1.1.11
Destination count: 1 FIB entry count: 1
Flag:
U:Useable G:Gateway H:Host B:Blackhole D:Dynamic S:Static
R:Relay F:FRR
Destination/Mask Nexthop Flag OutInterface/Token Label
10.1.1.11/32 10.1.1.11 UH Vsi1 Null
[SwitchB] display fib 20.1.1.12
Destination count: 1 FIB entry count: 1
Flag:
U:Useable G:Gateway H:Host B:Blackhole D:Dynamic S:Static
R:Relay F:FRR
Destination/Mask Nexthop Flag OutInterface/Token Label
20.1.1.12/32 20.1.1.12 UH Vsi1 Null
(3) 验证主机和广域网互访
虚拟机 VM 1、VM 3 之间可以互访;VM 1 和 VM 3 可以与 Switch E 上接口 Vlan-interface20 的地
址 25.1.1.5 之间互访。

More Related Content

PDF
华为CloudEngine 12800交换机TRILL技术白皮书
PPTX
MP BGP-EVPN 실전기술-1편(개념잡기)
PPTX
VXLAN Practice Guide
PDF
How VXLAN works on Linux
PPTX
Vxlan deep dive session rev0.5 final
PDF
Brkdcn 2035 multi-x
PDF
Ovn vancouver
PDF
11 zhuai chuanpu h3 c
华为CloudEngine 12800交换机TRILL技术白皮书
MP BGP-EVPN 실전기술-1편(개념잡기)
VXLAN Practice Guide
How VXLAN works on Linux
Vxlan deep dive session rev0.5 final
Brkdcn 2035 multi-x
Ovn vancouver
11 zhuai chuanpu h3 c

More from Mason Mei (20)

PDF
10 2013 sdn summit ch reviewed-new
PDF
08 sdn system intelligence short public beijing sdn conference - 130828
PDF
07 tang xiongyan
PDF
06 duan xiaodong
PDF
05 zhao huiling
PDF
04 hou ziqiang
PDF
03 jiang lintao
PDF
02 china sdn conf ron keynote
PDF
01 dan chinese-chinese sdn china 2013- dan's keynote draft aug 14 2013
PDF
New idc architecture
PPTX
H3 cswitch2015
PDF
201507131408448146
PDF
Atf 3 q15-8 - introducing macro-segementation
PDF
Atf 3 q15-9 - summary and close
PDF
Atf 3 q15-7 - delivering cloud scale workflow automation control and visibili...
PDF
Atf 3 q15-4 - scaling the the software driven cloud network
PDF
Atf 3 q15-6 - solutions for scaling the cloud computing network infrastructure
PDF
Atf 3 q15-5 - streamlining and automating virtual network control
PDF
Atf 3 q15-3 - transitioning to an automated
PDF
Atf 3 q15-2 - product preview
10 2013 sdn summit ch reviewed-new
08 sdn system intelligence short public beijing sdn conference - 130828
07 tang xiongyan
06 duan xiaodong
05 zhao huiling
04 hou ziqiang
03 jiang lintao
02 china sdn conf ron keynote
01 dan chinese-chinese sdn china 2013- dan's keynote draft aug 14 2013
New idc architecture
H3 cswitch2015
201507131408448146
Atf 3 q15-8 - introducing macro-segementation
Atf 3 q15-9 - summary and close
Atf 3 q15-7 - delivering cloud scale workflow automation control and visibili...
Atf 3 q15-4 - scaling the the software driven cloud network
Atf 3 q15-6 - solutions for scaling the cloud computing network infrastructure
Atf 3 q15-5 - streamlining and automating virtual network control
Atf 3 q15-3 - transitioning to an automated
Atf 3 q15-2 - product preview
Ad

16 vxlan配置指导-整本手册

  • 1. H3C S12500-X & S12500X-AF 系列以太网交换机 VXLAN 配置指导 杭州华三通信技术有限公司 http://www.h3c.com.cn 资料版本:6W100-20150430 产品版本:Release 1135
  • 2. Copyright © 2015 杭州华三通信技术有限公司及其许可者 版权所有,保留一切权利。 未经本公司书面许可,任何单位和个人不得擅自摘抄、复制本书内容的部分或全部,并不得以任何 形式传播。 H3C、 、H3CS、H3CIE、H3CNE、Aolynk、 、H3 Care、 、IRF、NetPilot、 Netflow、SecEngine、SecPath、SecCenter、SecBlade、Comware、ITCMM、HUASAN、华三 均为杭州华三通信技术有限公司的商标。对于本手册中出现的其它公司的商标、产品标识及商品名 称,由各自权利人拥有。 由于产品版本升级或其他原因,本手册内容有可能变更。H3C 保留在没有任何通知或者提示的情况 下对本手册的内容进行修改的权利。本手册仅作为使用指导,H3C 尽全力在本手册中提供准确的信 息,但是 H3C 并不确保手册内容完全没有错误,本手册中的所有陈述、信息和建议也不构成任何 明示或暗示的担保。
  • 3. 前 言 H3C S12500-X & S12500X-AF 系列以太网交换机 配置指导(R1135)共分为十六本手册,介绍了 S12500-X & S12500X-AF 系列以太网交换机 Release 1135 版本各软件特性的原理及其配置方法, 包含原理简介、配置任务描述和配置举例。《VXLAN 配置指导》主要介绍了 VXLAN 技术的原理及 具体配置方法。 前言部分包含如下内容: • 读者对象 • 本书约定 • 资料获取方式 • 技术支持 • 资料意见反馈 读者对象 本手册主要适用于如下工程师: • 网络规划人员 • 现场技术支持与维护人员 • 负责网络配置和维护的网络管理员 本书约定 1. 命令行格式约定 格 式 意 义 粗体 命令行关键字(命令中保持不变、必须照输的部分)采用加粗字体表示。 斜体 命令行参数(命令中必须由实际值进行替代的部分)采用斜体表示。 [ ] 表示用“[ ]”括起来的部分在命令配置时是可选的。 { x | y | ... } 表示从多个选项中仅选取一个。 [ x | y | ... ] 表示从多个选项中选取一个或者不选。 { x | y | ... } * 表示从多个选项中至少选取一个。 [ x | y | ... ] * 表示从多个选项中选取一个、多个或者不选。 &<1-n> 表示符号&前面的参数可以重复输入1~n次。 # 由“#”号开始的行表示为注释行。
  • 4. 2. 图形界面格式约定 格 式 意 义 < > 带尖括号“< >”表示按钮名,如“单击<确定>按钮”。 [ ] 带方括号“[ ]”表示窗口名、菜单名和数据表,如“弹出[新建用户]窗口”。 / 多级菜单用“/”隔开。如[文件/新建/文件夹]多级菜单表示[文件]菜单下的[新建]子菜单下 的[文件夹]菜单项。 3. 各类标志 本书还采用各种醒目标志来表示在操作过程中应该特别注意的地方,这些标志的意义如下: 该标志后的注释需给予格外关注,不当的操作可能会对人身造成伤害。 提醒操作中应注意的事项,不当的操作可能会导致数据丢失或者设备损坏。 为确保设备配置成功或者正常工作而需要特别关注的操作或信息。 对操作内容的描述进行必要的补充和说明。 配置、操作、或使用设备的技巧、小窍门。 4. 图标约定 本书使用的图标及其含义如下: 该图标及其相关描述文字代表一般网络设备,如路由器、交换机、防火墙等。 该图标及其相关描述文字代表一般意义下的路由器,以及其他运行了路由协议的设备。 该图标及其相关描述文字代表二、三层以太网交换机,以及运行了二层协议的设备。 该图标及其相关描述文字代表无线控制器、无线控制器业务板和有线无线一体化交换机的 无线控制引擎设备。 该图标及其相关描述文字代表无线接入点设备。 该图标及其相关描述文字代表无线Mesh设备。 该图标代表发散的无线射频信号。 该图标代表点到点的无线射频信号。 该图标及其相关描述文字代表防火墙、UTM、多业务安全网关、负载均衡等安全设备。        
  • 5. 该图标及其相关描述文字代表防火墙插卡、负载均衡插卡、NetStream插卡、SSL VPN插 卡、IPS插卡、ACG插卡等安全插卡。 5. 端口编号示例约定 本手册中出现的端口编号仅作示例,并不代表设备上实际具有此编号的端口,实际使用中请以设备 上存在的端口编号为准。 资料获取方式 您可以通过H3C网站(www.h3c.com.cn)获取最新的产品资料: H3C 网站与产品资料相关的主要栏目介绍如下: • [服务支持/文档中心]:可以获取硬件安装类、软件升级类、配置类或维护类等产品资料。 • [产品技术]:可以获取产品介绍和技术介绍的文档,包括产品相关介绍、技术介绍、技术白皮 书等。 • [解决方案]:可以获取解决方案类资料。 • [服务支持/软件下载]:可以获取与软件版本配套的资料。 技术支持 用户支持邮箱:service@h3c.com 技术支持热线电话:400-810-0504(手机、固话均可拨打) 网址:http://www.h3c.com.cn 资料意见反馈 如果您在使用过程中发现产品资料的任何问题,可以通过以下方式反馈: E-mail:info@h3c.com 感谢您的反馈,让我们做得更好!
  • 6. 目 录 1 VXLAN简介········································································································································1-1  1.1 VXLAN网络模型································································································································1-2  1.2 VXLAN报文封装格式·························································································································1-3  1.3 VXLAN运行机制································································································································1-3  1.3.1 建立VXLAN隧道,并将VXLAN隧道与VXLAN关联·································································1-3  1.3.2 识别报文所属的VXLAN ··········································································································1-4  1.3.3 学习MAC地址 ·························································································································1-4  1.3.4 接入模式 ·································································································································1-5  1.3.5 VXLAN隧道工作模式··············································································································1-5  1.3.6 转发单播流量··························································································································1-5  1.3.7 转发泛洪流量··························································································································1-7  1.4 ARP泛洪抑制 ····································································································································1-9  1.5 协议规范··········································································································································1-10  2 配置VXLAN········································································································································2-1  2.1 VXLAN配置任务简介·························································································································2-1  2.2 配置VXLAN隧道工作模式 ·················································································································2-1  2.3 创建VSI和VXLAN······························································································································2-2  2.4 创建VXLAN隧道································································································································2-2  2.5 关联VXLAN与VXLAN隧道 ················································································································2-3  2.6 配置AC与VSI关联 ·····························································································································2-4  2.7 管理本地和远端MAC地址··················································································································2-4  2.7.1 配置本端MAC地址添加/删除的日志功能 ················································································2-5  2.7.2 添加静态远端MAC地址···········································································································2-5  2.7.3 开启远端MAC地址自动学习功能 ····························································································2-5  2.8 配置VXLAN组播路由泛洪方式 ··········································································································2-6  2.9 配置VSI泛洪抑制·······························································································································2-7  2.10 配置VXLAN报文的目的UDP端口号·································································································2-7  2.11 配置VXLAN报文检查功能 ···············································································································2-7  2.12 配置ARP泛洪抑制 ···························································································································2-8  2.13 配置VXLAN流量统计·······················································································································2-8  2.14 VXLAN显示和维护 ··························································································································2-9  2.15 VXLAN典型配置举例·····················································································································2-10  i
  • 7. 2.15.1 VXLAN头端复制配置举例···································································································2-10  2.15.2 VXLAN核心复制配置举例···································································································2-14  3 ENDP·················································································································································3-1  3.1 ENDP简介·········································································································································3-1  3.1.1 ENDP基本运行机制················································································································3-1  3.1.2 ENDP定时探测和老化 ············································································································3-1  3.1.3 ENDP认证功能 ·······················································································································3-1  3.2 配置ENDP·········································································································································3-2  3.3 ENDP显示和维护 ······························································································································3-3  3.4 ENDP典型配置举例···························································································································3-4  3.4.1 VXLAN邻居自动发现配置举例································································································3-4  4 VXLAN IS-IS协议·······························································································································4-1  4.1 VXLAN IS-IS协议配置任务简介 ········································································································4-1  4.2 为VXLAN IS-IS指定预留VXLAN ·······································································································4-1  4.3 自动关联VXLAN与VXLAN隧道 ·········································································································4-1  4.4 配置通过VXLAN IS-IS同步MAC地址 ································································································4-2  4.5 调整和优化VXLAN IS-IS ···················································································································4-2  4.5.1 配置VXLAN IS-IS Hello报文的发送 ························································································4-2  4.5.2 配置DED的优先级和CSNP报文发送时间间隔········································································4-3  4.5.3 配置LSP相关参数 ···················································································································4-3  4.5.4 配置邻接状态变化的输出开关·································································································4-4  4.5.5 配置VXLAN IS-IS GR ·············································································································4-5  4.5.6 配置VXLAN IS-IS虚拟系统·····································································································4-5  4.6 VXLAN IS-IS显示和维护 ···················································································································4-6  4.7 VXLAN ISIS典型配置举例·················································································································4-6  5 VXLAN IP网关 ···································································································································5-1  5.1 VXLAN IP网关简介····························································································································5-1  5.1.1 独立的VXLAN IP网关 ·············································································································5-1  5.1.2 集中式VXLAN IP网关 ·············································································································5-2  5.1.3 分布式VXLAN IP网关 ·············································································································5-4  5.2 配置集中式VXLAN IP网关·················································································································5-7  5.3 配置分布式VXLAN IP网关·················································································································5-7  5.4 配置VSI虚接口 ··································································································································5-8  5.5 VXLAN IP网关显示和维护·················································································································5-9  5.6 VXLAN IP网关典型配置举例·············································································································5-9  5.6.1 集中式VXLAN IP网关配置举例·······························································································5-9  ii
  • 9. 1 VXLAN简介 • 仅 FX、FC 类型的单板支持配置 VXLAN 功能。 设备。 备后才能生效。有关设备工作模式的详细介绍请参见“基础配 置指导”中的“设备管理”。 • FC 类型的单板不支持用作 VXLAN IP 网关。 • FX 类型的单板用作集中式 VXLAN IP 网关时,不能同时用作接入本地站点的 VTEP • VXLAN 功能受设备的工作模式限制,在使用 VXLAN 功能前,请在系统视图下使用 “system-working-mode standard”命令将设备设置为标准模式,需要注意的是,使用该命 令修改设备的工作模式时,需要保存设备当前配置文件,再删除文件名后缀为“.mdb”的二进 制类型的配置文件,然后重启设 VXLAN(Virtual eXtensible LAN,可扩展虚拟局域网络)是基于 IP 网络、采用“MAC in UDP”封 装形式的二层 VPN 技术。VXLAN 可以基于已有的服务提供商或企业 IP 网络,为分散的物理站点 不同的租户提供业务隔离。VXLAN 主要应用于数据中心网络。 )个 VXLAN, 转发报文,降低了网络部署的难度和费用。 目前,设备只支持基于 IPv4 网络的 VXLAN 技术。 提供二层互联,并能够为 VXLAN 具有如下特点: • 支持大量的租户:使用 24 位的标识符,最多可支持 2 的 24 次方(16777216 支持的租户数目大规模增加,解决了传统二层网络 VLAN 资源不足的问题。 • 易于维护:基于 IP 网络组建大二层网络,使得网络部署和维护更加容易,并且可以充分地利 用现有的 IP 网络技术,例如利用等价路由进行负载分担等;只有 IP 核心网络的边缘设备需要 进行 VXLAN 处理,网络中间设备只需根据 IP 头 1-1
  • 10. 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
  • 11. 1.2 VXLAN报文封装格式 图1-2 VXLAN 报文封装示意图 原始二层数据帧外层UDP头 VXLAN头外层IP头 标记位 RRRRIRRR 保留未用 VXLAN ID 保留未用 如图 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 地址。 • 自动方式:通过 ENDP(Enhanced Neighbor Discovery Protocol,增强的邻居发现协议)发 现远端 VTEP 后,自动在本端和远端 VTEP 之间建立 VXLAN 隧道。 2. 关联VXLAN隧道与VXLAN VXLAN 隧道与 VXLAN 关联的方式有如下两种: • 手工方式:手工将 VXLAN 隧道与 VXLAN 关联。 • 自动方式:VXLAN 扩展了 IS-IS 协议来发布 VXLAN ID 信息。VTEP 在所有 VXLAN 隧道上通 过 VXLAN IS-IS 将本地存在的 VXLAN 的 ID 通告给远端 VTEP。远端 VTEP 将其与本地的 1-3
  • 12. 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 隧道接口。 1-4
  • 13. • 通过报文中的源MAC地址动态学习:VTEP从VXLAN隧道上接收到远端VTEP发送的VXLAN 报文后,根据 VXLAN ID 判断报文所属的 VXLAN,对报文进行解封装,还原二层数据帧,并 将数据帧中的源 MAC 地址(远端虚拟机的 MAC 地址)添加到所属 VXLAN 对应 VSI 的 MAC 地址表中,该 MAC 地址对应的接口为 VXLAN 隧道接口。 • 通过 IS-IS 协议学习:VXLAN 扩展了 IS-IS 协议来发布远端 MAC 地址信息。在 VTEP 上运行 VXLAN IS-IS 协议,通过 VXLAN 隧道将本地 MAC 地址及其所属的 VXLAN 信息通告给远端 VTEP。远端 VTEP 接收到该信息后,将其添加到所属 VXLAN 对应 VSI 的 MAC 地址表中, 该 MAC 地址对应的接口为接收该信息的 VXLAN 隧道接口。 静态配置的远端 MAC 地址表项优先级高于源 MAC 地址动态学习和通过 IS-IS 协议学习的表项。源 MAC 地址动态学习和通过 IS-IS 协议学习的表项优先级相同,后生成的表项可以覆盖已经存在的表 项。 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 VXLAN隧道工作模式 VXLAN 隧道支持如下两种工作模式: • 三层转发模式:VTEP 设备通过查找 ARP 表项对流量进行转发。 • 二层转发模式:VTEP 通过查找 MAC 地址表项对流量进行转发。 本章主要介绍VXLAN工作在二层转发模式时的工作原理,当VXLAN隧道工作在三层转发模式时, 可以用作VXLAN IP网关,具体介绍请参见“5 VXLAN IP网关”。 1.3.6 转发单播流量 完成本地和远端 MAC 地址学习后,VTEP 在 VXLAN 内转发单播流量的过程如下所述。 1. 站点内流量 对于站点内流量,VTEP 判断出报文所属的 VSI 后,根据目的 MAC 地址查找该 VSI 的 MAC 地址表, 从相应的本地接口转发给目的 VM。 1-5
  • 14. 图1-4 站点内单播流量转发 如图 1-4所示,VM 1(MAC地址为MAC 1)发送以太网帧到VM 4(MAC地址为MAC 4)时,VTEP 1 从接口FortyGigE1/0/1 收到该以太网帧后,判断该数据帧属于VSI A(VXLAN 10),查找VSI A的 MAC地址表,得到MAC 4 的出接口为FortyGigE1/0/2,所在VLAN为VLAN 10,则将以太网帧从接 口FortyGigE1/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。 1-6
  • 15. (2) VTEP 1 从接口 FortyGigE1/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 的出端口为 FortyGigE1/0/1,所在 VLAN 为 VLAN 20。 (6) VTEP 2 从接口 FortyGigE1/0/1 的 VLAN 20 内将数据帧发送给 VM 7。 1.3.7 转发泛洪流量 泛洪流量包括组播、广播和未知单播流量。根据复制方式的不同,流量泛洪方式分为单播路由方式 (头端复制)和组播路由方式(核心复制)两种。 1. 单播路由方式(头端复制) 在单播路由方式下,VTEP 负责复制报文,采用单播方式将复制后的报文通过本地接口发送给本地 站点,并通过 VXLAN 隧道发送给 VXLAN 内的所有远端 VTEP。 图1-6 单播路由方式转发示意图 如图 1-6所示,单播路由方式的泛洪流量转发过程为: (1) VTEP 1接收到本地虚拟机发送的组播、广播和未知单播数据帧后,判断数据帧所属的 VXLAN, 通过该 VXLAN 内除接收接口外的所有本地接口和 VXLAN 隧道转发该数据帧。通过 VXLAN 1-7
  • 16. 隧道转发数据帧时,需要为其封装 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-8
  • 17. 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 请求进行泛洪。 1-9
  • 18. 1-10 (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
  • 19. 2 配置VXLAN 2.1 VXLAN配置任务简介 中的设备只需要配置路由协议,确保 VTEP 之间路由可达。VXLAN 表2-1 VXLAN 配置任 在 VXLAN 组网中,IP 核心网络 相关配置都在 VTEP 上进行。 务简介 配置任务 说明 详细配置 配置VXLAN隧道工作模式 必选 2.2 创建VSI和VXLAN 必选 2.3 创建VXLAN隧道 必选 2.4 关联VXLAN与VXLAN隧道 必选 2.5 配置AC与VSI关联 必选 2.6 管理本地和远端MAC地址 可选 2.7 配置VSI泛洪抑制 可选 2.9 配置VXLAN报文的目的UDP端口号 可选 2.10 配置VXLAN报文检查功能 可选 2.11 配置ARP泛洪抑制 可选 2.12 配置VXLAN流量统计 可选 2.13 2.2 配置VXLAN隧道工作模式 表2-2 配置 AN 隧道工作模式VXL 操作 命令 说明 进入系统视图 system-view - 配置VXLAN 道工作在二 层转发模式 undo vxlan ip-forwarding 缺省情况下, 隧道工作在三层转发 配置 转发模式。有关 VXLAN IP 隧 二者选其一 VXLAN 模式 当设备仅用作VTEP时,需要配置VXLAN 隧道工作在二层转发模式;当设备同时用 作VTEP和VXLAN IP网关时,需要 VXLAN隧道工作在三层 网关的详细介绍请参见 “5 VXLAN IP网关” 修改本配置 先删除设 配置VXLAN 道工作在三 层转发模式 vxlan ip-forwarding 前必须 备上的所有 VSI、VSI虚接口和VXLAN隧道,否则将配 置失败 隧 2-1
  • 20. 2.3 和VXLAN创建VSI 当 VXLAN 隧道工作在三层转发模式时,在 VSI 视图创建 VXLAN 前,需要先配置全局类型 VLAN 接口资源预留。每创建一个 VXLAN,需要预留一个全局类型 VLAN 接口资源,所预留 VLAN 接口 VXLAN 编号可以不同。关于全局类型 VLAN 接口资源预留的详细介绍,请参见“二层技术- VLAN”。 编号与 以太网交换配置指导”中的“ 表2-3 创建 VXLANVSI 和 操作 命令 说明 进入系统视图 -system-view 使能 功能 缺省情况下,L2VPN功能处于关闭状态L2VPN l2vpn enable 创建VSI,并进入VSI视图 缺省情况下,设备上不存在任何VSIvsi vsi-name (可选)设置 的描述信息 缺省情况下,未配置VSI的描述信息VSI description text 开启当前的VSI undo shutdown 缺省情况下,VSI处于开启状态 创建VXLAN,并进入VXLAN 视图 vxlan vxlan-id 在一个VSI下只能创建一个VXLAN 不同VSI下创建的VXLAN,其VXLAN ID不能相同 缺省情况下,设备上不存在任何VXLAN 2.4 3 创建VXLAN隧道 用户可以手工创建VXLAN隧道,也可以通过ENDP发现远端VTEP后自动创建VXLAN隧道。ENDP 的详细介绍和配置方法,请参见“ ENDP”。 建 VTEP 的 表2-4 手工创建 XLAN 隧道 手工创 VXLAN 隧道时,隧道的源端地址和目的端地址需要分别手工指定为本地和远端 接口地址。 V 操作 命令 说明 进入系统视图 system-view - 创建模式为VXLAN隧道的 Tunnel接口,并进入Tunnel接 口视图 interface tunnel tunnel-number mode vxlan 在隧道的两端应配置相同的隧道模 式,否则会造成报文传输失败 缺省情况下,设备上不存在任何 Tunnel接口 2-2
  • 21. 操作 命令 说明 配置隧道的源端地址或源接口 source { ipv4-address | interface-type interface-number } 缺省情况下,没有设置VXLAN隧道的 源端地址和源接口 如果设置的是隧道的源端地址,则该 地址将作为封装后VXLAN报文的源 IP地址;如果设置的是隧道的源接 口,则该接口的主IP地址将作为封装 后VXLAN报文的源IP地址 采用VXLAN组播路由泛洪方式时, VXLAN隧道的源接口不能是 Loopback接口、源端地址不能是 Loopback接口的地址 配置隧道的目的端地址 destination ipv4-address 缺省情况下,未指定隧道的目的端地 址 隧道的目的端地址是对端设备上接 口的IP地址,该地址将作为封装后 VXLAN报文的目的地址 (可选)开启隧道的BFD检测 功能 tunnel bfd enable 缺省情况下,隧道的BFD检测功能处 于关闭状态 2.5 关联VXLAN与VXLAN隧道 一个 VXLAN 可以关联多条 VXLAN 隧道。一条 VXLAN 隧道可以关联多个 VXLAN,这些 VXLAN 共用该VXLAN隧道,VTEP根据VXLAN报文中的VXLAN ID来识别隧道传递的报文所属的VXLAN。 VTEP 接收到某个 VXLAN 的泛洪流量后,如果采用单播路由泛洪方式,则 VTEP 将在与该 VXLAN 关联的所有 VXLAN 隧道上发送该流量,以便将流量转发给所有的远端 VTEP。 用户可以手工关联VXLAN与VXLAN隧道,也可以通过VXLAN IS-IS自动关联VXLAN与VXLAN隧道。 VXLAN IS-IS的详细介绍和配置方法,请参见“4 VXLAN IS-IS协议”。 表2-5 手工关联 VXLAN 与 VXLAN 隧道 操作 命令 说明 进入系统视图 system-view - 进入VSI视图 vsi vsi-name - 进入VXLAN视图 vxlan vxlan-id - 配置VXLAN与VXLAN隧道关联 tunnel tunnel-number 缺省情况下,VXLAN没有与任何 VXLAN隧道关联 VTEP必须与相同VXLAN内的其它 VTEP建立VXLAN隧道,并将该隧道 与VXLAN关联 2-3
  • 22. 2.6 配置AC与VSI关联 将以太网服务实例与 VSI 关联后,从该接口接收到的、符合以太网服务实例报文匹配规则的报文, 将通过查找关联 VSI 的 MAC 地址表进行转发。以太网服务实例提供了多种报文匹配规则(包括接 口接收到的所有报文、所有不携带 VLAN Tag 的报文等),为报文关联 VSI 提供了更加灵活的方式。 表2-6 配置以太网服务实例与 VSI 关联 操作 命令 说明 进入系统视图 system-view - 进入二层以 太网接口视 图或二层聚 合接口视图 进入二层以太网接口视 图 interface interface-type interface-number - 进入二层聚合接口视图 interface bridge-aggregation interface-number 创建以太网服务实例,并进入以太网服 务实例视图 service-instance instance-id 缺省情况下,不存在任何以太网 服务实例 配置以太网 服务实例的 报文匹配规 则 匹配当前端口接收的所 有报文 encapsulation default 请用户选择其中一种匹配方式 进行配置 缺省情况下,未配置任何报文匹 配规则 本系列设备暂不支持匹配携带 任意VLAN标签的报文 以太网服务实例所匹配的 VLAN必须在设备上已经创建 并配置当前接口允许以太网服 务实例所匹配VLAN的报文通 过 匹配携带任意VLAN标 签或不携带VLAN标签 的报文 encapsulation { tagged | untagged } 匹配携带指定外层 VLAN标签的报文 encapsulation s-vid vlan-id [ only-tagged ] 匹配携带指定外层 VLAN标签和内层VLAN 标签的报文 encapsulation s-vid vlan-id c-vid vlan-id 将以太网服务实例与VSI关联 xconnect vsi vsi-name [ access-mode { ethernet | vlan } ] 缺省情况下,以太网服务实例没 有与VSI关联 • 在接口上创建以太网服务实例匹配当前接口接收的部分 VLAN 的报文后,以太网服务实例未匹 配的其它 VLAN 内的组播流量将无法正常转发,请注意避免在上述情况下使用组播业务。 • 接入层 VTEP 设备需要开启 ARP 泛洪抑制功能或同时用作分布式 VXLAN IP 网关时,需要在设 备上创建与以太网服务实例所匹配 VLAN 对应的 VLAN 虚接口,该 VLAN 虚接口可以不配置 IP 地址,但是需保证允许该 VLAN 通过的端口至少有一个处于 Up 状态。 2.7 管理本地和远端MAC地址 本地 MAC 地址只能动态学习,不能静态配置。在动态添加、删除本地 MAC 地址时,可以记录日志 信息。 2-4
  • 23. 远端MAC地址表项可以静态添加,也可以根据接收到的VXLAN报文内封装的源MAC地址自动学习, 或通过VXLAN IS-IS协议学习。通过VXLAN IS-IS协议学习的配置方法,请参见“4 VXLAN IS-IS协 议”。 2.7.1 配置本端MAC地址添加/删除的日志功能 执行本配置后,VXLAN 添加、删除本地 MAC 地址时,将产生日志信息。生成的日志信息将被发送 到设备的信息中心,通过设置信息中心的参数,决定日志信息的输出规则(即是否允许输出以及输 出方向)。 表2-7 配置本端 MAC 地址添加/删除的日志功能 操作 命令 说明 进入系统视图 system-view - 开启VXLAN本地MAC地址添 加/删除的日志功能 vxlan local-mac report 缺省情况下,VXLAN添加/删除本地 MAC地址时不会记录日志信息 2.7.2 添加静态远端MAC地址 表2-8 添加静态远端 MAC 地址 操作 命令 说明 进入系统视图 system-view - 添加静态远端MAC地址表项 mac-address static mac-address interface tunnel tunnel-number vsi vsi-name 缺省情况下,设备上不存在任何静态 的远端MAC地址表项 interface tunnel interface-number 参数指定的隧道接口必须与vsi vsi-name参数指定的VSI对应的 VXLAN关联,且该VXLAN必须已经 创建,否则配置将失败 2.7.3 开启远端MAC地址自动学习功能 缺省情况下,设备可以自动学习远端 MAC 地址。如果网络中存在攻击,为了避免学习到错误的远 端 MAC 地址,也可以手工关闭远端 MAC 地址自动学习功能。 开启 VXLAN IS-IS 的 MAC 地址同步功能时,不能关闭远端 MAC 地址自动学习功能。 表2-9 开启远端 MAC 地址自动学习功能 操作 命令 说明 进入系统视图 system-view - 2-5
  • 24. 操作 命令 说明 开启远端MAC地址自动学习功 能 undo vxlan tunnel mac-learning disable 缺省情况下,远端MAC地址自动学习 功能处于开启状态 2.8 配置VXLAN组播路由泛洪方式 配置 VXLAN 采用组播路由方式转发泛洪流量后,如果组播路由隧道 down 掉,即使还存在单播路 由隧道,泛洪流量也不会沿单播路由隧道转发。 配置 VXLAN 组播路由泛洪方式时,需要完成以下配置任务: • 在 VTEP 和核心设备上启动三层组播路由功能。 • 在核心设备上配置 IGMP 和组播路由协议。 表2-10 配置 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隧道的源端地址 进入组播报文源IP地址所 在接口的接口视图 interface interface-type interface-number 组播报文源IP地址是指通过group命令中的 source参数指定的地址 在接口上使能IGMP协议的 主机功能 igmp host enable 缺省情况下,接口上IGMP协议的主机功能处 于关闭状态 执行本命令后,当前接口将作为IGMP主机, 即从该接口收到IGMP查询报文后,通过该接 口发送组播组的报告报文,以便接收该组播组 的报文 只有通过multicast routing命令使能IP组播 路由后,本命令才会生效 2-6
  • 25. 2.9 配置VSI泛洪抑制 缺省情况下,VTEP 从本地站点内接收到目的 MAC 地址未知的单播数据帧后,会在该 VXLAN 内除 接收接口外的所有本地接口和 VXLAN 隧道上泛洪该数据帧,将该数据帧发送给 VXLAN 内的所有 站点。如果用户希望把该类数据帧限制在本地站点内,不通过 VXLAN 隧道将其转发到远端站点, 则可以通过本命令手工禁止 VXLAN 对应 VSI 的泛洪功能。 禁止泛洪功能后,为了将某些 MAC 地址的数据帧泛洪到远端站点以保证某些业务的流量在站点间 互通,可以配置选择性泛洪的 MAC 地址,当数据帧的目的 MAC 地址匹配该 MAC 地址时,该数据 帧可以泛洪到远端站点。 表2-11 配置 VSI 泛洪抑制 操作 命令 说明 进入系统视图 system-view - 进入VSI视图 vsi vsi-name - 关闭VSI的泛洪功能 flooding disable 缺省情况下,VSI泛洪功能处于开启状态 配置VSI选择性泛洪 的MAC地址 selective-flooding mac-addres mac-address 缺省情况下,设备上不存在任何VSI选择 性泛洪MAC地址 如果用户只希望某些目的MAC地址的报 文可以泛洪到其它站点,可以先通过 flooding disable命令关闭泛洪功能,再 通过本命令配置选择性泛洪的MAC地址 2.10 配置VXLAN报文的目的UDP端口号 属于同一个 VXLAN 的 VTEP 设备上需要配置相同的 UDP 端口号。 表2-12 配置 VXLAN 报文的目的 UDP 端口号 操作 命令 说明 进入系统视图 system-view - 配置VXLAN报文的目的UDP端口号 vxlan udp-port port-number 缺省情况下,VXLAN报文的目的 UDP端口号为4789 2.11 配置VXLAN报文检查功能 通过本配置可以实现对接收到的 VXLAN 报文的 UDP 校验和、内层封装的以太网数据帧是否携带 VLAN tag 进行检查: • UDP 校验和检查:VTEP 接收到 VXLAN 报文后,检查该报文的 UDP 校验和是否为 0。若 UDP 校验和为 0,则接收该报文;若 UDP 校验和不为 0,则检查 UDP 检验和是否正确,正确则接 收该报文;否则,丢弃该报文。 • VLAN Tag 检查:VTEP 接收到 VXLAN 报文并对其解封装后,若内层以太网数据帧带有 VLAN tag,则丢弃该 VXLAN 报文。 2-7
  • 26. 需要注意的是:通过 xconnect vsi 命令的 access-mode 参数配置接入模式为 ethernet 时,VXLAN 报文可能携带 VLAN tag,在这种情况下建议不要执行 vxlan invalid-vlan-tag discard 命令,以免 错误地丢弃报文。 表2-13 配置 VXLAN 报文检查功能 操作 命令 说明 进入系统视图 system-view - 配置丢弃UDP校验和检查失败的 VXLAN报文 vxlan invalid-udp-checksum discard 缺省情况下,不会检查VXLAN报 文的UDP校验和 配置丢弃内层数据帧含有VLAN tag 的VXLAN报文 vxlan invalid-vlan-tag discard 缺省情况下,不会检查VXLAN报 文内层封装的以太网数据帧是否 携带VLAN tag 2.12 配置ARP泛洪抑制 配置 ARP 泛洪抑制时需要注意:如果同时执行 flooding disable 命令关闭了 VSI 的泛洪功能,则 建议通过 mac-address timer 命令配置动态 MAC 地址的老化时间大于 25 分钟(ARP 泛洪抑制表 项的老化时间),以免 MAC 地址在 ARP 泛洪抑制表项老化之前老化,产生黑洞 MAC 地址。 采用组播路由(核心复制)方式转发泛洪流量时: • 若需要使用 ARP 泛洪抑制功能,必须保证所有 VTEP 设备均开启 ARP 泛洪抑制功能; • 当需要和其它厂商的 VTEP 设备互通时,不能使用 ARP 泛洪抑制功能。 表2-14 配置 ARP 泛洪抑制 操作 命令 说明 进入系统视图 system-view - 进入VSI视图 vsi vsi-name - 开启ARP泛洪抑制功能 arp suppression enable 缺省情况下,ARP泛洪抑制功能处 于关闭状态 2.13 配置VXLAN流量统计 表2-15 配置 VXLAN 流量统计 操作 命令 说明 进入系统视图 system-view - 2-8
  • 27. 操作 命令 说明 配置报文统计模式为vsi statistic mode vsi 缺省情况下,设备的报文统计模式 为vsi 有关本命令的详细介绍请参见“基 础配置命令参考”中的“设备管理” 进入VXLAN所在VSI视图 vsi vsi-name - 开启VSI的报文统计功能 statistics enable 缺省情况下,VSI的报文统计功能处 于关闭状态 可通过display l2vpn vsi verbose 命令查看VSI的报文统计结果 返回用户视图 return - (可选)清除VSI的报文统 计信息 reset l2vpn statistics vsi [ name vsi-name ] - 2.14 VXLAN显示和维护 在完成上述配置后,在任意视图下执行 display 命令可以显示配置后 VXLAN 的运行情况,通过查 看显示信息验证配置的效果。 在用户视图下,用户可以执行 reset 命令来清除 VXLAN 的相关信息。 表2-16 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 ] 清除VSI的报文统计信息 reset l2vpn statistics vsi [ name vsi-name ] 2-9
  • 28. 2.15 VXLAN典型配置举例 2.15.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. 组网图 图2-1 VXLAN 头端复制组网图 3. 配置步骤 (1) 配置 IP 地址和单播路由协议 请按照图 2-1配置各接口的IP地址和子网掩码,并在IP核心网络内配置OSPF协议,具体配置过程略。 (2) 配置 Switch A # 开启 L2VPN 能力。 <SwitchA> system-view [SwitchA] l2vpn enable # 配置 VXLAN 隧道工作在二层转发模式。 [SwitchA] undo vxlan ip-forwarding # 创建 VSI 实例 vpna 和 VXLAN 10。 [SwitchA] vsi vpna [SwitchA-vsi-vpna] vxlan 10 [SwitchA-vsi-vpna-vxlan10] quit 2-10
  • 29. [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 A 和 Switch 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 # 配置 Tunnel1 和 Tunnel2 与 VXLAN 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 # 创建 VLAN2,将 FortyGigE1/0/1 端口加入 VLAN2。 [SwitchA] vlan 2 [SwitchA–vlan2] port fortygige 1/0/1 [SwitchA–vlan2] quit # 在接入服务器的接口 FortyGigE1/0/1 上创建以太网服务实例 1000,该实例用来匹配 VLAN 2 的数 据帧。 [SwitchA] interface fortygige 1/0/1 [SwitchA-FortyGigE1/0/1] service-instance 1000 [SwitchA-FortyGigE1/0/1-srv1000] encapsulation s-vid 2 # 配置以太网服务实例 1000 与 VSI 实例 vpna 关联。 [SwitchA-FortyGigE1/0/1-srv1000] xconnect vsi vpna [SwitchA-FortyGigE1/0/1-srv1000] quit [SwitchA-FortyGigE1/0/1] quit (3) 配置 Switch B # 开启 L2VPN 能力。 <SwitchB> system-view [SwitchB] l2vpn enable # 配置 VXLAN 隧道工作在二层转发模式。 [SwitchB] undo vxlan ip-forwarding # 创建 VSI 实例 vpna 和 VXLAN 10。 [SwitchB] vsi vpna 2-11
  • 30. [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 B 和 Switch 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 # 配置 Tunnel2 和 Tunnel3 与 VXLAN10 关联。 [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 # 创建 VLAN2,将 FortyGigE1/0/1 端口加入 VLAN2。 [SwitchB] vlan 2 [SwitchB–vlan2] port fortygige 1/0/1 [SwitchB–vlan2] quit # 在接入服务器的接口 FortyGigE1/0/1 上创建以太网服务实例 1000,该实例用来匹配 VLAN 2 的数 据帧。 [SwitchB] interface fortygige 1/0/1 [SwitchB-FortyGigE1/0/1] service-instance 1000 [SwitchB-FortyGigE1/0/1-srv1000] encapsulation s-vid 2 # 配置以太网服务实例 1000 与 VSI 实例 vpna 关联。 [SwitchB-FortyGigE1/0/1-srv1000] xconnect vsi vpna [SwitchB-FortyGigE1/0/1-srv1000] quit [SwitchB-FortyGigE1/0/1] quit (4) 配置 Switch C # 开启 L2VPN 能力。 <SwitchC> system-view [SwitchC] l2vpn enable # 配置 VXLAN 隧道工作在二层转发模式。 [SwitchC] undo vxlan ip-forwarding # 创建 VSI 实例 vpna 和 VXLAN 10。 [SwitchC] vsi vpna [SwitchC-vsi-vpna] vxlan 10 [SwitchC-vsi-vpna-vxlan10] quit 2-12
  • 31. [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 B 和 Switch 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 # 配置 Tunnel1 和 Tunnel3 与 VXLAN 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 # 创建 VLAN2,将 FortyGigE1/0/1 端口加入 VLAN2。 [SwitchC] vlan 2 [SwitchC–vlan2] port fortygige 1/0/1 [SwitchC–vlan2] quit # 在接入服务器的接口 FortyGigE1/0/1 上创建以太网服务实例 1000,该实例用来匹配 VLAN 2 的数 据帧。 [SwitchC] interface fortygige 1/0/1 [SwitchC-FortyGigE1/0/1] service-instance 1000 [SwitchC-FortyGigE1/0/1-srv1000] encapsulation s-vid 2 # 配置以太网服务实例 1000 与 VSI 实例 vpna 关联。 [SwitchC-FortyGigE1/0/1-srv1000] xconnect vsi vpna [SwitchC-FortyGigE1/0/1-srv1000] quit [SwitchC-FortyGigE1/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: 64 kbps Maximum transmission unit: 64000 Internet protocol processing: Disabled 2-13
  • 32. 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 FGE1/0/1 srv1000 0 Up # 查看 Switch A 上 VSI 的 MAC 地址表项信息,可以看到已学习到的 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 之间可以互访。 2.15.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-14
  • 33. • 站点之间的泛洪流量采用核心复制的方式转发。 2. 组网图 图2-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 地址和单播路由协议 请按照图 2-2配置各接口的IP地址和子网掩码,并在IP核心网络内配置OSPF协议,具体配置过程略。 (2) 配置 Switch A # 开启 L2VPN 能力。 <SwitchA> system-view [SwitchA] l2vpn enable # 配置 VXLAN 隧道工作在二层转发模式。 [SwitchA] undo vxlan ip-forwarding # 使能 IP 组播路由。 [SwitchA] multicast routing [SwitchA-mrib] quit # 创建 VSI 实例 vpna 和 VXLAN 10。 [SwitchA] vsi vpna [SwitchA-vsi-vpna] vxlan 10 [SwitchA-vsi-vpna-vxlan10] quit 2-15
  • 34. [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 A 和 Switch 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 # 配置 Tunnel1 和 Tunnel2 与 VXLAN 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 # 创建 VLAN2,将 FortyGigE1/0/1 端口加入 VLAN2。 [SwitchA] vlan 2 [SwitchA–vlan2] port fortygige 1/0/1 [SwitchA–vlan2] quit # 在接入服务器的接口 FortyGigE1/0/1 上创建以太网服务实例 1000,该实例用来匹配 VLAN 2 的数 据帧。 [SwitchA] interface fortygige 1/0/1 [SwitchA-FortyGigE1/0/1] service-instance 1000 [SwitchA-FortyGigE1/0/1-srv1000] encapsulation s-vid 2 # 配置以太网服务实例 1000 与 VSI 实例 vpna 关联。 [SwitchA-FortyGigE1/0/1-srv1000] xconnect vsi vpna [SwitchA-FortyGigE1/0/1-srv1000] quit [SwitchA-FortyGigE1/0/1] quit (3) 配置 Switch B # 开启 L2VPN 能力。 <SwitchB> system-view [SwitchB] l2vpn enable 2-16
  • 35. # 配置 VXLAN 隧道工作在二层转发模式。 [SwitchB] undo vxlan ip-forwarding # 使能 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 B 和 Switch 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 # 配置 Tunnel2 和 Tunnel3 与 VXLAN10 关联。 [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 # 创建 VLAN2,将 FortyGigE1/0/1 端口加入 VLAN2。 [SwitchB] vlan 2 [SwitchB–vlan2] port fortygige 1/0/1 [SwitchB–vlan2] quit # 在接入服务器的接口 FortyGigE1/0/1 上创建以太网服务实例 1000,该实例用来匹配 VLAN 2 的数 据帧。 [SwitchB] interface fortygige 1/0/1 [SwitchB-FortyGigE1/0/1] service-instance 1000 [SwitchB-FortyGigE1/0/1-srv1000] encapsulation s-vid 2 # 配置以太网服务实例 1000 与 VSI 实例 vpna 关联。 [SwitchB-FortyGigE1/0/1-srv1000] xconnect vsi vpna 2-17
  • 36. [SwitchB-FortyGigE1/0/1-srv1000] quit [SwitchB-FortyGigE1/0/1] quit (4) 配置 Switch C # 开启 L2VPN 能力。 <SwitchC> system-view [SwitchC] l2vpn enable # 配置 VXLAN 隧道工作在二层转发模式。 [SwitchC] undo vxlan ip-forwarding # 使能 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 B 和 Switch 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 # 配置 Tunnel1 和 Tunnel3 与 VXLAN 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 # 创建 VLAN2,将 FortyGigE1/0/1 端口加入 VLAN2。 [SwitchC] vlan 2 [SwitchC–vlan2] port fortygige 1/0/1 [SwitchC–vlan2] quit 2-18
  • 37. # 在接入服务器的接口 FortyGigE1/0/1 上创建以太网服务实例 1000,该实例用来匹配 VLAN 2 的数 据帧。 [SwitchC] interface fortygige 1/0/1 [SwitchC-FortyGigE1/0/1] service-instance 1000 [SwitchC-FortyGigE1/0/1-srv1000] encapsulation s-vid 2 # 配置以太网服务实例 1000 与 VSI 实例 vpna 关联。 [SwitchC-FortyGigE1/0/1-srv1000] xconnect vsi vpna [SwitchC-FortyGigE1/0/1-srv1000] quit [SwitchC-FortyGigE1/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 (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 [SwitchE-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 (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 2-19
  • 38. [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 (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 [SwitchG-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 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: 64 kbps Maximum transmission 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: - 2-20
  • 39. 2-21 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 MTunnel0 0x6000000 Up Auto ACs: AC Link ID State FGE1/0/1 srv1000 0 Up # 查看 Switch A 上 VSI 的 MAC 地址表项信息,可以看到已学习到的 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 之间可以互访。
  • 40. 3 ENDP 3.1 ENDP 居发现协议)用来 VTEP,并在各 VTEP 之间自动创建 VXLAN 隧道。 3.1.1 ENDP 实例通过 Network ID 来标识。只有属于同一个 ENDP 实例的 r,增强的邻居发现服务器):用来维护同一个 nt,增强的邻居发现客户端):通过 ENDS 完成 DC 的信息。ENDC 收到应答报文 NDC,与其他 ENDC 建立 VXLAN 隧道。 3.1.2 了 3 个定时器:探测定时器、注册定时器、老化定时器。 器以 5 秒的时间间隔定时向 ENDS 发送 NDS 应答报文后会停止探测定时器。 S 发送注册报文,该定时器的 的应答报文,则认为网络故障,此时需要 居信息,同时重新启用探测定时器。 到 ENDC 的注册报文,则认为 ENDC 出现故 VTEP 从 VXLAN 网络中删除。 3.1.3 认证功能 简介 在 VXLAN 网络中,ENDP(Enhanced Neighbor Discovery Protocol,增强的邻 自动发现 VXLAN 网络中的 ENDP基本运行机制 ENDP 可以划分为多个实例, VTEP 之间可以互相发现。 ENDP 协议定义了如下两个角色: • ENDS(Enhanced Neighbor Discovery Serve ENDP 实例中的所有邻居信息(IP 地址等)。 • ENDC(Enhanced Neighbor Discovery Clie 邻居的学习,并与邻居建立 VXLAN 隧道。 ENDP 协议的基本工作原理为:ENDS 通过接收 ENDC 的注册请求报文来学习 ENDC 的信息,同 时通过注册应答报文向 ENDC 发布同一个 ENDP 实例中所有 EN 后,与同一个 ENDP 实例中的其他 ENDC 建立 VXLAN 隧道。 ENDS 同时也会作为一个 E ENDP定时探测和老化 ENDP 协议中用到 • 探测定时器 ENDC 请求加入 VXLAN 网络时会启用探测定时器,该定时 注册报文,收到 E • 注册定时器 ENDC 加入 VXLAN 网络后,为了通告自己工作正常,会定时向 END 默认时间间隔为 15 秒,用户可以根据实际需要来调整该时间间隔。 如果 ENDC 连续发送 5 个注册报文,都未能收到 ENDS 清除之前学到的邻 • 老化定时器 ENDC 向 ENDS 发送的注册报文中携带注册时间间隔,ENDS 会记录该时间间隔。ENDC 加入 VXLAN 网络后,如果 ENDS 在 5 倍的注册时间内未收 障,把 ENDC 对应的 ENDP 为了提高安全性,可以配置 ENDP 认证功能来防止恶意的节点注册到 VXLAN 网络。 3-1
  • 41. 使能 ENDP 认证功能后,发送 ENDP 报文的设备会使用配置的密码和 MD5 算法对报文进行摘要运 算,然后把运算结果放到报文的认证字段。对端设备收到 ENDP 报文后,如果该设备未配置认证功 能,则认为报文合法;如果设备配置了认证功能,则利用本端配置的密码和 MD5 算法对报文进行 然后比较运算结果与报文认证字段携带的信息是否一致,如果一致则认为报文合法,如 果不一致则认为报文非法。 摘要运算, 只有本端与对端设备上都没有配置 ENDP 认证功能,或者都配置了认证功能且认证密码相同,才能 在二者之间成功建立 VXLAN 隧道。 3.2 时,需要在 ENDS 和 ENDC 上创建 NVE 模式的 Tunnel 接口,指定隧道的源端地址为 口地址,并在该接口上使能 ENDS 或 ENDC 功能,以便在该接口上运行 ENDP 协 1. 配置ENDS 表3-1 配置 ENDS 配置ENDP 配置 ENDP 本端 VTEP 的接 议。 操作 命令 说明 进入系统视图 system-view - 创建模式为NVE隧道的T Tunnel接口视图 unnel接 口,并进入 -number 接口 interface tunnel tunnel mode nve 缺省情况下,设备上不存在任何Tunnel 配置隧道的Network ID network-id network-id 配置隧 work ID缺省情况下,没有 道的Net 配置隧道的源端地址或源接口 source { ipv4-address | interface-type interface-number } 缺省情况下,没有设置VXLAN隧道的源 端地址和源接口 NVE隧道的源端地址作为本地ENDC的 地址注册到ENDS 如果设置的是隧道的源接口,则隧道的 源端地址为该接口的主IP地址 开启接口的ENDS功能 vxlan neighbor-discovery ENDS功能时,会同时开启该 S地址为该 server enable 缺省情况下,ENDS功能处于关闭状态 开启接口的 接口的ENDC功能(该ENDC对应的 END 接口的源地址) (可选)开启ENDP认证功能 vxlan neighbor-discovery authentication { cipher | simple } password 缺省情况下,ENDP认证功能处于关闭状 态 3-2
  • 42. 2. 配置ENDC 表3-2 配置 ENDC 操作 命令 说明 进入系统视图 system-view - 创建模式为NVE隧道的Tunnel接 口,并进入Tunnel接口视图 interface tunnel tunnel-number mode nve 缺省情况下,设备上不存在任何Tunnel 接口 配置隧道的Network ID network-id network-id 缺省情况下,没有配置隧道的Network ID 配置隧道的源端地址或源接口 source { ipv4-address | interface-type interface-number } ENDS 如果设置的是隧道的源接口,则隧道的 缺省情况下,没有设置VXLAN隧道的源 端地址和源接口 NVE隧道的源端地址作为本地ENDC的 地址注册到 源端地址为该接口的主IP地址 开启接口的ENDC功能,并指定 vxlan neighbor-discovery 缺省情况下,ENDC功能处于关闭状态 ENDS的地址 client enable server-ip (可选)开启ENDP认证功能 bor-discovery authentication { cipher | simple } password 缺省情况下,ENDP认证功能处于关闭状 态 vxlan neigh 配置ENDC向ENDS注册的时间 间隔 vxlan neighbor-discovery client register-interval time-value 缺省情况下,ENDC向ENDS注册的时间 间隔为15秒 3.3 ENDP显示和维护 在完成上述配置 任意视图下执行 display 命令可以显示配置 NDP 的运行情况,通过查看 显示信息验证配置的效果。 表3-3 显示和维护 后,在 后 E ENDP 操作 命令 在ENDC上显示ENDC学到的邻居信息 display vxlan neighbor-discovery client member [ interface nt-ip | servertunnel interface-number | local local-ip | remote clie server-ip ] 在ENDC上显示ENDC的统计信息 cedisplay vxlan neighbor-discovery client statistics interfa tunnel interface-number 在ENDC上显示ENDC的运行信息 display vxlan neighbor-discovery client summary 在ENDS上显示ENDS学到的成员信息 nterface tunnel interface-number | local local-ip | remote client-ip ] display vxlan neighbor-discovery server member [ i 在ENDS上显示ENDS的统计信息 display vxlan neighbor-discovery server statistics interface tunnel interface-number 在ENDS上显示ENDS的运行信息 display vxlan neighbor-discovery server summary 3-3
  • 43. 3.4 ENDP典型配置举例 3.4.1 VXLAN邻居自动发现配置举例 1. 组网需求 Switch A、Switch B、Switch C 为与服务器连接的 VTEP 设备。VM 1 和 VM 5 属于 VXLAN 10000、 VLAN 2;VM 2 和 VM 6 属于 VXLAN 10001、VLAN 3;VM 3 和 VM 7 属于 VXLAN 10002、VLAN 4;VM 4 和 VM 8 属于 VXLAN 10003、VLAN 5。通过 VXLAN 实现不同站点间的二层互联,确保 虚拟机在站点之间进行迁移时用户的访问流量不会中断。 具体需求为: • 不同 VTEP 之间自动建立 VXLAN 隧道。 • 通过 VXLAN IS-IS 发布 VXLAN ID,以自动关联 VXLAN 和 VXLAN 隧道。 • 通过 VXLAN IS-IS 发布本地 MAC 地址信息。 • 发送和接收 VXLAN IS-IS 报文的 VXLAN(预留 VXLAN)为 11111。 • 站点之间的泛洪流量采用头端复制的方式转发。 2. 组网图 图3-1 VXLAN 邻居自动发现组网图 3. 配置步骤 (1) 配置 IP 地址和单播路由协议 请按照图 3-1配置各接口的IP地址和子网掩码,并在IP核心网络内配置OSPF协议,具体配置过程略。 (2) 配置 Switch A # 开启 L2VPN 能力。 <SwitchA> system-view [SwitchA] l2vpn enable # 配置 VXLAN 隧道工作在二层转发模式。 [SwitchA] undo vxlan ip-forwarding 3-4
  • 44. # 配置预留 VXLAN 为 VXLAN 11111。 [SwitchA] reserved vxlan 11111 # 创建 VSI 实例 vpna 和 VXLAN 10000。 [SwitchA] vsi vpna [SwitchA-vsi-vpna] vxlan 10000 [SwitchA-vsi-vpna-vxlan10000] quit [SwitchA-vsi-vpna] quit # 创建 VSI 实例 vpnb 和 VXLAN 10001。 [SwitchA] vsi vpnb [SwitchA-vsi-vpnb] vxlan 10001 [SwitchA-vsi-vpnb-vxlan10001] quit [SwitchA-vsi-vpnb] quit # 创建 VSI 实例 vpnc 和 VXLAN 10002。 [SwitchA] vsi vpnc [SwitchA-vsi-vpnc] vxlan 10002 [SwitchA-vsi-vpnc-vxlan10002] quit [SwitchA-vsi-vpnc] quit # 创建 VSI 实例 vpnd 和 VXLAN 10003。 [SwitchA] vsi vpnd [SwitchA-vsi-vpnd] vxlan 10003 [SwitchA-vsi-vpnd-vxlan10003] quit [SwitchA-vsi-vpnd] quit # 配置接口 Loopback0 的 IP 地址,作为隧道的源端地址。 [SwitchA] interface loopback0 [SwitchA-Loopback0] ip address 1.1.1.1 255.255.255.255 [SwitchA-Loopback0] quit # 创建模式为 NVE 的隧道接口 Tunnel0,指定源端地址为 1.1.1.1,Network ID 为 1,并开启 ENDS 功能。 [SwitchA] interface tunnel 0 mode nve [SwitchA-Tunnel0] source 1.1.1.1 [SwitchA-Tunnel0] network-id 1 [SwitchA-Tunnel0] vxlan neighbor-discovery server enable [SwitchA-Tunnel0] quit # 创建 VLAN 2~VLAN 5,配置端口 FortyGigE1/0/1 允许 VLAN 2~VLAN 5 的报文通过。 [SwitchA] vlan 2 to 5 [SwitchA] interface fortygige 1/0/1 [SwitchA-FortyGigE1/0/1] port link-type trunk [SwitchA-FortyGigE1/0/1] port trunk permit vlan 2 to 5 # 在接入服务器的接口 FortyGigE1/0/1 上创建以太网服务实例 1000,该实例用来匹配 VLAN 2 的数 据帧,并将其与 VSI 实例 vpna 关联。 [SwitchA-FortyGigE1/0/1] service-instance 1000 [SwitchA-FortyGigE1/0/1-srv1000] encapsulation s-vid 2 [SwitchA-FortyGigE1/0/1-srv1000] xconnect vsi vpna [SwitchA-FortyGigE1/0/1-srv1000] quit 3-5
  • 45. # 在接口 FortyGigE1/0/1 上创建以太网服务实例 2000,该实例用来匹配 VLAN 3 的数据帧,并将其 与 VSI 实例 vpnb 关联。 [SwitchA-FortyGigE1/0/1] service-instance 2000 [SwitchA-FortyGigE1/0/1-srv2000] encapsulation s-vid 3 [SwitchA-FortyGigE1/0/1-srv2000] xconnect vsi vpnb [SwitchA-FortyGigE1/0/1-srv2000] quit # 在接口 FortyGigE1/0/1 上创建以太网服务实例 3000,该实例用来匹配 VLAN 4 的数据帧,并将其 与 VSI 实例 vpnc 关联。 [SwitchA-FortyGigE1/0/1] service-instance 3000 [SwitchA-FortyGigE1/0/1-srv3000] encapsulation s-vid 4 [SwitchA-FortyGigE1/0/1-srv3000] xconnect vsi vpnc [SwitchA-FortyGigE1/0/1-srv3000] quit # 在接口 FortyGigE1/0/1 上创建以太网服务实例 4000,该实例用来匹配 VLAN 5 的数据帧,并将其 与 VSI 实例 vpnd 关联。 [SwitchA-FortyGigE1/0/1] service-instance 4000 [SwitchA-FortyGigE1/0/1-srv4000] encapsulation s-vid 5 [SwitchA-FortyGigE1/0/1-srv4000] xconnect vsi vpnd [SwitchA-FortyGigE1/0/1-srv4000] quit [SwitchA-FortyGigE1/0/1] quit # 启动 VXLAN IS-IS 进程,开启 VXLAN IS-IS 的 VXLAN 隧道自动协商和 MAC 地址同步功能。 [SwitchA] vxlan-isis [SwitchA-vxlan-isis] negotiate-vni enable [SwitchA-vxlan-isis] mac-synchronization enable [SwitchA-vxlan-isis] quit (3) 配置 Switch B # 开启 L2VPN 能力。 <SwitchB> system-view [SwitchB] l2vpn enable # 配置 VXLAN 隧道工作在二层转发模式。 [SwitchB] undo vxlan ip-forwarding # 配置预留 VXLAN 为 VXLAN 11111。 [SwitchB] reserved vxlan 11111 # 创建 VSI 实例 vpna 和 VXLAN 10000。 [SwitchB] vsi vpna [SwitchB-vsi-vpna] vxlan 10000 [SwitchB-vsi-vpna-vxlan10000] quit [SwitchB-vsi-vpna] quit # 创建 VSI 实例 vpnb 和 VXLAN 10001。 [SwitchB] vsi vpnb [SwitchB-vsi-vpnb] vxlan 10001 [SwitchB-vsi-vpnb-vxlan10001] quit [SwitchB-vsi-vpna] quit # 配置接口 Loopback0 的 IP 地址,作为隧道的源端地址。 [SwitchB] interface loopback0 [SwitchB-Loopback0] ip address 2.2.2.2 255.255.255.255 3-6
  • 46. [SwitchB-Loopback0] quit # 创建模式为 NVE 的隧道接口 Tunnel0,指定源端地址为 2.2.2.2,Network ID 为 1,并开启 ENDC 功能,指定 ENDS 为 1.1.1.1。 [SwitchB] interface tunnel 0 mode nve [SwitchB-Tunnel0] source 2.2.2.2 [SwitchB-Tunnel0] network-id 1 [SwitchB-Tunnel0] vxlan neighbor-discovery client enable 1.1.1.1 [SwitchB-Tunnel0] quit # 创建 VLAN 2~VLAN 3,配置端口 FortyGigE1/0/1 允许 VLAN 2~VLAN 3 的报文通过。 [SwitchB] vlan 2 to 3 [SwitchB] interface fortygige 1/0/1 [SwitchB-FortyGigE1/0/1] port link-type trunk [SwitchB-FortyGigE1/0/1] port trunk permit vlan 2 to 3 # 在接入服务器的接口 FortyGigE1/0/1 上创建以太网服务实例 1000,该实例用来匹配 VLAN 2 的数 据帧,并将其与 VSI 实例 vpna 关联。 [SwitchB-FortyGigE1/0/1] service-instance 1000 [SwitchB-FortyGigE1/0/1-srv1000] encapsulation s-vid 2 [SwitchB-FortyGigE1/0/1-srv1000] xconnect vsi vpna [SwitchB-FortyGigE1/0/1-srv1000] quit # 在接口 FortyGigE1/0/1 上创建以太网服务实例 2000,该实例用来匹配 VLAN 3 的数据帧,并将其 与 VSI 实例 vpnb 关联。 [SwitchB-FortyGigE1/0/1] service-instance 2000 [SwitchB-FortyGigE1/0/1-srv2000] encapsulation s-vid 3 [SwitchB-FortyGigE1/0/1-srv2000] xconnect vsi vpnb [SwitchB-FortyGigE1/0/1-srv2000] quit [SwitchB-FortyGigE1/0/1] quit # 启动 VXLAN IS-IS 进程,开启 VXLAN IS-IS 的 VXLAN 隧道自动协商和 MAC 地址同步功能。 [SwitchB] vxlan-isis [SwitchB-vxlan-isis] negotiate-vni enable [SwitchB-vxlan-isis] mac-synchronization enable [SwitchB-vxlan-isis] quit (4) 配置 Switch C # 开启 L2VPN 能力。 <SwitchC> system-view [SwitchC] l2vpn enable # 配置 VXLAN 隧道工作在二层转发模式。 [SwitchC] undo vxlan ip-forwarding # 配置预留 VXLAN 为 VXLAN 11111。 [SwitchC] reserved vxlan 11111 # 创建 VSI 实例 vpna 和 VXLAN 10002。 [SwitchC] vsi vpna [SwitchC-vsi-vpna] vxlan 10002 [SwitchC-vsi-vpna-vxlan10002] quit [SwitchC-vsi-vpna] quit # 创建 VSI 实例 vpnb 和 VXLAN 10003。 3-7
  • 47. [SwitchC] vsi vpnb [SwitchC-vsi-vpnb] vxlan 10003 [SwitchC-vsi-vpnb-vxlan10003] quit [SwitchC-vsi-vpnb] quit # 配置接口 Loopback0 的 IP 地址,作为隧道的源端地址。 [SwitchC] interface loopback0 [SwitchC-Loopback0] ip address 3.3.3.3 255.255.255.255 [SwitchC-Loopback0] quit # 创建模式为 NVE 的隧道接口 Tunnel0,指定源端地址为 3.3.3.3,Network ID 为 1,并开启 ENDC 功能,指定 ENDS 为 1.1.1.1。 [SwitchC] interface tunnel 0 mode nve [SwitchC-Tunnel0] source 3.3.3.3 [SwitchC-Tunnel0] network-id 1 [SwitchC-Tunnel0] vxlan neighbor-discovery client enable 1.1.1.1 [SwitchC-Tunnel0] quit # 创建 VLAN 4~VLAN 5,配置端口 FortyGigE1/0/1 允许 VLAN 4~VLAN 5 的报文通过。 [SwitchC] vlan 4 to 5 [SwitchC] interface fortygige 1/0/1 [SwitchC-FortyGigE1/0/1] port link-type trunk [SwitchC-FortyGigE1/0/1] port trunk permit vlan 4 to 5 # 在接入服务器的接口 FortyGigE1/0/1 上创建以太网服务实例 1000,该实例用来匹配 VLAN 4 的数 据帧,并将其与 VSI 实例 vpna 关联。 [SwitchC-FortyGigE1/0/1] service-instance 1000 [SwitchC-FortyGigE1/0/1-srv1000] encapsulation s-vid 4 [SwitchC-FortyGigE1/0/1-srv1000] xconnect vsi vpna [SwitchC-FortyGigE1/0/1-srv1000] quit # 在接口 FortyGigE1/0/1 上创建以太网服务实例 2000,该实例用来匹配 VLAN 5 的数据帧,并将其 与 VSI 实例 vpnb 关联。 [SwitchC-FortyGigE1/0/1] service-instance 2000 [SwitchC-FortyGigE1/0/1-srv2000] encapsulation s-vid 5 [SwitchC-FortyGigE1/0/1-srv2000] xconnect vsi vpnb [SwitchC-FortyGigE1/0/1-srv2000] quit [SwitchC-FortyGigE1/0/1] quit # 启动 VXLAN IS-IS 进程,开启 VXLAN IS-IS 的 VXLAN 隧道自动协商和 MAC 地址同步功能。 [SwitchC] vxlan-isis [SwitchC-vxlan-isis] negotiate-vni enable [SwitchC-vxlan-isis] mac-synchronization enable [SwitchC-vxlan-isis] quit 4. 验证配置 (1) 验证 VTEP 设备(下文以 Switch A 为例,其它设备验证方法与此类似) # 查看 Switch A 上的 ENDS 信息,可以看到邻居个数和详细信息。 [SwitchA] display vxlan neighbor-discovery server summary Interface Local Address Network ID Auth Members Tunnel0 1.1.1.1 1 enabled 3 [SwitchA] display vxlan neighbor-discovery server member 3-8
  • 48. Interface: Tunnel0 Network ID: 1 IP Address: 1.1.1.1 Client Address System ID Expire Created Time 2.2.2.2 000F-0001-0001 25 2011/01/01 00:00:43 3.3.3.3 000F-0001-0002 24 2011/01/01 01:00:46 # 查看 Switch A 上的 ENDC 信息,可以看到邻居状态为 Up。 [SwitchA] display vxlan neighbor-discovery client member Interface: Tunnel0 Network ID: 1 Local Address: 1.1.1.1 Server Address: 1.1.1.1 Neighbor System ID Created Time Expire Status 2.2.2.2 000F-0001-0001 2014/01/01 12:12:12 13 Up 3.3.3.3 000F-0001-0002 2014/01/01 12:12:12 12 Up # 查看 Switch A 上的 Tunnel 接口信息,可以看到 NVE 和 VXLAN 模式的 Tunnel 接口处于 up 状态。 [SwitchA] display interface tunnel Tunnel 0 Current state: UP Line protocol state: UP Description: Tunnel0 Interface Bandwidth: 64 kbps Maximum transmission unit: 64000 Internet protocol processing: Disabled Tunnel source 1.1.1.1 Network ID 1 Tunnel protocol/transport NVE/IP Last clearing of counters: Never Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec Input: 0 packets, 0 bytes, 0 drops Output: 0 packets, 0 bytes, 0 drops Tunnel 1 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 Tunnel 2 Current state: UP Line protocol state: UP Description: Tunnel2 Interface Bandwidth: 64 kbps Maximum transmission unit: 64000 3-9
  • 49. Internet protocol processing: Disabled Last clearing of counters: Never Tunnel source 1.1.1.1, destination 3.3.3.3 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 : 10000 Tunnels: Tunnel Name Link ID State Type Tunnel1 0x5000001 UP Auto ACs: AC Link ID State FGE1/0/1 srv1000 0 Up VSI Name: vpnb VSI Index : 1 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 : 10001 Tunnels: Tunnel Name Link ID State Type Tunnel1 0x5000001 UP Auto ACs: AC Link ID State FGE1/0/1 srv2000 0 Up VSI Name: vpnc VSI Index : 2 VSI State : Up 3-10
  • 50. MTU : 1500 Bandwidth : - Broadcast Restrain : - Multicast Restrain : - Unknown Unicast Restrain: - MAC Learning : Enabled MAC Table Limit : - Drop Unknown : - Flooding : Enabled VXLAN ID : 10002 Tunnels: Tunnel Name Link ID State Type Tunnel2 0x5000002 UP Auto ACs: AC Link ID State FGE1/0/1 srv3000 0 Up VSI Name: vpnd VSI Index : 3 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 : 10003 Tunnels: Tunnel Name Link ID State Type Tunnel2 0x5000002 UP Auto ACs: AC Link ID State FGE1/0/1 srv4000 0 Up # 查看 Switch A 上 VSI 的 MAC 地址表项信息,可以看到已学习到的 MAC 地址信息。 [SwitchA] display l2vpn mac-address MAC Address State VSI Name Link ID/Name Aging cc3e-5f9c-6cdb static vpna Tunnel1 Aging cc3e-5f9c-23dc static vpnc Tunnel2 Aging --- 1 mac address(es) found --- # 查看 Switch A 上邻居状态信息,可以看到已经和 Switch B、Switch C 建立邻居。 [SwitchA] display vxlan isis peer System ID: 4431.9234.2602 Link interface: Tunnel1 Circuit ID: 4431.9234.2602.0001 State: Up Hold time: 8s 3-11
  • 51. Neighbour DED priority: 64 Uptime: 47:48:34 System ID: 4431.9234.1f68 Link interface: Tunnel2 Circuit ID: 4431.9234.1f68.0000 State: Up Hold time: 27s Neighbour DED priority: 64 Uptime: 47:50:30 # 查看 Switch A 上链路状态信息,可以看到链路状态正常。 [SwitchA] display vxlan isis lsdb Link state database information for VXLAN ISIS (Tunnel 1) LSP ID Seq num Checksum Holdtime Length Overload ----------------------------------------------------------------------------- 4431.9234.1f68.0000-00 0x000000c2 0xdc02 656 59 0 4431.9234.2602.0000-00* 0x000000c3 0xd136 326 70 0 4431.9234.2602.0001-00* 0x000000c1 0x73ca 658 57 0 Link state database information for VXLAN ISIS (Tunnel 2) LSP ID Seq num Checksum Holdtime Length Overload ----------------------------------------------------------------------------- 4431.9234.1f68.0000-00 0x000000c2 0xdc02 656 59 0 4431.9234.2613.0000-00* 0x000000c3 0xd136 326 70 0 4431.9234.2613.0002-00* 0x000000c1 0x73ca 658 57 0 Flags: *-Self LSP, +-Self LSP(Extended) # 查看 Switch A 上 VXLAN IS-IS 的 MAC 地址表项信息,可以看到已学习到的 MAC 地址信息。 [SwitchA] display vxlan isis remote-mac MAC Flags: D-MAC conflict with local dynamic MAC. F-MAC has been issued to the remote MAC address table. S-MAC conflict with local static or selective-flooding MAC. A-Tunnel interface can forward traffic to the MAC. VXLAN ID: 10000 MAC address: cc3e-5f9c-6cdb Interface: Tunnel1 Flags: AF VXLAN ID: 10002 MAC address: cc3e-5f9c-23dc Interface: Tunnel2 Flags: AF # 查看 Switch A 上 VXLAN IS-IS 的远端 VXLAN 信息,可以看到已学习到的 VXLAN 信息。 [SwitchA] display vxlan isis remote-vxlan VXLAN Flags: S-VXLAN supported at the local end F-Association between VXLAN and Tunnels has been flushed to L2VPN VXLAN ID: 10000 Flags: FS 3-12
  • 52. 3-13 Tunnel: 1 VXLAN ID: 10001 Flags: FS Tunnel: 1 VXLAN ID: 10002 Flags: FS Tunnel: 2 VXLAN ID: 10003 Flags: FS Tunnel: 2 (2) 验证主机 VM 1 和 VM 5、VM 2 和 VM 6、VM 3 和 VM 7、VM 4 和 VM 8 可以互访,其他 VM 之间不能互访。
  • 53. 4 VXLAN IS-IS协议 地址同步两个功能。VXLAN N 数据业务的转发。 4.1 VXLAN IS-IS协议配置任务简介 表4-1 VXLAN IS-IS 配 介 VXLAN IS-IS协议主要有自动关联VXLAN隧道和VXLAN、VXLAN MAC IS-IS 可以用来简化配置,并能更好地控制 VXLA 置任务简 配置任务 说明 详细配置 为VXLAN IS-IS指定预留VXLAN 必选 4.2 自动关联VXLAN与VXLAN隧道 必选 4.3 配置通过VXLAN IS-IS同步MAC地址 必选 4.4 调整和优化VXLAN IS-IS 可选 4.5 4.2 为VXLAN IS-IS指定预留VXLAN 表4-2 为 VXLAN IS-IS 指定预留 VXLAN 操作 命令 说明 进入系统视图 system-view - 配置IS-IS协议使用的保留 VXLAN reserved vxlan vxlan-id IS-IS协议使用的保留 VXLAN 缺省情况下,没有指定 4.3 自动关联VXLAN与VXLAN隧道 VXLAN 隧道上通过 VXLAN IS-IS 发布 VXLAN ID 信息,以便将 表4-3 自动关 XLAN 与 VXLAN 隧道 执行本配置后,VTEP 将在所有 VXLAN 与 VXLAN 隧道关联。 联 V 操作 命令 说明 进入系统视图 system-view - 创建VXLAN IS-IS进程,并进入 VXLAN IS-IS视图 vxlan-isis 缺省情况下,未创建VXLAN IS-IS进程 开启VXLAN IS-IS的VXLAN自动 协商功能 negotiate-vni enable 缺省情况下, 不会在VTEP 之间交互VXLAN ID VXLAN IS-IS 4-1
  • 54. 4.4 配置通过VXLAN IS-IS同步MAC地址 执行本配置后,VTEP可以通过VXLAN IS-IS协议发布本地的MAC地址信息,并能够接收其他VTEP 发布的远端 MAC 地址信息。 开启 VXLAN IS-IS 的 MAC 地址同步功能时,不能关闭远端 MAC 地址自动学习功能。 表4-4 配置通过 VXLAN IS-IS 同步 MAC 地址 操作 命令 说明 进入系统视图 system-view - 创建VXLAN IS-IS进程,并进 入VXLAN IS-IS视图 vxlan-isis 缺省情况下,未创建VXLAN IS-IS进程 开启VXLAN IS-IS的MAC地 址同步功能 mac-synchronization enable 缺省情况下,VXLAN IS-IS不会在 VTEP之间同步MAC地址信息 4.5 调整和优化VXLAN IS-IS VXLAN 模式和 NVE 模式的 Tunnel 接口下均可以配置 VXLAN IS-IS 参数。 • 在 VXLAN 模式 Tunnel 接口下配置 VXLAN IS-IS 参数后,该 VXLAN 隧道将根据配置的参数 发送 VXLAN IS-IS 报文。 • 通过 NVE 模式 Tunnel 接口自动发现远端 VTEP 并建立 VXLAN 隧道后,自动建立的 VXLAN 隧道将采用 NVE 模式 Tunnel 接口下配置的 VXLAN IS-IS 参数。 4.5.1 配置VXLAN IS-IS Hello报文的发送 当前 VTEP 可以将邻接关系保持时间(即 VXLAN IS-IS Hello 报文失效数目与 VXLAN IS-IS Hello 报文发送时间间隔的乘积)通过 VXLAN IS-IS Hello 报文通知远端 VTEP。如果远端 VTEP 在邻接 关系保持时间内没有收到来自当前 VTEP 的 VXLAN IS-IS Hello 报文,将宣告邻接关系失效。通过 设置 VXLAN IS-IS Hello 报文失效数目和 VXLAN IS-IS Hello 报文的发送时间间隔,可以调整邻接 关系保持时间。 需要注意的是: • 邻接关系保持时间最大不能超过 65535 秒,超过 65535 秒时,算作 65535 秒。 • DED 发送 VXLAN IS-IS Hello 报文的时间间隔是 overlay isis timer hello 命令设置的时间间 隔的 1/3。 表4-5 配置 VXLAN IS-IS Hello 报文的发送 操作 命令 说明 进入系统视图 system-view - 4-2
  • 55. 操作 命令 说明 进入模式为NVE或VXLAN隧道 的Tunnel接口视图 interface tunnel tunnel-number [ mode { nve | vxlan } ] - 配置VXLAN IS-IS Hello报文的 发送时间间隔 overlay isis timer hello seconds 缺省情况下,VXLAN IS-IS Hello报文 的发送时间间隔为10秒 配置VXLAN IS-IS Hello报文失 效数目 overlay isis timer holding-multiplier value 缺省情况下,VXLAN IS-IS Hello报文 失效数目为3 4.5.2 配置DED的优先级和CSNP报文发送时间间隔 每个 VXLAN隧道两端的 VTEP 设备通过交互 VXLAN IS-IS Hello报文选举出一个 DED(Designated Edge Device,指定边缘设备)。选举出的 DED 周期性发布 CSNP 报文来进行 LSDB 同步。 DED 优先级数值越高,被选中的可能性就越大;如果两台设备的 DED 优先级相同,则 MAC 地址 较大的设备会被选中。 表4-6 配置 DED 的优先级和 CSNP 报文发送时间间隔 表4-7 操作 命令 说明 进入系统视图 system-view - 进入模式为NVE或VXLAN隧道 的Tunnel接口视图 interface tunnel tunnel-number [ mode { nve | vxlan } ] - 配置Tunnel接口的DED优先级 overlay isis ded-priority value 缺省情况下,Tunnel接口的DED优先 级为64 配置DED发送CSNP报文的时 间间隔 overlay isis timer csnp seconds 缺省情况下,DED发送CSNP报文的 时间间隔为10秒 只有在被选举为DED的设备上进行 本配置才有效 4.5.3 配置LSP相关参数 1. 配置LSP发送时间间隔 当 LSDB 的内容发生变化时,VXLAN IS-IS 将把发生变化的 LSP 扩散出去。用户可以对 LSP 的最 小发送时间间隔以及一次可以最多发送的 LSP 的数目进行调节。 表4-8 配置 LSP 发送时间间隔 操作 命令 说明 进入系统视图 system-view - 进入模式为NVE或VXLAN隧道的 Tunnel接口视图 interface tunnel tunnel-number [ mode { nve | vxlan } ] - 4-3
  • 56. 操作 命令 说明 配置接口发送LSP的最小时间间隔以及 一次最多可以发送的LSP数目 overlay isis timer lsp time [ count count ] 缺省情况下,发送LSP的最小时间 间隔为100毫秒,一次最多可以发 送的LSP数目为5 2. 配置LSP最大生存时间 每个 LSP 都有一个最大生存时间,随着时间的推移 LSP 的生存时间将逐渐减小,当 LSP 的生存时 间为 0 时,VXLAN IS-IS 将清除该 LSP。用户可根据网络的实际情况调整 LSP 的最大生存时间。 表4-9 配置 LSP 最大生存时间 操作 命令 说明 进入系统视图 system-view - 进入VXLAN IS-IS视图 vxlan-isis - 配置当前VTEP生成的LSP在 LSDB里的最大生存时间 timer lsp-max-age seconds 缺省情况下,当前VTEP生成的LSP在 LSDB里的最大生存时间为1200秒 3. 配置LSP刷新周期 LSP 刷新周期必须小于 LSP 最大生存时间,以保证在 LSP 失效前进行刷新。 表4-10 配置 LSP 刷新周期 操作 命令 说明 进入系统视图 system-view - 进入VXLAN IS-IS视图 vxlan-isis - 配置LSP刷新周期 timer lsp-refresh seconds 缺省情况下,LSP刷新周期为900秒 4.5.4 配置邻接状态变化的输出开关 打开邻接状态变化的输出开关后,VXLAN IS-IS 邻接状态变化时会生成日志信息发送到设备的信息 中心,通过设置信息中心的参数,最终决定日志信息的输出规则(即是否允许输出以及输出方向)。 有关信息中心参数的配置请参见“网络管理和监控配置指导”中的“信息中心”。 表4-11 配置邻接状态变化的输出开关 操作 命令 说明 进入系统视图 system-view - 进入VXLAN IS-IS视图 vxlan-isis - 打开邻接状态变化的输出开关 log-peer-change enable 缺省情况下,邻接状态变化的输出开关 处于打开状态 4-4
  • 57. 4.5.5 配置VXLAN IS-IS GR GR(Graceful Restart,平滑重启)是一种在协议重启或主备倒换时保证转发业务不中断的机制。 需要协议重启或主备倒换的设备将重启状态通知给邻居,允许邻居重新建立邻接关系而不终止连接。 GR 有两个角色: • GR Restarter:发生协议重启或主备倒换事件且具有 GR 能力的设备。 • GR Helper:和 GR Restarter 具有邻居关系,协助完成 GR 流程的设备。 对于 VXLAN IS-IS 的 GR,需要在 VTEP 间交互 GR 相关的 VXLAN IS-IS 报文:带有 Restart TLV 的 Hello 报文、CSNP 报文和 LSP 报文。 使能 VXLAN IS-IS 的 GR 能力后,邻居间的邻接关系保持时间将取以下二者间的较大值:VXLAN IS-IS Hello 报文失效数目与 VXLAN IS-IS Hello 报文发送时间间隔的乘积(如果是 DED,该乘积还 要除以 3)、GR 重启间隔时间。 分别在作为 GR Restarter 和 GR Helper 的设备上进行以下配置。 表4-12 配置 VXLAN IS-IS GR 操作 命令 说明 进入系统视图 system-view - 进入VXLAN IS-IS视图 vxlan-isis - 使能VXLAN IS-IS的GR能力 graceful-restart 缺省情况下,VXLAN IS-IS的GR能力处于关闭 状态 配置VXLAN IS-IS协议的GR 重启间隔时间 graceful-restart interval interval-value 缺省情况下,VXLAN IS-IS协议的GR重启间隔 时间为300秒 4.5.6 配置VXLAN IS-IS虚拟系统 通过 VXLAN IS-IS 发布本地 MAC 地址信息时,一个 LSP 报文中携带了本地所有的 MAC 地址信息。 如果 LSP 报文的长度超过 1400 字节,LSP 报文需要分片后发送。这些 LSP 分片构成一个 LSP 分 片集,每个 LSP 分片集最多有 256 个 LSP 分片,所能携带的最大 MAC 地址数为 55×210 。当本地 MAC 地址数超过 55×210 时,可以创建 VXLAN IS-IS 虚拟系统来扩展 LSP 的分片数量,以增加系 统所能发布的 MAC 地址数量。 系统(包括原始系统和虚拟系统)通过系统 ID 来标识。原始系统的系统 ID 采用设备的桥 MAC 地 址。每个系统所能发布的最大 MAC 地址数量均为 55×210 。如果创建了 N 个虚拟系统,则能发布 的最大 MAC 地址数量为(N+1)×55×210 。用户可以根据本地 MAC 地址表的规模,来决定创建 的虚拟系统的个数。 创建虚拟系统时,用户需要保证所配置的虚拟系统的系统 ID 在网络中是唯一的。 4-5
  • 58. 表4-13 配置 VXLAN IS-IS 虚拟系统 操作 命令 说明 进入系统视图 system-view - 进入VXLAN IS-IS视图 vxlan-isis - 创建一个VXLAN IS-IS虚拟系统 virtual-system system-id 缺省情况下,不存在任何VXLAN IS-IS虚 拟系统 4.6 VXLAN IS-IS显示和维护 在完成上述配置后,在任意视图下执行 display 命令可以显示配置后 VXLAN IS-IS 的运行情况,通 过查看显示信息验证配置的效果。 在用户视图下,用户可以执行 reset 命令来清除 VXLAN IS-IS 的相关信息。 表4-14 VXLAN IS-IS 显示和维护 操作 命令 显示VXLAN IS-IS进程的摘要信息 display vxlan isis brief 显示VXLAN IS-IS协议的GR状态 display vxlan isis graceful-restart status 显示VXLAN IS-IS的本地MAC地址信息 display vxlan isis local-mac dynamic [ [ vxlan-id vxlan-id ] [ count ] ] 显示VXLAN IS-IS的链路状态数据库 display vxlan isis lsdb [ local | lsp-id lsp-id | verbose ] * [ tunnel tunnel-number ] 显示VXLAN IS-IS的邻居信息 display vxlan isis peer 显示通过VXLAN IS-IS学习到的远端 MAC地址信息 display vxlan isis remote-mac [ [ vxlan-id vxlan-id ] [ count ] ] 显示通过VXLAN IS-IS学习到的远端 VXLAN信息 display vxlan isis remote-vxlan [ vxlan-id | count ] 显示Tunnel接口的VXLAN IS-IS信息 display vxlan isis tunnel [ tunnel-number ] 清除VXLAN IS-IS进程下所有的动态数 据 reset vxlan isis 4.7 VXLAN ISIS典型配置举例 1. 组网需求 Switch A、Switch B、Switch C 为与服务器连接的 VTEP 设备。VM 1 和 VM 5 属于 VXLAN 10000、 VLAN 2;VM 2 和 VM 6 属于 VXLAN 10001、VLAN 3;VM 3 和 VM 7 属于 VXLAN 10002、VLAN 4;VM 4 和 VM 8 属于 VXLAN 10003、VLAN 5。通过 VXLAN 实现不同站点间的二层互联,确保 虚拟机在站点之间进行迁移时用户的访问流量不会中断。 具体需求为: • 不同 VTEP 之间手工建立 VXLAN 隧道。 4-6
  • 59. • 通过 VXLAN IS-IS 发布 VXLAN ID,以自动关联 VXLAN 和 VXLAN 隧道。 • 通过 VXLAN IS-IS 发布本地 MAC 地址信息。 • 发送和接收 VXLAN IS-IS 报文的 VXLAN(预留 VXLAN)为 11111。 • 站点之间的泛洪流量采用头端复制的方式转发。 2. 组网图 图4-1 VXLAN 动态协商、头端复制组网图 3. 配置步骤 (1) 配置 IP 地址和单播路由协议 请按照图 4-1配置各接口的IP地址和子网掩码,并在IP核心网络内配置OSPF协议,具体配置过程略。 (2) 配置 Switch A # 开启 L2VPN 能力。 <SwitchA> system-view [SwitchA] l2vpn enable # 配置 VXLAN 隧道工作在二层转发模式。 [SwitchA] undo vxlan ip-forwarding # 配置预留 VXLAN 为 VXLAN 11111。 [SwitchA] reserved vxlan 11111 # 创建 VSI 实例 vpna 和 VXLAN 10000。 [SwitchA] vsi vpna [SwitchA-vsi-vpna] vxlan 10000 [SwitchA-vsi-vpna-vxlan10000] quit [SwitchA-vsi-vpna] quit # 创建 VSI 实例 vpnb 和 VXLAN 10001。 [SwitchA] vsi vpnb [SwitchA-vsi-vpnb] vxlan 10001 [SwitchA-vsi-vpnb-vxlan10001] quit [SwitchA-vsi-vpnb] quit 4-7
  • 60. # 创建 VSI 实例 vpnc 和 VXLAN 10002。 [SwitchA] vsi vpnc [SwitchA-vsi-vpnc] vxlan 10002 [SwitchA-vsi-vpnc-vxlan10002] quit [SwitchA-vsi-vpnc] quit # 创建 VSI 实例 vpnd 和 VXLAN 10003。 [SwitchA] vsi vpnd [SwitchA-vsi-vpnd] vxlan 10003 [SwitchA-vsi-vpnd-vxlan10003] quit [SwitchA-vsi-vpnd] 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 A 和 Switch 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 # 创建 VLAN 2~VLAN 5,配置端口 FortyGigE1/0/1 允许 VLAN 2~VLAN 5 的报文通过。 [SwitchA] vlan 2 to 5 [SwitchA] interface fortygige 1/0/1 [SwitchA-FortyGigE1/0/1] port link-type trunk [SwitchA-FortyGigE1/0/1] port trunk permit vlan 2 to 5 # 在接入服务器的接口 FortyGigE1/0/1 上创建以太网服务实例 1000,该实例用来匹配 VLAN 2 的数 据帧,并将其与 VSI 实例 vpna 关联。 [SwitchA-FortyGigE1/0/1] service-instance 1000 [SwitchA-FortyGigE1/0/1-srv1000] encapsulation s-vid 2 [SwitchA-FortyGigE1/0/1-srv1000] xconnect vsi vpna [SwitchA-FortyGigE1/0/1-srv1000] quit # 在接口 FortyGigE1/0/1 上创建以太网服务实例 2000,该实例用来匹配 VLAN 3 的数据帧,并将其 与 VSI 实例 vpnb 关联。 [SwitchA-FortyGigE1/0/1] service-instance 2000 [SwitchA-FortyGigE1/0/1-srv2000] encapsulation s-vid 3 [SwitchA-FortyGigE1/0/1-srv2000] xconnect vsi vpnb [SwitchA-FortyGigE1/0/1-srv2000] quit 4-8
  • 61. # 在接口 FortyGigE1/0/1 上创建以太网服务实例 3000,该实例用来匹配 VLAN 4 的数据帧,并将其 与 VSI 实例 vpnc 关联。 [SwitchA-FortyGigE1/0/1] service-instance 3000 [SwitchA-FortyGigE1/0/1-srv3000] encapsulation s-vid 4 [SwitchA-FortyGigE1/0/1-srv3000] xconnect vsi vpnc [SwitchA-FortyGigE1/0/1-srv3000] quit # 在接口 FortyGigE1/0/1 上创建以太网服务实例 4000,该实例用来匹配 VLAN 5 的数据帧,并将其 与 VSI 实例 vpnd 关联。 [SwitchA-FortyGigE1/0/1] service-instance 4000 [SwitchA-FortyGigE1/0/1-srv4000] encapsulation s-vid 5 [SwitchA-FortyGigE1/0/1-srv4000] xconnect vsi vpnd [SwitchA-FortyGigE1/0/1-srv4000] quit [SwitchA-FortyGigE1/0/1] quit # 启动 VXLAN IS-IS 进程,开启 VXLAN IS-IS 的 VXLAN 隧道自动协商和 MAC 地址同步功能。 [SwitchA] vxlan-isis [SwitchA-vxlan-isis] negotiate-vni enable [SwitchA-vxlan-isis] mac-synchronization enable [SwitchA-vxlan-isis] quit (3) 配置 Switch B # 开启 L2VPN 能力。 <SwitchB> system-view [SwitchB] l2vpn enable # 配置 VXLAN 隧道工作在二层转发模式。 [SwitchB] undo vxlan ip-forwarding # 配置预留 VXLAN 为 VXLAN 11111。 [SwitchB] reserved vxlan 11111 # 创建 VSI 实例 vpna 和 VXLAN 10000。 [SwitchB] vsi vpna [SwitchB-vsi-vpna] vxlan 10000 [SwitchB-vsi-vpna-vxlan10000] quit [SwitchB-vsi-vpna] quit # 创建 VSI 实例 vpnb 和 VXLAN 10001。 [SwitchB] vsi vpnb [SwitchB-vsi-vpnb] vxlan 10001 [SwitchB-vsi-vpnb-vxlan10001] 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 1 mode vxlan [SwitchB-Tunnel1] source 2.2.2.2 [SwitchB-Tunnel1] destination 1.1.1.1 [SwitchB-Tunnel1] quit 4-9
  • 62. # 在 Switch B 和 Switch 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 # 创建 VLAN 2~VLAN 3,配置端口 FortyGigE1/0/1 允许 VLAN 2~VLAN 3 的报文通过。 [SwitchB] vlan 2 to 3 [SwitchB] interface fortygige 1/0/1 [SwitchB-FortyGigE1/0/1] port link-type trunk [SwitchB-FortyGigE1/0/1] port trunk permit vlan 2 to 3 # 在接入服务器的接口 FortyGigE1/0/1 上创建以太网服务实例 1000,该实例用来匹配 VLAN 2 的数 据帧,并将其与 VSI 实例 vpna 关联。 [SwitchB] interface fortygige 1/0/1 [SwitchB-FortyGigE1/0/1] service-instance 1000 [SwitchB-FortyGigE1/0/1-srv1000] encapsulation s-vid 2 [SwitchB-FortyGigE1/0/1-srv1000] xconnect vsi vpna [SwitchB-FortyGigE1/0/1-srv1000] quit # 在接口 FortyGigE1/0/1 上创建以太网服务实例 2000,该实例用来匹配 VLAN 3 的数据帧,并将其 与 VSI 实例 vpnb 关联。 [SwitchB-FortyGigE1/0/1] service-instance 2000 [SwitchB-FortyGigE1/0/1-srv2000] encapsulation s-vid 3 [SwitchB-FortyGigE1/0/1-srv2000] xconnect vsi vpnb [SwitchB-FortyGigE1/0/1-srv2000] quit [SwitchB-FortyGigE1/0/1] quit # 启动 VXLAN IS-IS 进程,开启 VXLAN IS-IS 的 VXLAN 隧道自动协商和 MAC 地址同步功能。 [SwitchB] vxlan-isis [SwitchB-vxlan-isis] negotiate-vni enable [SwitchB-vxlan-isis] mac-synchronization enable [SwitchB-vxlan-isis] quit (4) 配置 Switch C # 开启 L2VPN 能力。 <SwitchC> system-view [SwitchC] l2vpn enable # 配置 VXLAN 隧道工作在二层转发模式。 [SwitchC] undo vxlan ip-forwarding # 配置预留 VXLAN 为 VXLAN 11111。 [SwitchC] reserved vxlan 11111 # 创建 VSI 实例 vpna 和 VXLAN 10002。 [SwitchC] vsi vpna [SwitchC-vsi-vpna] vxlan 10002 [SwitchC-vsi-vpna-vxlan10002] quit [SwitchC-vsi-vpna] quit # 创建 VSI 实例 vpnb 和 VXLAN 10003。 [SwitchC] vsi vpnb [SwitchC-vsi-vpnb] vxlan 10003 4-10
  • 63. [SwitchC-vsi-vpnb-vxlan10003] quit [SwitchC-vsi-vpnb] 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 2 mode vxlan [SwitchC-Tunnel1] source 3.3.3.3 [SwitchC-Tunnel1] destination 1.1.1.1 [SwitchC-Tunnel1] quit # 在 Switch B 和 Switch C 之间建立 VXLAN 隧道。 [SwitchC] interface tunnel 3 mode vxlan [SwitchC-Tunnel1] source 3.3.3.3 [SwitchC-Tunnel1] destination 2.2.2.2 [SwitchC-Tunnel1] quit # 创建 VLAN 4~VLAN 5,配置端口 FortyGigE1/0/1 允许 VLAN 4~VLAN 5 的报文通过。 [SwitchC] vlan 4 to 5 [SwitchC] interface fortygige 1/0/1 [SwitchC-FortyGigE1/0/1] port link-type trunk [SwitchC-FortyGigE1/0/1] port trunk permit vlan 4 to 5 # 在接入服务器的接口 FortyGigE1/0/1 上创建以太网服务实例 1000,该实例用来匹配 VLAN 4 的数 据帧,并将其与 VSI 实例 vpna 关联。 [SwitchC] interface fortygige 1/0/1 [SwitchC-FortyGigE1/0/1] service-instance 1000 [SwitchC-FortyGigE1/0/1-srv1000] encapsulation s-vid 4 [SwitchC-FortyGigE1/0/1-srv1000] xconnect vsi vpna [SwitchC-FortyGigE1/0/1-srv1000] quit # 在接口 FortyGigE1/0/1 上创建以太网服务实例 2000,该实例用来匹配 VLAN 5 的数据帧,并将其 与 VSI 实例 vpnb 关联。 [SwitchC-FortyGigE1/0/1] service-instance 2000 [SwitchC-FortyGigE1/0/1-srv2000] encapsulation s-vid 5 [SwitchC-FortyGigE1/0/1-srv2000] xconnect vsi vpnb [SwitchC-FortyGigE1/0/1-srv2000] quit [SwitchC-FortyGigE1/0/1] quit # 启动 VXLAN IS-IS 进程,开启 VXLAN IS-IS 的 VXLAN 隧道自动协商和 MAC 地址同步功能。 [SwitchC] vxlan-isis [SwitchC-vxlan-isis] negotiate-vni enable [SwitchC-vxlan-isis] mac-synchronization enable [SwitchC-vxlan-isis] quit 4. 验证配置 (1) 验证 VTEP 设备(下文以 Switch A 为例,其它设备验证方法与此类似) # 查看 Switch A 上的 Tunnel 接口信息,可以看到 VXLAN 模式的 Tunnel 接口处于 up 状态。 [SwitchA] display interface tunnel Tunnel 1 4-11
  • 64. 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 Tunnel 2 Current state: UP Line protocol state: UP Description: Tunnel2 Interface Bandwidth: 64 kbps Maximum transmission unit: 64000 Internet protocol processing: Disabled Last clearing of counters: Never Tunnel source 1.1.1.1, destination 3.3.3.3 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 : 10000 Tunnels: Tunnel Name Link ID State Type Tunnel1 0x5000001 UP Auto ACs: AC Link ID State FGE1/0/1 srv1000 0 Up VSI Name: vpnb VSI Index : 1 VSI State : Up MTU : 1500 Bandwidth : - Broadcast Restrain : - 4-12
  • 65. Multicast Restrain : - Unknown Unicast Restrain: - MAC Learning : Enabled MAC Table Limit : - Drop Unknown : - Flooding : Enabled VXLAN ID : 10001 Tunnels: Tunnel Name Link ID State Type Tunnel1 0x5000001 UP Auto ACs: AC Link ID State FGE1/0/1 srv2000 0 Up VSI Name: vpnc VSI Index : 2 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 : 10002 Tunnels: Tunnel Name Link ID State Type Tunnel2 0x5000002 UP Auto ACs: AC Link ID State FGE1/0/1 srv3000 0 Up VSI Name: vpnd VSI Index : 3 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 : 10003 Tunnels: Tunnel Name Link ID State Type Tunnel2 0x5000002 UP Auto 4-13
  • 66. ACs: AC Link ID State FGE1/0/1 srv4000 0 Up # 查看 Switch A 上 VSI 的 MAC 地址表项信息,可以看到已学习到的 MAC 地址信息。 [SwitchA] display l2vpn mac-address MAC Address State VSI Name Link ID/Name Aging cc3e-5f9c-6cdb static vpna Tunnel1 Aging cc3e-5f9c-23dc static vpnc Tunnel2 Aging --- 1 mac address(es) found --- # 查看 Switch A 上邻居状态信息,可以看到已经和 Switch B、Switch C 建立邻居。 [SwitchA] display vxlan isis peer System ID: 4431.9234.2602 Link interface: Tunnel1 Circuit ID: 4431.9234.2602.0001 State: Up Hold time: 8s Neighbour DED priority: 64 Uptime: 47:48:34 System ID: 4431.9234.1f68 Link interface: Tunnel2 Circuit ID: 4431.9234.1f68.0000 State: Up Hold time: 27s Neighbour DED priority: 64 Uptime: 47:50:30 # 查看 Switch A 上链路状态信息,可以看到链路状态正常。 [SwitchA] display vxlan isis lsdb Link state database information for VXLAN ISIS (Tunnel 1) LSP ID Seq num Checksum Holdtime Length Overload ----------------------------------------------------------------------------- 4431.9234.1f68.0000-00 0x000000c2 0xdc02 656 59 0 4431.9234.2602.0000-00* 0x000000c3 0xd136 326 70 0 4431.9234.2602.0001-00* 0x000000c1 0x73ca 658 57 0 Link state database information for VXLAN ISIS (Tunnel 2) LSP ID Seq num Checksum Holdtime Length Overload ----------------------------------------------------------------------------- 4431.9234.1f68.0000-00 0x000000c2 0xdc02 656 59 0 4431.9234.2613.0000-00* 0x000000c3 0xd136 326 70 0 4431.9234.2613.0002-00* 0x000000c1 0x73ca 658 57 0 Flags: *-Self LSP, +-Self LSP(Extended) # 查看 Switch A 上 VXLAN IS-IS 的 MAC 地址表项信息,可以看到已学习到的 MAC 地址信息。 [SwitchA] display vxlan isis remote-mac MAC Flags: D-MAC conflict with local dynamic MAC. 4-14
  • 67. 4-15 F-MAC has been issued to the remote MAC address table. S-MAC conflict with local static or selective-flooding MAC. A-Tunnel interface can forward traffic to the MAC. VXLAN ID: 10000 MAC address: cc3e-5f9c-6cdb Interface: Tunnel1 Flags: AF VXLAN ID: 10002 MAC address: cc3e-5f9c-23dc Interface: Tunnel2 Flags: AF # 查看 Switch A 上 VXLAN IS-IS 的远端 VXLAN 信息,可以看到已学习到的 VXLAN 信息。 [SwitchA] display vxlan isis remote-vxlan VXLAN Flags: S-VXLAN supported at the local end F-Association between VXLAN and Tunnels has been flushed to L2VPN VXLAN ID: 10000 Flags: FS Tunnel: 1 VXLAN ID: 10001 Flags: FS Tunnel: 1 VXLAN ID: 10002 Flags: FS Tunnel: 2 VXLAN ID: 10003 Flags: FS Tunnel: 2 (2) 验证主机 VM 1 和 VM 5、VM 2 和 VM 6、VM 3 和 VM 7、VM 4 和 VM 8 可以互访,其他 VM 之间不能互访。
  • 68. 5 VXLAN IP网关 5.1 VXLAN IP网关简介 网关部署在 VTEP 设备上时,又分为集中式 VXLAN IP 网关和分布 方式。 5.1.1 VXLAN 可以为分散的物理站点提供二层互联。如果要为 VXLAN 站点内的虚拟机提供三层业务,则 需要在网络中部署 VXLAN IP 网关,以便站点内的虚拟机通过 VXLAN IP 网关与外界网络或其他 VXLAN 网络内的虚拟机进行三层通信。VXLAN IP 网关既可以部署在独立的物理设备上,也可以部 署在 VTEP 设备上。VXLAN IP 式 VXLAN IP 网关两种 独立的VXLAN IP网关 图5-1 独立的 VXLAN IP 网关示意图 如图 5-1所示,VXLAN IP网关部署在独立的物理设备上时,VXLAN IP网关作为物理站点接入VTEP, VXLAN业务对于网关设备透明。虚拟机通过VXLAN IP网关与三层网络中的节点通信时,虚拟机将 三层报文封装成二层数据帧发送给VXLAN IP网关。VTEP对该数据帧进行VXLAN封装,并在IP核心 网络上将其转发给远端VTEP(连接VXLAN IP网关的VTEP)。远端VTEP对VXLAN报文进行解封装, 并将原始的二层数据帧转发给VXLAN IP网关。VXLAN IP网关去掉链路层封装后,对报文进行三层 转发。 5-1
  • 69. 5.1.2 集中式VXLAN IP网关 图5-2 集中式 VXLAN IP 网关示意图 如图 5-2所示,集中式VXLAN IP网关进行二层VXLAN业务终结的同时,还对内层封装的IP报文进行 三层转发处理。与独立的VXLAN IP网关相比,该方式除了能够节省设备资源外,VXLAN IP网关功 能由VXLAN对应的三层虚接口(VSI虚接口)承担,三层业务的部署和控制也更加灵活和方便。 5-2
  • 70. 图5-3 集中式 VXLAN IP 网关的三层通信过程 如图 5-3所示,以地址为 10.1.1.11 的虚拟机为例,虚拟机与外界网络进行三层通信的过程为: (1) 虚拟机(10.1.1.11)跨网段进行三层通信时,先广播发送 ARP 请求消息,解析 VXLAN IP 网 关(10.1.1.1)的 MAC 地址。 (2) VTEP 1 收到 ARP 请求消息后,添加 VXLAN 封装并发送给所有的远端 VTEP。 (3) VTEP 3 解封装 VXLAN 报文后,发现 ARP 请求的目的 IP 为 VXLAN 对应的本地网关 IP 地址, 即与 VXLAN 关联的 VSI 虚接口的 IP 地址,则学习 10.1.1.11 的 ARP 信息,并向虚拟机回应 ARP 应答消息。 (4) VTEP 1 收到 ARP 应答消息后,将该消息转发给虚拟机。 (5) 虚拟机获取到网关的 MAC 地址后,为三层报文添加网关的 MAC 地址,通过 VXLAN 网络将 二层数据帧发送给 VTEP 3。 (6) VTEP 3 解封装 VXLAN 报文,并去掉链路层头后,对内层封装的 IP 报文进行三层转发,将其 发送给最终的目的节点。 (7) 目的节点回复的报文到达网关后,网关根据已经学习到的 ARP 表项,为报文封装链路层头, 并通过 VXLAN 网络将其发送给虚拟机。 属于不同 VXLAN 网络的虚拟机之间的通信过程与上述过程类似,不同之处在于一个 VXLAN 网络 的集中式网关需要将报文转发给另一个 VXLAN 网络的集中式网关,再由该集中式网关将报文转发 给本 VXLAN 内对应的虚拟机。 5-3
  • 71. 5.1.3 分布式VXLAN IP网关 1. 简介 图5-4 分布式 VXLAN IP 网关示意图 VXLAN tunnel VXLAN tunnel VTEP/ VXLAN IP GW VTEP Server Site 1 L3 network VXLAN tunnel VXLAN tunnel Server Site 2 Server Site 3 Server Site 4 Server Site 5 Server Site 6 VTEP/ VXLAN IP GW VTEP/ VXLAN IP GW VTEP/ Border 采用集中式VXLAN IP网关方案时,不同VXLAN之间的流量以及VXLAN访问外界网络的流量全部由 集中式VXLAN IP网关处理,网关压力较大,并加剧了网络带宽资源的消耗。如图 5-4所示,在分布 式VXLAN IP网关方案中,每台VTEP设备都可以作为VXLAN IP网关,对本地站点的流量进行三层 转发,很好地缓解了网关的压力。 5-4
  • 72. 图5-5 分布式 VXLAN IP 网关部署示意图 如图 5-5所示,在分布式VXLAN IP网关组网中,所有的分布式VXLAN IP网关(GW)上都需要创建 VSI虚接口,并在虚接口上配置相同的IP地址,作为VXLAN内虚拟机的网关地址。在分布式VXLAN IP网关上还需要使能本地代理ARP功能。边界网关(Border)上也需要创建VSI虚接口,并配置IP 地址。 采用分布式 VXLAN IP 网关组网方案时,流量都通过查找 ARP 表项进行三层转发。 2. 相同VXLAN内不同站点的虚拟机通信过程 如图 5-5所示,以VM 1 访问VM 4 为例,相同VXLAN内不同站点的虚拟机的通信过程为: (1) VM 1 广播发送 ARP 请求消息,获取 VM 4 的 MAC 地址。 (2) GW 1 收到 ARP 请求消息后,学习 VM 1 的 ARP 信息,并代理应答该 ARP 请求,即:向 VM 1 发送 ARP 应答消息,应答的 MAC 地址为 VSI 虚接口 10 的 MAC 地址。 (3) VM 1 学习到 VM 4 的 MAC 地址为 GW 1 上 VSI 虚接口 10 的 MAC 地址。 (4) GW 1 将接收到的 ARP 请求消息中的源 MAC 地址修改为 VSI 虚接口 10 的 MAC 地址,对该 消息进行 VXLAN 封装后,将其发送给 VXLAN 内的所有远端 VTEP。 (5) GW 2 对 VXLAN 报文进行解封装后,学习 VM 1 的 ARP 信息(IP 为 10.1.1.11、MAC 为 GW 1 上 VSI 虚接口 10 的 MAC、出接口为接收该 VXLAN 报文的 Tunnel 接口),并将 ARP 请求 消息中的源 MAC 修改为本地 VSI 虚接口 10 的 MAC 地址,在 VXLAN 10 的本地站点内进行 广播。 (6) VM 4 收到 ARP 请求后,学习 VM 1 的 ARP 信息(IP 为 10.1.1.11、MAC 为 GW 2 上 VSI 虚 接口 10 的 MAC),并发送 ARP 应答消息给本地网关 GW 2。 5-5
  • 73. (7) GW 2 从 VM 4 收到 ARP 应答消息后,学习 VM 4 的 ARP 信息,将 ARP 应答消息中的源 MAC 修改为本地 VSI 虚接口 10 的 MAC 地址,并根据已经学习到的 ARP 表项,为 ARP 应答消息 添加 VXLAN 封装后发送给 GW 1。 (8) GW 1 对 VXLAN 报文进行解封装后,根据收到的 ARP 应答消息学习 VM 4 的 ARP 信息(IP 为 10.1.1.12、MAC 为 GW 2 上 VSI 虚接口 10 的 MAC、出接口为接收该 VXLAN 报文的 Tunnel 接口)。 (9) 通过上述步骤完成 ARP 信息的学习后,VM 1 发送给 VM 4 的报文,根据已经学习到的 ARP 信息进行转发:首先发送给 GW 1;GW 1 对其进行 VXLAN 封装后,将其发送给 GW 2;GW 2 解封装后,将其发送给 VM 4。 3. 不同VXLAN间不同站点的虚拟机通信过程 如图 5-5所示,以VM 1 访问VM 5 为例,不同VXLAN的虚拟机的通信过程为: (1) VM 1 广播发送 ARP 请求消息,获取网关 10.1.1.1 的 MAC 地址。 (2) GW 1 收到 ARP 请求消息后,学习 VM 1 的 ARP 信息,并向 VM 1 发送 ARP 应答消息,应答 的 MAC 地址为 VSI 虚接口 10 的 MAC 地址。 (3) VM 1 将访问 VM 5 的报文发送给 GW 1。 (4) GW 1 在所有 VXLAN 内向本地站点和远端站点广播发送 ARP 请求,获取 VM 5 的 MAC 地址。 (5) GW 2 从 VXLAN 隧道上接收到 VXLAN 报文后,对其进行解封装后,学习 GW 1 的 ARP 信息 (IP 为 10.1.1.1、MAC 为 GW 1 上 VSI 虚接口 10 的 MAC、出接口为接收该 VXLAN 报文的 Tunnel 接口),并将 ARP 请求消息中的源 MAC 修改为本地 VSI 虚接口 20 的 MAC 地址,在 VXLAN 20 的本地站点内广播该 ARP 请求消息。 (6) VM 5 收到 ARP 请求后,学习 GW 2 的 ARP 信息(IP 为 20.1.1.1、MAC 为 GW 2 上 VSI 虚 接口 20 的 MAC),并发送 ARP 应答消息给本地网关 GW 2。 (7) GW 2 从 VM 5 收到 ARP 应答消息后,学习 VM 5 的 ARP 信息,将 ARP 应答消息中的源 MAC 修改为本地 VSI 虚接口 20 的 MAC 地址,并根据已经学习到的 ARP 表项,为 ARP 应答消息 添加 VXLAN 封装后发送给 GW 1。 (8) GW 1 对 VXLAN 报文进行解封装后,根据收到的 ARP 应答消息学习 VM 5 的 ARP 信息(IP 为 20.1.1.12、MAC 为 GW 2 上 VSI 虚接口 20 的 MAC、出接口为接收该 VXLAN 报文的 Tunnel 接口)。 (9) 通过上述步骤完成 ARP 信息的学习后,VM 1 发送给 VM 5 的报文,根据已经学习到的 ARP 信息进行转发:首先发送给 GW 1;GW 1 对其进行 VXLAN 封装后,将其发送给 GW 2;GW 2 解封装后,将其发送给 VM 5。 4. 虚拟机与外部网络的三层通信过程 虚拟机要想与外部网络进行三层通信,需要在本地分布式 VXLAN IP 网关上配置缺省路由,指定路 由下一跳为 Border 上任意一个 VXLAN 对应 VSI 虚接口的 IP 地址。 如图 5-5所示,以VM 1 访问外部网络内的主机 50.1.1.1 为例,虚拟机访问外部网络的三层通信过程 为: (1) VM 1 广播发送 ARP 请求消息,获取网关 10.1.1.1 的 MAC 地址。 (2) GW 1 收到 ARP 请求消息后,学习 VM 1 的 ARP 信息,并向 VM 1 发送 ARP 应答消息,应答 的 MAC 地址为 VSI 虚接口 10 的 MAC 地址。 (3) VM 1 将访问外部网络的报文发送给 GW 1。 5-6
  • 74. (4) GW 1 接收到报文后,根据缺省路由判断报文的下一跳地址为 10.1.1.2。GW 1 在 VXLAN 10 内向本地站点和远端站点广播发送 ARP 请求消息,获取 10.1.1.2 对应的 MAC 地址。 (5) Border 对 VXLAN 报文进行解封装,学习 GW 1 的 ARP 信息,并通过 VXLAN 隧道回复 ARP 应答消息。 (6) GW 1 对 VXLAN 报文进行解封装,并获取到 10.1.1.2 的 ARP 信息。 (7) GW 1 根据获取到的信息为 VM 1 发送的报文封装链路层地址(10.1.1.2 对应的 MAC 地址), 并通过 VXLAN 隧道将报文发送给 Border。 (8) Border 对接收到的报文进行解封装后,对报文进行三层转发。 5.2 配置集中式VXLAN IP网关 执行本配置时,需要完成以下配置任务: • 配置 VXLAN 隧道工作在三层转发模式。 • 在 VTEP 上创建 VSI 和 VXLAN。 • 配置 VXLAN 隧道,并将 VXLAN 与 VXLAN 隧道关联。 表5-1 配置集中式 VXLAN IP 网关 操作 命令 说明 进入系统视图 system-view - 创建VSI虚接口,并进入VSI 虚接口视图 interface vsi-interface vsi-interface-id 缺省情况下,设备上不存在任何VSI虚 接口 如果VSI虚接口已经存在,则直接进入 该VSI虚接口视图 配置VSI虚接口的IP地址 ip address ip-address { mask | mask-length } [ sub ] 缺省情况下,未配置VSI虚接口的IP地 址 退回系统视图 quit - 进入VXLAN所在VSI视图 vsi vsi-name - 为VSI指定网关接口 gateway vsi-interface vsi-interface-id 缺省情况下,没有为VSI指定网关接口 5.3 配置分布式VXLAN IP网关 执行本配置时,需要完成以下配置任务: • 配置 VXLAN 隧道工作在三层转发模式。 • 在 VTEP 上创建 VSI 和 VXLAN。 • 配置 VXLAN 隧道,并将 VXLAN 与 VXLAN 隧道关联。 • 如果虚拟机要想与外部网络进行三层通信,那么还需要在本地分布式 VXLAN IP 网关上配置缺 省路由,指定路由下一跳为 Border 上任意一个 VXLAN 对应 VSI 虚接口的 IP 地址。 5-7
  • 75. 表5-2 配置分布式 VXLAN IP 网关 操作 命令 说明 进入系统视图 system-view - 创建VSI虚接口,并进入 VSI虚接口视图 interface vsi vsi-interface-id 缺省情况下,设备上不存在任何VSI虚接口 如果VSI虚接口已经存在,则直接进入该VSI虚 接口视图 配置VSI虚接口的IP地址 ip address ip-address { mask | mask-length } 缺省情况下,未配置VSI虚接口的IP地址 配置VSI虚接口为分布式 网关接口 distributed-gateway local 缺省情况下,VSI虚接口不是分布式本地网关接 口 使能本地代理ARP功能 local-proxy-arp enable [ ip-range startIP to endIP ] 必选 缺省情况下,本地代理ARP功能处于关闭状态 本命令的详细介绍,请参见“三层技术-IP业务 命令参考”中的“代理ARP” 退回系统视图 quit - 进入VXLAN所在VSI视图 vsi vsi-name - 为VSI指定网关接口 gateway vsi-interface vsi-interface-id 缺省情况下,没有为VSI指定网关接口 5.4 配置VSI虚接口 通过本配置,可以根据需要调整 VSI 虚接口的参数及状态。 表5-3 配置 VSI 虚接口 操作 命令 说明 进入系统视图 system-view - 进入VSI虚接口视图 interface vsi vsi-interface-id - 配置VSI虚接口的MAC地 址 mac-address mac-address 缺省情况下,未配置VSI虚接口的 MAC地址 为VSI虚接口配置的MAC地址的高36 位必须与设备桥MAC地址的高36位 相同 (可选)配置接口的描述信 息 description text 缺省情况下,接口的描述信息为“接 口名 Interface”,例如: Vsi-interface100 Interface (可选)配置接口的MTU mtu mtu-value 缺省情况下,接口的MTU值为1500 字节 (可选)配置接口的期望带 宽 bandwidth bandwidth-value 缺省情况下,接口的期望带宽为 1000000kbps 恢复当前接口的缺省配置 default - 开启当前接口 undo shutdown 缺省情况下,接口处于开启状态 5-8
  • 76. 5.5 VXLAN IP网关显示和维护 在完成上述配置后,在任意视图下执行 display 命令可以显示配置后 VXLAN IP 网关的运行情况, 通过查看显示信息验证配置的效果。 在用户视图下,用户可以执行 reset 命令来清除 VSI 虚接口的统计信息。 表5-4 VXLAN IP 网关显示和维护 操作 命令 显示VSI虚接口信息 display interface [ vsi-interface [ vsi-interface-id ] ] [ brief [ description ] ] 清除接口的统计信息 reset counters interface [ vsi-interface [ vsi-interface-id ] ] 5.6 VXLAN IP网关典型配置举例 5.6.1 集中式VXLAN IP网关配置举例 1. 组网需求 Switch A、Switch C 为与服务器连接的 VTEP 设备,Switch B 为与广域网连接的集中式 VXLAN IP 网关设备,Switch E 为广域网内的三层交换机。虚拟机 VM 1、VM 2 同属于 VXLAN 10,通过 VXLAN 实现不同站点间的二层互联,并通过 VXLAN IP 网关与广域网三层互联。 2. 组网图 图5-6 集中式 VXLAN IP 网关配置组网图 Switch A Switch C IP核心网络 Switch D FGE1/0/1 FGE1/0/1 Switch B Server 1 VM 1 Server 2 VM 2 Loop0 1.1.1.1/32 Loop0 3.3.3.3/32 Loop0 2.2.2.2/32 VLAN 2 VLAN 2 Vlan-int11 11.1.1.1/24 Vlan-int13 13.1.1.4/24 Vlan-int12 12.1.1.2/24 Vlan-int11 11.1.1.4/24 Vlan-int13 13.1.1.3/24 Vlan-int12 12.1.1.4/24 VSI-int1 10.1.1.1/24 Vlan-int20 20.1.1.5/24 Vlan-int20 20.1.1.2/24 Switch E 10.1.1.11 10.1.1.12 WAN 3. 配置步骤 (1) 配置 IP 地址和单播路由协议 5-9
  • 77. # 请按照图 5-6配置各接口的IP地址和子网掩码,并在IP核心网络内配置OSPF协议,具体配置过程 略。 # Switch B 和 Switch E 上配置 OSPF 协议,发布 10.1.1.0/24 和 20.1.1.0/24 网段的路由,具体配 置过程略。 (2) 配置 Switch A # 开启 L2VPN 能力。 <SwitchA> system-view [SwitchA] l2vpn enable # 配置 VXLAN 隧道工作在二层转发模式。 [SwitchA] undo vxlan ip-forwarding # 创建 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 A 和 Switch 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 # 配置 Tunnel1 和 Tunnel2 与 VXLAN 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 # 创建 VLAN2,将 FortyGigE1/0/1 端口加入 VLAN2。 [SwitchA] vlan 2 [SwitchA–vlan2] port fortygige 1/0/1 [SwitchA–vlan2] quit # 在接入服务器的接口 FortyGigE1/0/1 上创建以太网服务实例 1000,该实例用来匹配 VLAN 2 的数 据帧。 5-10
  • 78. [SwitchA] interface fortygige 1/0/1 [SwitchA-FortyGigE1/0/1] service-instance 1000 [SwitchA-FortyGigE1/0/1-srv1000] encapsulation s-vid 2 # 配置以太网服务实例 1000 与 VSI 实例 vpna 关联。 [SwitchA-FortyGigE1/0/1-srv1000] xconnect vsi vpna [SwitchA-FortyGigE1/0/1-srv1000] quit [SwitchA-FortyGigE1/0/1] quit (3) 配置 Switch B # 开启 L2VPN 能力。 <SwitchB> system-view [SwitchB] l2vpn enable # 配置预留 VLAN 3000 接口资源(全局类型)。 [SwitchB] reserve-vlan-interface 3000 global # 创建 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 B 和 Switch 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 # 配置 Tunnel2 和 Tunnel3 与 VXLAN10 关联。 [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 # 创建 VSI 虚接口 VSI-interface1,并为其配置 IP 地址,该 IP 地址作为 VXLAN 10 内虚拟机的网 关地址。 [SwitchB] interface vsi-interface 1 [SwitchB-Vsi-interface1] ip address 10.1.1.1 255.255.255.0 [SwitchB-Vsi-interface1] quit # 配置 VXLAN 10 所在的 VSI 实例和接口 VSI-interface1 关联。 [SwitchB] vsi vpna [SwitchB-vsi-vpna] gateway vsi-interface 1 5-11
  • 79. [SwitchB-vsi-vpna] quit (4) 配置 Switch C # 开启 L2VPN 能力。 <SwitchC> system-view [SwitchC] l2vpn enable # 配置 VXLAN 隧道工作在二层转发模式。 [SwitchC] undo vxlan ip-forwarding # 创建 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 B 和 Switch 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 # 配置 Tunnel1 和 Tunnel3 与 VXLAN 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 # 创建 VLAN2,将 FortyGigE1/0/1 端口加入 VLAN2。 [SwitchC] vlan 2 [SwitchC–vlan2] port fortygige 1/0/1 [SwitchC–vlan2] quit # 在接入服务器的接口 FortyGigE1/0/1 上创建以太网服务实例 1000,该实例用来匹配 VLAN 2 的数 据帧。 [SwitchC] interface fortygige 1/0/1 [SwitchC-FortyGigE1/0/1] service-instance 1000 [SwitchC-FortyGigE1/0/1-srv1000] encapsulation s-vid 2 # 配置以太网服务实例 1000 与 VSI 实例 vpna 关联。 [SwitchC-FortyGigE1/0/1-srv1000] xconnect vsi vpna [SwitchC-FortyGigE1/0/1-srv1000] quit [SwitchC-FortyGigE1/0/1] quit 5-12
  • 80. 4. 验证配置 (1) 验证 VXLAN IP 网关设备 Switch B # 查看 Switch B 上的 Tunnel 接口信息,可以看到 VXLAN 模式的 Tunnel 接口处于 up 状态。 [SwitchB] display interface tunnel 2 Tunnel2 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 2.2.2.2, destination 1.1.1.1 Tunnel protocol/transport UDP_VXLAN/IP # 查看 Switch B 上的 VSI 虚接口信息,可以看到 VSI 虚接口处于 up 状态。 [SwitchB] display interface vsi-interface 1 Vsi-interface1 Current state: UP Line protocol state: UP Description: Vsi-interface100 Interface Bandwidth: 1000000kbps Maximum transmission unit: 1500 Internet Address is 10.1.1.1/24 Primary IP Packet Frame Type:PKTFMT_ETHNT_2, Hardware Address: 0011-2200-0102 IPv6 Packet Frame Type:PKTFMT_ETHNT_2, Hardware Address: 0011-2200-0102 Physical: Unknown, baudrate: 1000000 kbps Last clearing of counters: Never Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec Input: 0 packets, 0 bytes, 0 drops Output: 0 packets, 0 bytes, 0 drops # 查看 Switch B 上的 VSI 信息,可以看到 VSI 内创建的 VXLAN、与 VXLAN 关联的 VXLAN 隧道、 与 VSI 关联的 VSI 虚接口等信息。 [SwitchB] 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 Gateway interface : VSI-interface 1 5-13
  • 81. VXLAN ID : 10 Tunnels: Tunnel Name Link ID State Type Tunnel2 0x5000002 Up Manual Tunnel3 0x5000003 Up Manual # 查看 Switch B 上 VSI 的 ARP 表项信息,可以看到已学习到了虚拟机的 ARP 信息。 [SwitchB] display arp Type: S-Static D-Dynamic O-Openflow M-Multiport I-Invalid IP address MAC address VLAN Interface Aging Type 20.1.1.5 000c-29c1-5e46 N/A Vlan20 19 D 10.1.1.11 0000-1234-0001 N/A Vsi10 20 D 10.1.1.12 0000-1234-0002 N/A Vsi10 19 D # 查看 Switch B 上 FIB 表项信息,可以看到已学习到了虚拟机的转发表项信息。 [SwitchB] display fib 10.1.1.11 Destination count: 1 FIB entry count: 1 Flag: U:Useable G:Gateway H:Host B:Blackhole D:Dynamic S:Static R:Relay F:FRR Destination/Mask Nexthop Flag OutInterface/Token Label 10.1.1.11/32 10.1.1.11 UH Vsi10 Null (2) 验证主机和广域网互访 虚拟机 VM 1、VM 2 之间可以互访,VM 1、VM 2 和 Switch E 上接口 Vlan-interface20 的地址 20.1.1.5 之间可以互访。 5.6.2 分布式VXLAN IP网关配置举例 1. 组网需求 Switch A、Switch C为分布式VXLAN IP网关设备,Switch B为与广域网连接的边界网关设备,Switch E 为广域网内的三层交换机。虚拟机 VM 1 属于 VXLAN 10,VM 3 属于 VXLAN 30。通过分布式 VXLAN IP 网关实现不同 VXLAN 网络的三层互联,并通过边界网关实现与广域网的三层互联。 具体需求为: • 站点网络为 IPv4 网络。 • 不同 VTEP 之间手工建立 VXLAN 隧道。 • 手工关联 VXLAN 和 VXLAN 隧道。 • 站点之间的泛洪流量采用头端复制的方式转发。 • VM 1、VM 3 之间可以互访;VM 1 和 VM 3 都可以访问外部网络。 5-14
  • 82. 2. 组网图 图5-7 分布式 VXLAN IP 网关配置组网图 Switch A Switch C IP核心网络 Switch D FGE1/0/1 FGE1/0/1 Switch B Server 1 VM 1 Server 3 VM 3 Loop0 1.1.1.1/32 Loop0 3.3.3.3/32 Loop0 2.2.2.2/32 VLAN 2 VLAN 4 Vlan-int11 11.1.1.1/24 Vlan-int13 13.1.1.4/24 Vlan-int12 12.1.1.2/24 Vlan-int11 11.1.1.4/24 Vlan-int13 13.1.1.3/24 Vlan-int12 12.1.1.4/24 Vlan-int20 25.1.1.5/24 Vlan-int20 25.1.1.2/24 Switch E 10.1.1.11 20.1.1.12 VSI-int1 10.1.1.1/24 VSI-int2 20.1.1.1/24 VSI-int1 10.1.1.2/24 VSI-int3 20.1.1.2/24 VSI-int1 10.1.1.1/24 VSI-int2 20.1.1.1/24 3. 配置步骤 (1) 配置 IP 地址和单播路由协议 # 请按照图 5-7配置各接口的IP地址和子网掩码,并在IP核心网络内配置OSPF协议,具体配置过程 略。 # Switch B 和 Switch E 上配置 OSPF 协议,发布 10.1.1.0/24、20.1.1.0/24 和 25.1.1.0/24 网段的 路由,具体配置过程略。 (2) 配置 Switch A # 开启 L2VPN 能力。 <SwitchA> system-view [SwitchA] l2vpn enable # 配置预留 VLAN 3000~VLAN 3500 接口资源(全局类型)。 [SwitchA] reserve-vlan-interface 3000 to 3500 global # 创建 VSI 实例 vpna 和 VXLAN 10。 [SwitchA] vsi vpna [SwitchA-vsi-vpna] vxlan 10 [SwitchA-vsi-vpna-vxlan10] quit [SwitchA-vsi-vpna] quit # 创建 VSI 实例 vpnc 和 VXLAN 30。 [SwitchA] vsi vpnc [SwitchA-vsi-vpnc] vxlan 30 [SwitchA-vsi-vpnc-vxlan30] quit [SwitchA-vsi-vpnc] quit # 配置接口 Loopback0 的 IP 地址,作为隧道的源端地址。 5-15
  • 83. [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 A 和 Switch 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 # 配置 Tunnel1 和 Tunnel2 与 VXLAN 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 # 配置 Tunnel2 与 VXLAN 30 关联。 [SwitchA] vsi vpnb [SwitchA-vsi-vpnb] vxlan 30 [SwitchA-vsi-vpnb-vxlan30] tunnel 2 [SwitchA-vsi-vpnb-vxlan30] quit [SwitchA-vsi-vpnb] quit # 创建 VLAN2,将 FortyGigE1/0/1 端口加入 VLAN2,并创建 VLAN 虚接口 Vlan-interface 2。 [SwitchA] vlan 2 [SwitchA–vlan2] port fortygige 1/0/1 [SwitchA–vlan2] quit [SwitchA] interface vlan-interface 2 # 在接入 VM 1 的接口 FortyGigE1/0/1 上创建以太网服务实例 1000,该实例用来匹配 VLAN 2 的数 据帧。 [SwitchA] interface fortygige 1/0/1 [SwitchA-FortyGigE1/0/1] service-instance 1000 [SwitchA-FortyGigE1/0/1-srv1000] encapsulation s-vid 2 # 配置以太网服务实例 1000 与 VSI 实例 vpna 关联。 [SwitchA-FortyGigE1/0/1-srv1000] xconnect vsi vpna [SwitchA-FortyGigE1/0/1-srv1000] quit [SwitchA-FortyGigE1/0/1] quit # 创建 VSI 虚接口 VSI-interface1,并为其配置 IP 地址,该 IP 地址作为 VXLAN 10 内虚拟机的网 关地址,指定该 VSI 虚接口为分布式本地网关接口,并使能本地代理 ARP 功能。 [SwitchA] interface vsi-interface 1 5-16
  • 84. [SwitchA-Vsi-interface1] ip address 10.1.1.1 255.255.255.0 [SwitchA-Vsi-interface1] distributed-gateway local [SwitchA-Vsi-interface1] local-proxy-arp enable [SwitchA-Vsi-interface1] quit # 配置 VXLAN 10 所在的 VSI 实例和接口 VSI-interface1 关联。 [SwitchA] vsi vpna [SwitchA-vsi-vpna] gateway vsi-interface 1 [SwitchA-vsi-vpna] quit # 创建 VSI 虚接口 VSI-interface2,并为其配置 IP 地址,该 IP 地址作为 VXLAN 30 内虚拟机的网 关地址,指定该 VSI 虚接口为分布式本地网关接口,并使能本地代理 ARP 功能。 [SwitchA] interface vsi-interface 2 [SwitchA-Vsi-interface2] ip address 20.1.1.1 255.255.255.0 [SwitchA-Vsi-interface2] distributed-gateway local [SwitchA-Vsi-interface2] local-proxy-arp enable [SwitchA-Vsi-interface2] quit # 配置 VXLAN 30 所在的 VSI 实例和接口 VSI-interface2 关联。 [SwitchA] vsi vpnc [SwitchA-vsi-vpnc] gateway vsi-interface 2 [SwitchA-vsi-vpnc] quit # 配置缺省路由,指定 IPv4 报文如果没有找到匹配的路由表项,则设置报文的下一跳为 Switch B 上接口 VSI-interface1 的 IP 地址 10.1.1.2。 [SwitchA] ip route-static 0.0.0.0 0 vsi-interface 1 10.1.1.2 (3) 配置 Switch B # 开启 L2VPN 能力。 <SwitchB> system-view [SwitchB] l2vpn enable # 配置预留 VLAN 3000~VLAN 3500 接口资源(全局类型)。 [SwitchB] reserve-vlan-interface 3000 to 3500 global # 创建 VSI 实例 vpna 和 VXLAN 10。 [SwitchB] vsi vpna [SwitchB-vsi-vpna] vxlan 10 [SwitchB-vsi-vpna-vxlan10] quit [SwitchB-vsi-vpna] quit # 创建 VSI 实例 vpnc 和 VXLAN 30。 [SwitchB] vsi vpnc [SwitchB-vsi-vpnc] vxlan 30 [SwitchB-vsi-vpnc-vxlan30] quit [SwitchB-vsi-vpnc] 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 5-17
  • 85. [SwitchB-Tunnel2] quit # 在 Switch B 和 Switch 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 # 配置 Tunnel2 与 VXLAN 10 关联。 [SwitchB] vsi vpna [SwitchB-vsi-vpna] vxlan 10 [SwitchB-vsi-vpna-vxlan10] tunnel 2 [SwitchB-vsi-vpna-vxlan10] quit [SwitchB-vsi-vpna] quit # 配置 Tunnel3 与 VXLAN 30 关联。 [SwitchB] vsi vpnc [SwitchB-vsi-vpnc] vxlan 30 [SwitchB-vsi-vpnc-vxlan30] tunnel 3 [SwitchB-vsi-vpnc-vxlan30] quit [SwitchB-vsi-vpnc] quit # 创建 VSI 虚接口 VSI-interface1,并为其配置 IP 地址。 [SwitchB] interface vsi-interface 1 [SwitchB-Vsi-interface1] ip address 10.1.1.2 255.255.255.0 [SwitchB-Vsi-interface1] quit # 创建 VSI 虚接口 VSI-interface3,并为其配置 IP 地址。 [SwitchB] interface vsi-interface 3 [SwitchB-Vsi-interface3] ip address 20.1.1.2 255.255.255.0 [SwitchB-Vsi-interface3] quit # 配置 VXLAN 10 所在的 VSI 实例和接口 VSI-interface1 关联。 [SwitchB] vsi vpna [SwitchB-vsi-vpna] gateway vsi-interface 1 [SwitchB-vsi-vpna] quit # 配置 VXLAN 30 所在的 VSI 实例和接口 VSI-interface3 关联。 [SwitchB] vsi vpnc [SwitchB-vsi-vpnc] gateway vsi-interface 3 [SwitchB-vsi-vpnc] quit (4) 配置 Switch C # 开启 L2VPN 能力。 <SwitchC> system-view [SwitchC] l2vpn enable # 配置预留 VLAN 3000~VLAN 3500 接口资源(全局类型)。 [SwitchC] reserve-vlan-interface 3000 to 3500 global # 创建 VSI 实例 vpna 和 VXLAN 10。 [SwitchC] vsi vpna [SwitchC-vsi-vpna] vxlan 10 [SwitchC-vsi-vpna-vxlan10] quit [SwitchC-vsi-vpna] quit # 创建 VSI 实例 vpnb 和 VXLAN 30。 5-18
  • 86. [SwitchC] vsi vpnb [SwitchC-vsi-vpnb] vxlan 30 [SwitchC-vsi-vpnb-vxlan30] quit [SwitchC-vsi-vpnb] 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 B 和 Switch 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 # 配置 Tunnel1 与 VXLAN 10 关联。 [SwitchC] vsi vpna [SwitchC-vsi-vpna] vxlan 10 [SwitchC-vsi-vpna-vxlan10] tunnel 1 [SwitchC-vsi-vpna-vxlan10] quit [SwitchC-vsi-vpna] quit # 配置 Tunnel1 和 Tunnel3 与 VXLAN 30 关联。 [SwitchC] vsi vpnb [SwitchC-vsi-vpnb] vxlan 30 [SwitchC-vsi-vpnb-vxlan20] tunnel 1 [SwitchC-vsi-vpnb-vxlan20] tunnel 3 [SwitchC-vsi-vpnb-vxlan20] quit [SwitchC-vsi-vpnb] quit # 创建 VLAN4,将 FortyGigE1/0/1 端口加入 VLAN4,并创建 VLAN 虚接口 Vlan-interface 4。 [SwitchC] vlan 4 [SwitchC–vlan4] port fortygige 1/0/1 [SwitchC–vlan4] quit [SwitchC] interface vlan-interface 4 # 在接入 VM 3 的接口 FortyGigE1/0/1 上创建以太网服务实例 1000,该实例用来匹配 VLAN 4 的数 据帧。 [SwitchC] interface fortygige 1/0/1 [SwitchC-FortyGigE1/0/1] service-instance 1000 [SwitchC-FortyGigE1/0/1-srv1000] encapsulation s-vid 4 # 配置以太网服务实例 1000 与 VSI 实例 vpnb 关联。 [SwitchC-FortyGigE1/0/1-srv1000] xconnect vsi vpnb [SwitchC-FortyGigE1/0/1-srv1000] quit [SwitchC-FortyGigE1/0/1] quit # 创建 VSI 虚接口 VSI-interface1,并为其配置 IP 地址,该 IP 地址作为 VXLAN 10 内虚拟机的网 关地址,指定该 VSI 虚接口为分布式本地网关接口,并使能本地代理 ARP 功能。 5-19
  • 87. [SwitchC] interface vsi-interface 1 [SwitchC-Vsi-interface1] ip address 10.1.1.1 255.255.255.0 [SwitchC-Vsi-interface1] distributed-gateway local [SwitchC-Vsi-interface1] local-proxy-arp enable [SwitchC-Vsi-interface1] quit # 配置 VXLAN 10 所在的 VSI 实例和接口 VSI-interface1 关联。 [SwitchC] vsi vpna [SwitchC-vsi-vpna] gateway vsi-interface 1 [SwitchC-vsi-vpna] quit # 创建 VSI 虚接口 VSI-interface2,并为其配置 IP 地址,该 IP 地址作为 VXLAN 30 内虚拟机的网 关地址,指定该 VSI 虚接口为分布式本地网关接口,并使能本地代理 ARP 功能。 [SwitchC] interface vsi-interface 2 [SwitchC-Vsi-interface2] ip address 20.1.1.1 255.255.255.0 [SwitchC-Vsi-interface2] distributed-gateway local [SwitchC-Vsi-interface2] local-proxy-arp enable [SwitchC-Vsi-interface2] quit # 配置 VXLAN 30 所在的 VSI 实例和接口 VSI-interface2 关联。 [SwitchC] vsi vpnb [SwitchC-vsi-vpnb] gateway vsi-interface 2 [SwitchC-vsi-vpnb] quit # 配置缺省路由,指定 IPv4 报文如果没有找到匹配的路由表项,则设置报文的下一跳为 Switch B 上接口 VSI-interface1 的 IP 地址 10.1.1.2。 [SwitchC] ip route-static 0.0.0.0 0 vsi-interface 1 10.1.1.2 4. 验证配置 (1) 验证分布式 VXLAN IP 网关设备 Switch A # 查看 Switch A 上的 Tunnel 接口信息,可以看到 VXLAN 模式的 Tunnel 接口处于 up 状态。 [SwitchA] display interface tunnel 2 Tunnel2 Current state: UP Line protocol state: UP Description: Tunnel2 Interface Bandwidth: 64 kbps Maximum transmission unit: 64000 Internet protocol processing: Disabled Last clearing of counters: Never Tunnel source 1.1.1.1, destination 3.3.3.3 Tunnel protocol/transport UDP_VXLAN/IP # 查看 Switch A 上的 VSI 虚接口信息,可以看到 VSI 虚接口处于 up 状态。 [SwitchA] display interface Vsi-interface Vsi-interface1 Current state: UP Line protocol state: UP Description: Vsi-interface1 Interface Bandwidth: 1000000kbps Maximum transmission unit: 1500 Internet Address is 10.1.1.1/24 Primary 5-20
  • 88. IP Packet Frame Type:PKTFMT_ETHNT_2, Hardware Address: 0011-2200-0102 IPv6 Packet Frame Type:PKTFMT_ETHNT_2, Hardware Address: 0011-2200-0102 Physical: Unknown, baudrate: 1000000 kbps Last clearing of counters: Never Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec Input: 0 packets, 0 bytes, 0 drops Output: 0 packets, 0 bytes, 0 drops Vsi-interface2 Current state: UP Line protocol state: UP Description: Vsi-interface2 Interface Bandwidth: 1000000kbps Maximum transmission unit: 1500 Internet Address is 20.1.1.1/24 Primary IP Packet Frame Type:PKTFMT_ETHNT_2, Hardware Address: 0011-2200-0103 IPv6 Packet Frame Type:PKTFMT_ETHNT_2, Hardware Address: 0011-2200-0103 Physical: Unknown, baudrate: 1000000 kbps Last clearing of counters: Never Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec Input: 0 packets, 0 bytes, 0 drops Output: 0 packets, 0 bytes, 0 drops # 查看 Switch A 上的 VSI 信息,可以看到 VSI 内创建的 VXLAN、与 VXLAN 关联的 VXLAN 隧道、 与 VSI 关联的 VSI 虚接口等信息。 [SwitchA] display l2vpn vsi name vpna 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 Gateway Interface : VSI-interface 1 VXLAN ID : 10 Tunnels: Tunnel Name Link ID State Type Tunnel1 0x5000001 Up Manual Tunnel2 0x5000002 Up Manual ACs: AC Link ID State FGE1/0/1 srv1000 0 Up 5-21
  • 89. # 查看 Switch A 上 VSI 的 ARP 表项信息,可以看到已学习到了虚拟机的 ARP 信息。 [SwitchA] display arp Type: S-Static D-Dynamic O-Openflow M-Multiport I-Invalid IP address MAC address VLAN Interface Aging Type 11.1.1.4 000c-29c1-5e46 N/A Vlan11 19 D 10.1.1.2 0003-0000-0000 N/A Vsi1 20 D 10.1.1.11 0cda-41b5-cf09 N/A Vsi1 20 D 20.1.1.12 0000-fc00-0b01 N/A Vsi2 19 D (2) 验证边界网关设备 Switch B # 查看 Switch B 上的 Tunnel 接口信息,可以看到 VXLAN 模式的 Tunnel 接口处于 up 状态。 [SwitchB] display interface tunnel 2 Tunnel2 Current state: UP Line protocol state: UP Description: Tunnel2 Interface Bandwidth: 64 kbps Maximum transmission unit: 64000 Internet protocol processing: Disabled Last clearing of counters: Never Tunnel source 2.2.2.2, destination 1.1.1.1 Tunnel protocol/transport UDP_VXLAN/IP # 查看 Switch B 上的 VSI 虚接口信息,可以看到 VSI 虚接口处于 up 状态。 [SwitchB] display interface Vsi-interface 1 Vsi-interface1 Current state: UP Line protocol state: UP Description: Vsi-interface1 Interface Bandwidth: 1000000kbps Maximum transmission unit: 1500 Internet Address is 10.1.1.2/24 Primary IP Packet Frame Type:PKTFMT_ETHNT_2, Hardware Address: 0011-2200-0102 IPv6 Packet Frame Type:PKTFMT_ETHNT_2, Hardware Address: 0011-2200-0102 Physical: Unknown, baudrate: 1000000 kbps Last clearing of counters: Never Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec Input: 0 packets, 0 bytes, 0 drops Output: 0 packets, 0 bytes, 0 drops # 查看 Switch B 上的 VSI 信息,可以看到 VSI 内创建的 VXLAN、与 VXLAN 关联的 VXLAN 隧道、 与 VSI 关联的 VSI 虚接口等信息。 [SwitchB] display l2vpn vsi name vpna verbose VSI Name: vpna VSI Index : 0 VSI State : Up MTU : 1500 Bandwidth : - Broadcast Restrain : - 5-22
  • 90. 5-23 Multicast Restrain : - Unknown Unicast Restrain: - MAC Learning : Enabled MAC Table Limit : - Drop Unknown : - Flooding : Enabled Gateway interface : VSI-interface 1 VXLAN ID : 10 Tunnels: Tunnel Name Link ID State Type Tunnel1 0x5000001 Up Manual # 查看 Switch B 上 VSI 的 ARP 表项信息,可以看到已学习到了虚拟机的 ARP 信息。 [SwitchB] display arp Type: S-Static D-Dynamic O-Openflow M-Multiport I-Invalid IP address MAC address VLAN Interface Aging Type 12.1.1.4 0000-fc00-00ab N/A Vlan12 14 D 25.1.1.5 4431-9234-24bb N/A Vlan20 17 D 10.1.1.1 0000-fc00-00ab N/A Vsi1 17 D 10.1.1.11 0000-fc00-00ab N/A Vsi1 20 D 20.1.1.1 0000-fc00-00aa N/A Vsi3 17 D 20.1.1.12 0000-fc00-00aa N/A Vsi3 20 D # 查看 Switch B 上 FIB 表项信息,可以看到已学习到了虚拟机的转发表项信息。 [SwitchB] display fib 10.1.1.11 Destination count: 1 FIB entry count: 1 Flag: U:Useable G:Gateway H:Host B:Blackhole D:Dynamic S:Static R:Relay F:FRR Destination/Mask Nexthop Flag OutInterface/Token Label 10.1.1.11/32 10.1.1.11 UH Vsi1 Null [SwitchB] display fib 20.1.1.12 Destination count: 1 FIB entry count: 1 Flag: U:Useable G:Gateway H:Host B:Blackhole D:Dynamic S:Static R:Relay F:FRR Destination/Mask Nexthop Flag OutInterface/Token Label 20.1.1.12/32 20.1.1.12 UH Vsi1 Null (3) 验证主机和广域网互访 虚拟机 VM 1、VM 3 之间可以互访;VM 1 和 VM 3 可以与 Switch E 上接口 Vlan-interface20 的地 址 25.1.1.5 之间互访。