示例:在 VMware NSX 环境中设置 VXLAN 第 2 层网关和 OVSDB 连接(支持未标记数据包的中继接口)
在物理网络中,支持虚拟可扩展 LAN (VXLAN) 的瞻博网络设备可用作硬件虚拟隧道端点 (VTEP)。在此角色中,瞻博网络设备将从直接在物理服务器上运行的软件应用程序收到的第 2 层以太网帧封装在 VXLAN 数据包中。VXLAN 数据包在第 3 层传输网络上采用隧道传输。收到 VXLAN 数据包后,虚拟网络中的软件 VTEP 会对数据包进行解封装,并将数据包转发到虚拟机 (VM)。
在此 VXLAN 环境中,您还可以包括 VMware NSX 控制器,并在用作硬件 VTEP 的瞻博网络设备上实施 Open vSwitch 数据库 (OVSDB) 管理协议。OVSDB 的 Junos OS 实施提供了一种方法,使 VMware NSX 控制器和瞻博网络设备可以交换物理和虚拟网络中实体的 MAC 地址。这种 MAC 地址交换使用作硬件 VTEP 的瞻博网络设备能够将流量转发至虚拟网络中的软件 VTEP,而虚拟网络中的软件 VTEP 可将流量转发至物理网络中的瞻博网络设备。
此示例说明如何将支持 VXLAN 作为硬件 VTEP 的瞻博网络设备进行配置。(VTEP 用作第 2 层网关。)此示例还说明如何配置此设备与 NSX 控制器的 OVSDB 连接。
在此示例中,仅部署了一个 VXLAN。在这种情况下,在物理服务器上运行的应用程序与 VXLAN 中的虚拟机之间交换的数据包将未标记。因此,QFX 系列交换机会为物理服务器与交换机之间的连接以及本机 VLAN 动态配置逻辑中继接口。本机 VLAN 使中继接口能够处理未标记的数据包。
要求
此示例包含以下硬件和软件组件:
软件应用程序直接运行的物理服务器。
运行 Junos OS 软件 15.1X53-D30 或更高版本的 QFX10002 交换机。
在 QFX 系列交换机上,物理接口 ge-1/0/0 提供与物理服务器 1 的连接。
一个由五个 NSX 控制器组成群集。(在此示例中,您将显式配置与一个 NSX 控制器的连接。)
NSX 管理器。
一个服务节点,用于处理此示例中使用的 VXLAN 内第 2 层广播、未知单播和组播 (BUM) 流量的复制和转发。
一个主机,包括由虚拟机管理程序管理的虚拟机(包括一个软件 VTEP)。
开始之前:
创建 SSL 私钥和证书,并将其安装在 QFX 系列交换机的 /var/db/certs 目录中。请参阅 在瞻博网络设备上创建和安装 SSL 密钥和证书,以便与 SDN 控制器连接。
使用 NSX Manager,指定服务节点的 IP 地址。
有关使用 NSX Manager 的信息,请参阅这些 VMware 产品随附的文档。
概述和拓扑
图 1 显示了一种拓扑结构,其中直接在物理网络中物理服务器 1 上运行的软件应用程序需要与 VXLAN 1 中的虚拟机虚拟机 1 通信,反之亦然。
要建立 VXLAN 1 中物理服务器 1 上的软件应用程序之间的通信,可以使用 Junos OS CLI 在 QFX 系列交换机的管理接口上显式配置与 NSX 控制器的连接。
此外,VXLAN-OVSDB 拓扑中的某些实体必须在 NSX 管理器和 QFX 系列交换机上配置。 表 1 汇总了必须配置的实体以及必须配置它们的位置。
实体 |
在 NSX Manager 中必须配置哪些配置 |
QFX 系列交换机上必须配置的内容 |
---|---|---|
VXLAN 1 |
用于 VXLAN 1 的逻辑交换机 |
VXLAN 1
注意:
QFX 系列交换机会动态配置此 VXLAN。 |
物理服务器 1 和 QFX 系列交换机之间的物理接口 (ge-1/0/0) |
网关服务。对于网关服务类型,请选择 VTEP L2 网关服务。 |
OVSDB 管理。指定由 OVSDB 管理接口 ge-1/0/0。 |
与 VXLAN 1 关联的一个逻辑接口 (ge-1/0/0.0) |
一个用于 VXLAN 1 的逻辑交换机端口。为此端口指定 VLAN 编号 0。
注意:
VLAN 编号为 0 表示端口必须处理未标记的数据包。 |
一个用于 VXLAN 1 的逻辑接口 (ge-1/0/0.0)。
注意:
QFX 系列交换机会动态配置此逻辑接口。 |
QFX 系列交换机(硬件 VTEP 1) |
网关 |
– |
在 NSX Manager 中,为 VXLAN 1 配置了一个逻辑交换机。在此配置中,指定的 VXLAN 网络标识符 (VNI) 为 100。此外,NSX Manager 分配给逻辑交换机的通用唯一标识符 (UUID) 为 28805c1d-0122-495d-85df-19abd647d772。根据此配置,QFX 系列交换机会为 Junos OS 等效的 VXLAN 动态创建以下配置:
set vlans 28805c1d-0122-495d-85df-19abd647d772 vxlan vni 100
根据 NSX Manager 中的网关服务和逻辑交换机端口配置(VLAN 编号 0),QFX 系列交换机会为 Junos OS 等效接口动态创建以下配置:
set interfaces ge-1/0/0 flexible-vlan-tagging set interfaces ge-1/0/0 native-vlan-id 4094 set interfaces ge-1/0/0 encapsulation extended-vlan-bridge set interfaces ge-1/0/0 unit 0 vlan-id 4094 set vlans 28805c1d-0122-495d-85df-19abd647d772 interface ge-1/0/0.0
此配置将物理接口 ge-1/0/0 设置为中继接口。它还配置 ID 为 4094 的本机 VLAN。配置将创建逻辑接口 ge-1/0/0.0,并指定它是本机 VLAN 的成员。因此,逻辑接口 ge-1/0/0.0 可处理传入的未标记数据包。
此配置还将逻辑接口 ge-1/0/0.0 与 VXLAN 28805c1d-0122-495d-85df-19abd647d772 相关联。
表 2 汇总了 QFX 系列交换机上配置的 VXLAN-OVSDB 拓扑组件以及每个组件的配置设置。
拓扑
组件 |
设置 |
---|---|
NSX 控制器 |
IP 地址:10.94.184.1 |
OVSDB 托管物理接口 |
接口名称:ge-1/0/0 本机 VLAN ID:4094 |
逻辑接口 |
注意:
QFX 系列交换机会动态创建此逻辑接口配置,该配置基于 NSX Manager 中的网关服务配置和逻辑交换机端口配置。因此,无需手动配置。 接口名称:ge-1/0/0.0 接口类型:中继 本机 VLAN 4094 的成员 与 VXLAN 28805c1d-0122-495d-85df-19abd647d772 关联 |
OVSDB 托管 VXLAN |
注意:
QFX 系列交换机会动态创建此 VXLAN 配置,该配置基于 NSX Manager 中的逻辑交换机配置。因此,无需手动配置。 对于 VXLAN 1: VXLAN 名称:28805c1d-0122-495d-85df-19abd647d772 VNI:100 |
OVSDB 跟踪操作 |
文件名:/var/log/ovsdb 文件大小: 10 MB 标记:全部 |
硬件 VTEP 源标识符 |
源接口:环路 (lo0.0) 源 IP 地址:10.17.17.17/32 |
处理 VXLAN 28805c1d-0122-495d-85df-19abd647d72 中的第 2 层 BUM 流量 |
服务节点
注意:
默认情况下,一个或多个服务节点处理 VXLAN 中的第 2 层 BUM 流量;因此无需手动配置。 |
非 OVSDB 和非 VXLAN 配置
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与配置匹配,将命令复制并粘贴到 [edit
] 层次结构级别的 CLI 中,然后从配置模式进入 commit
。
set interfaces ge-1/0/9 unit 0 family inet address 10.40.40.1/24 set routing-options static route 10.19.19.19/32 next-hop 10.40.40.2 set routing-options router-id 10.17.17.17 set protocols ospf area 0.0.0.0 interface lo0.0 set protocols ospf area 0.0.0.0 interface ge-1/0/9.0
程序
逐步过程
要配置物理服务器和虚拟机之间交换的数据包通过隧道传输的第 3 层网络:
配置第 3 层接口。
[edit interfaces] user@switch# set ge-1/0/9 unit 0 family inet address 10.40.40.1/24
设置路由选项。
[edit routing-options] user@switch# set static route 10.19.19.19/32 next-hop 10.40.40.2 user@switch# set router-id 10.17.17.17
配置路由协议。
[edit protocols] user@switch# set ospf area 0.0.0.0 interface lo0.0 user@switch# set ospf area 0.0.0.0 interface ge-1/0/9.0
OVSDB 和 VXLAN 配置
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与配置匹配,将命令复制并粘贴到 [edit
] 层次结构级别的 CLI 中,然后从配置模式进入 commit
。
set switch-options ovsdb-managed set protocols ovsdb controller 10.94.184.1 set protocols ovsdb interfaces ge-1/0/0 set protocols ovsdb traceoptions file ovsdb set protocols ovsdb traceoptions file size 10m set protocols ovsdb traceoptions flag all set interfaces lo0 unit 0 family inet address 10.17.17.17/32 primary set interfaces lo0 unit 0 family inet address 10.17.17.17/32 preferred set switch-options vtep-source-interface lo0.0
程序
逐步过程
要将 QFX 系列交换机配置为硬件 VTEP,并具有与 NSX 控制器的 OVSDB 连接:
使 QFX 系列交换机能够动态配置 OVSDB 托管的 VXLAN 和关联接口。
[edit switch-options] user@switch# ovsdb-managed
显式配置与 NSX 控制器的连接。
[edit protocols] user@switch# set ovsdb controller 10.94.184.1
指定由 OVSDB 管理硬件 VTEP 1 与物理服务器 1 之间的接口。
[edit protocols] user@switch# set ovsdb interfaces ge-1/0/0
设置 OVSDB 跟踪操作。
[edit protocols] user@switch# set ovsdb traceoptions file ovsdb user@switch# set ovsdb traceoptions file size 10m user@switch# set ovsdb traceoptions flag all
为环路接口指定 IP 地址。此 IP 地址用作任何 VXLAN 封装数据包的外部报头中的源 IP 地址。
[edit interfaces] user@switch# set lo0 unit 0 family inet address 10.17.17.17/32 primary user@switch# set lo0 unit 0 family inet address 10.17.17.17/32 preferred
-
将环路接口设置为识别硬件 VTEP 1 的接口。
[edit switch-options] user@switch# set vtep-source-interface lo0.0
在 NSX Manager 中,为 VXLAN 1 配置逻辑交换机。请参阅 NSX Manager 随附的 VMware 文档。
在 NSX Manager 中,为 QFX 系列交换机配置网关,并为逻辑接口 (ge-1/0/0.0) 配置网关服务和逻辑交换机端口。请参阅 用作虚拟隧道端点的瞻博网络设备的 VMware NSX 配置。
验证
确认配置工作正常:
验证逻辑交换机配置
目的
验证物理设备的 OVSDB 模式中是否存在 UUID 为 28805c1d-0122-495d-85df-19abd647d72 的逻辑交换机的配置,以及输出的 show ovsdb logical switch
标志字段是否显示 Created by both
。
行动
在操作模式下,输入 show ovsdb logical-switch
命令。
user@switch> show ovsdb logical-switch Logical switch information: Logical Switch Name: 28805c1d-0122-495d-85df-19abd647d772 Flags: Created by both VNI: 100 Num of Remote MAC: 1 Num of Local MAC: 0
意义
输出将验证逻辑交换机的配置是否存在。状态 Created by both
表示逻辑交换机是在 NSX 管理器中配置的,并且 QFX 系列交换机会动态创建相应的 VXLAN。在此状态下,逻辑交换机和 VXLAN 可正常运行。
如果逻辑交换机的状态不是 Created by both
其他问题,请参阅 对非操作逻辑交换机和相应的 Junos OS OVSDB 托管 VXLAN 进行故障排除。
验证 VM 1 的 MAC 地址
目的
验证 VM 1 的 MAC 地址是否存在于 OVSDB 方案中。
行动
在操作模式下,输入 show ovsdb mac remote
命令。
user@switch> show ovsdb mac remote Logical Switch Name: 28805c1d-0122-495d-85df-19abd647d772 Mac IP Encapsulation Vtep Address Address Address a8:59:5e:f6:38:90 0.0.0.0 Vxlan over Ipv4 10.17.17.17
意义
输出显示,VM 1 的 MAC 地址存在,并与 UUID 为 28805c1d-0122-495d-85df-19abd647d772 的逻辑交换机相关联。鉴于存在 MAC 地址,可以通过用作硬件 VTEP 的 QFX 系列交换机访问 VM 1。
验证 NSX 控制器连接
目的
验证与 NSX 控制器的连接是否已启动。
行动
在操作模式下,输入 show ovsdb controller
命令以验证控制器连接状态是否为 up
。
user@switch> show ovsdb controller VTEP controller information: Controller IP address: 10.94.184.1 Controller protocol: ssl Controller port: 6632 Controller connection: up Controller seconds-since-connect: 542325 Controller seconds-since-disconnect: 542346 Controller connection status: active
意义
除了有关控制器的其他信息外,输出还显示 NSX 控制器的连接状态已启动。 up
NSX 控制器的状态表示 QFX 系列交换机上已启用 OVSDB。
验证 OVSDB 托管接口
目的
验证接口 ge-1/0/0.0 由 OVSDB 管理。
行动
在操作模式下,输入 show ovsdb interface
命令以验证接口 ge-1/0/0.0 由 OVSDB 管理。
user@switch> show ovsdb interface Interface VLAN ID Bridge-domain ge-1/0/0 0 28805c1d-0122-495d-85df-19abd647d772
意义
输出显示接口 ge-1/0/0 由 OVSDB 管理。它还指示接口与 VXLAN 28805c1d-0122-495d-85df-19abd647d772 关联,VLAN ID 为 0。