示例:使用 MX 系列路由器作为第 3 层网关,配置从一个网桥域到另一个网桥域的 VXLAN 间流量路由
您可以将 MX 系列路由器配置为第 3 层网关,以路由由 Open vSwitch 数据库 (OVSDB) 控制器(如 VMware NSX 控制器)管理的虚拟可扩展 LAN (VXLAN) 域中的流量。使用此配置,您可以将流量从一个网桥域路由到另一个网桥域。
要求
此示例使用以下硬件和软件组件:
MX 系列路由器
Junos OS 17.2R1 或更高版本
VMware vSphere 分布式交换机 (VDS)
五个虚拟机 (VM)
NSX 控制器
NSX 管理器
三个服务器
概述和拓扑
图 1 显示了数据中心拓扑。VDS 提供集中化接口,用于配置、监控和管理虚拟机接入交换。VDS 是 NSX 计算节点中的一种软件交换机。逻辑交换机表示 NSX-V 解决方案中的 VXLAN。连接到此 VDS 的逻辑交换机有两个。每个逻辑交换机在 MX 系列路由器中都有自己的网桥域。逻辑交换机支持 5 个虚拟机。逻辑交换机 5000 支持 VM4 和 VM 5。逻辑交换机 5001 支持 VM1、VM2 和 VM3。每个逻辑交换机都有自己的网桥域。两个集成路由和桥接 (IRB) 接口与这些桥接域相关联,它们有助于通过 MX 系列路由器将数据包从一个网桥域传输到另一个桥接域,用作第 3 层网关。逻辑交换机 5000 使用 irb.1
,逻辑交换机 5001 使用 irb.2
。
这个数据中心有三个服务器:
服务器 192.168.150.51 支持 VM1 和 VM4
服务器 192.168.150.52 支持 VM2
服务器 192.168.250.51 支持 VM3 和 VM5
管理群集包含一个 NSX 控制器和一个 NSX 管理器。NSX 控制器维护运行时空间,并将信息分发到计算节点。在计算节点上启动虚拟机时,计算节点会将有关虚拟机的信息(如 MAC 和 IP 地址)发送至 NSX 控制器。然后,NSX 控制器将此信息推送至所有服务器。NSX 管理器处理管理平面,支持 API 和配置。NSX 管理器调配和管理网络、网络服务和 VXLAN 准备。
拓扑
在 图 2 中,MX 系列路由器上创建了一个第 2 层端口并实现环路。这样做是为了启动将 MX 系列路由器映射到 NSX 控制器的 IRB 接口。
在此示例中,VM1 将使用 MX 系列路由器向 VM5 发送数据包,以执行 VXLAN 间转换。路由器移除 VXLAN5001 报头,使用 VXLAN 5000 报头信息封装数据包,然后将数据包发送至 VM5。VM1 使用路由器向 VM5(在另一个网桥域中)发送数据包,因为它会学习此信息来自 NSX 控制器。所有主机都从 NSX 控制器获悉 VM5 位于逻辑交换机 5000 的网桥域中,因此必须通过网关才能到达该网桥域。
配置
程序
CLI 快速配置
要快速将 MX 系列路由器配置为第 3 层网关,请将以下命令复制并粘贴到交换机终端窗口中:
set bridge-domains a35fe7f7-fe82-37b4-b69a-0af4244d1fca vlan-id 1 set bridge-domains a35fe7f7-fe82-37b4-b69a-0af4244d1fca routing-interface irb.1 set bridge-domains a35fe7f7-fe82-37b4-b69a-0af4244d1fca vxlan ovsdb-managed set bridge-domains a35fe7f7-fe82-37b4-b69a-0af4244d1fca vxlan vni 5000 set bridge-domains 03b264c5-9540-3666-a34a-c75d828439bc vlan-id 2 set bridge-domains 03b264c5-9540-3666-a34a-c75d828439bc routing-interface irb.2 set bridge-domains 03b264c5-9540-3666-a34a-c75d828439bc ovsdb-managed set bridge-domains 03b264c5-9540-3666-a34a-c75d828439bc vni 5001 set interfaces xe-2/0/2 flexible-vlan-tagging set interfaces xe-2/0/2 encapsulation flexible-ethernet-services set interfaces xe-2/0/2 unit 1 family bridge interface-mode trunk set interfaces xe-2/0/2 unit 1 family bridge vlan-id-list 1 set interfaces xe-2/0/2 unit 2 family bridge interface-mode trunk set interfaces xe-2/0/2 unit 2 family bridge vlan-id-list 2 set interfaces irb unit 1 family inet address 102.0.1.254/24 set interfaces irb unit 2 family inet address 102.0.2.254/24 set protocols ovsdb interfaces xe-2/0/2.1 set protocols ovsdb interfaces xe-2/0/2.2
逐步过程
以下示例要求您在配置层次结构中的各个级别上导航。有关导航 CLI 的信息,请参阅 CLI 用户指南中的在配置模式下使用 CLI 编辑器。
要将 MX 系列路由器配置为第 3 层网关,
-
指定网桥域配置。网桥域名必须是在 NSX 管理器中创建的逻辑交换机的通用唯一标识符 (UUID)(在此拓扑中,逻辑交换机 5000 和 5001)。使用 routing-interface 语句指定要包含在网桥域中的路由接口。使用 vni 语句包括虚拟可扩展 LAN (VXLAN) 标识符编号。 ovsdb-managed 添加语句以指定 MX 路由器将使用 Open vSwitch Database (OVSDB) 管理协议来了解 VXLAN 中的硬件 VTEP 以及硬件 VTEP 所学习的 MAC 地址。
要找到 UUID 编号,请发出 show ovsdb logical-switch 命令。UUID 编号在
Logical Switch Name
字段中找到:user@host> show ovsdb logical-switch Logical switch information: Logical Switch Name: a35fe7f7-fe82-37b4-b69a-0af4244d1fca Flags: Created by both VNI: 5000 Logical switch information: Logical Switch Name: 03b264c5-9540-3666-a34a-c75d828439bc Flags: Created by both VNI: 5001
[edit bridge-domains] user@switch# set a35fe7f7-fe82-37b4-b69a-0af4244d1fca vlan-id 1 user@switch# set a35fe7f7-fe82-37b4-b69a-0af4244d1fca routing-interface irb.1 user@switch# set a35fe7f7-fe82-37b4-b69a-0af4244d1fca ovsdb-managed user@switch# set a35fe7f7-fe82-37b4-b69a-0af4244d1fca vni 5000 [edit bridge-domains] user@switch# set 03b264c5-9540-3666-a34a-c75d828439bc vlan-id 2 user@switch# set 03b264c5-9540-3666-a34a-c75d828439bc routing-interface irb.2 user@switch# set 03b264c5-9540-3666-a34a-c75d828439bc vxlan ovsdb-managed user@switch# set 03b264c5-9540-3666-a34a-c75d828439bc vxlan vni 5001
配置第 2 层端口。
[edit interfaces] user@switch# set xe-2/0/2 flexible-vlan-tagging user@switch# set xe-2/0/2 encapsulation flexible-ethernet-services user@switch# set xe-2/0/2 unit 1 family bridge interface-mode trunk user@switch# set xe-2/0/2 unit 1 family bridge vlan-id-list1 user@switch# set xe-2/0/2 unit 2family bridge interface-mode trunk user@switch# set xe-2/0/2 unit 2family bridge vlan-id-list2
配置 IRB 接口,在 VXLAN 域之间路由流量
[edit interfaces] user@switch# set irb unit 1 family inet address 102.0.1.254/24 user@switch# set irb unit 2family inet address 102.0.2.254/24
配置 OVSDB 协议的接口:
注意:此外,还必须在 NSX 控制器上配置接口。
[edit protocols] user@switch# set ovsdb interfaces xe-2/0/2.1 user@switch# set ovsdb interfaces xe-2/0/2.2
结果
在配置模式下,输入网桥域a35fe7f7-fe82-37b4-b69a-0af4244d1fca命令show bridge domain
并确认您的配置,i03b264c5-9540-3666-a34a-c75d828439bc:
[edit] user@switch# show bridge domain a35fe7f7-fe82-37b4-b69a-0af4244d1fca May 04 16:28:04 domain-type bridge; vlan-id 1; routing-interface irb.1; vxlan { ovsdb-managed; decapsulate-accept-inner-vlan; vni 5000; } user@switch# show bridge domain 03b264c5-9540-3666-a34a-c75d828439bc May 04 16:28:04 domain-type bridge; vlan-id 2; routing-interface irb.2; vxlan { ovsdb-managed; decapsulate-accept-inner-vlan; vni 5001; }
完成设备配置后,请从配置模式进入 commit 。
验证
确认配置工作正常。
检查服务器 IP 地址和 VM MAC 地址
目的
验证服务器 IP 地址和 VM MAC 地址是否正确。
行动
show ovsdb mac logical-switch
发出命令,并验证桥接域正在使用的服务器 IP 地址和 VM MAC 地址。
user@switch> show ovsdb mac logical-switch a35fe7f7-fe82-37b4-b69a-0af4244d1fca May 04 16:30:01 Logical Switch Name: a35fe7f7-fe82-37b4-b69a-0af4244d1fca Mac IP Encapsulation Vtep Address Address Address ff:ff:ff:ff:ff:ff 0.0.0.0 Vxlan over Ipv4 10.255.178.171 00:21:59:ad:27:f0 0.0.0.0 Vxlan over Ipv4 10.255.178.171 00:50:56:83:cb:b3 0.0.0.0 Vxlan over Ipv4 192.168.150.51 ff:ff:ff:ff:ff:ff 0.0.0.0 Vxlan over Ipv4 10.10.0.2 - 11.11.0.2
意义
命令输出显示 show ovsdb mac logical-switch a35fe7f7-fe82-37b4-b69a-0af4244d1fca
的结果显示,服务器 IP 地址为 192.168.150.51
,VM MAC 地址为 00:50:56:83:cb:b3
。
检查 NSX 控制器连接
目的
验证与 NSX 控制器的连接是否已启动。
行动
发出命令, show ovsdb controller
并验证控制器连接状态是否为 up
。
user@switch> show ovsdb controller May 04 16:32:21 VTEP controller information: Controller IP address: 25.25.25.25 Controller protocol: ssl Controller port: 6640 Controller connection: up Controller seconds-since-connect: 253770 Controller seconds-since-disconnect: 167262 Controller connection status: backoff Controller IP address: 25.25.25.26 Controller protocol: ssl Controller port: 6640 Controller connection: up Controller seconds-since-connect: 253767 Controller seconds-since-disconnect: 167293 Controller connection status: backoff
意义
除了有关控制器 up
的其他信息外,输出还显示 NSX 控制器的连接状态。建立此连接后,瞻博网络设备上将启用 OVSDB。
检查 OVSDB 托管的接口
目的
验证映射到 OVSDB 的接口。
行动
show ovsdb interface
发出命令,并验证由 OVSDB 管理的接口。
user@switch> show ovsdb interface May 04 16:33:23 Interface VLAN ID Bridge-domain evpn irb.1 0 a35fe7f7-fe82-37b4-b69a-0af4244d1fca irb.2 0 03b264c5-9540-3666-a34a-c75d828439bc l3 vpls xe-2/0/2.1 1 a35fe7f7-fe82-37b4-b69a-0af4244d1fca xe-2/0/2.2 2 03b264c5-9540-3666-a34a-c75d828439bc
意义
命令show ovsdb interface
显示,irb.1
并xe-2/0/2.1
正在网桥域中进行管理a35fe7f7-fe82-37b4-b69a-0af4244d1fca
,并在irb.2
xe-2/0/2.2
桥接域中进行管理03b264c5-9540-3666-a34a-c75d828439bc
。