在 Junos OS 中配置 vSRX 虚拟防火墙机箱群集
机箱群集概述
机箱群集将 一对相同类型的 vSRX 虚拟防火墙实例分组到群集中,以提供网络节点冗余。设备必须运行相同的 Junos OS 版本。您可以连接相应节点上的控制虚拟接口,形成同步配置和 Junos OS 内核状态 的控制平面 。控制链路( 虚拟网络 或 vSwitch)有助于接口和服务冗余。同样,您可以通过结构虚拟接口连接相应节点上 的数据平面 ,以形成统一的数据平面。结构链路(虚拟网络或 vSwitch)允许管理跨节点流处理和管理会话冗余。
控制平面软件在主动/被动模式下运行。配置为机箱群集时,一个节点充当主设备,另一个节点充当辅助设备,以确保在主设备上发生系统或硬件故障时进程和服务的有状态故障切换。如果主设备发生故障,辅助设备将接管控制平面流量的处理。
如果在跨两个物理主机的 vSRX 虚拟防火墙节点上配置机箱群集,请在控制 vNIC 使用的每个主机物理接口所属的网桥上禁用 igmp 侦听。这可确保机箱群集中的两个节点都能接收控制链路检测信号。
机箱群集数据平面在主动/主动模式下运行。在机箱群集中,当流量遍历任一设备时,数据平面会更新会话信息,并通过结构链路在节点之间传输信息,以确保在发生故障切换时不会丢弃已建立的会话。在主动/主动模式下,流量可以在一个节点上进入群集,并从另一个节点退出。
机箱群集功能包括:
-
弹性系统架构,具有用于整个集群的单个活动控制平面和多个 数据包转发引擎。此体系结构提供群集的单个设备视图。
-
群集内节点之间的配置和动态运行时状态同步。
-
监控物理接口,并在故障参数超过配置的阈值时进行故障切换。
-
支持通用路由封装 (GRE) 和 IP-over-IP (IP-IP) 隧道,用于分别通过两个内部接口 gr-0/0/0 和 ip-0/0/0 路由封装的 IPv4 或 IPv6 流量。Junos OS 在系统启动时创建这些接口,并且仅将这些接口用于处理 GRE 和 IP-IP 隧道。
在任何给定时刻,群集节点都可以处于以下状态之一:保留、主、辅助保留、辅助、不合格或禁用。接口监控、服务处理单元 (SPU) 监控、故障和手动故障转移等多种事件类型可以触发状态转换。
启用机箱群集形成
vSRX 虚拟防火墙上的机箱群集调配
在 vSRX 虚拟防火墙实例上为机箱群集设置连接类似于物理 SRX 系列防火墙。vSRX 虚拟防火墙虚拟机将虚拟网络(或 vswitch)用于虚拟网卡(例如 VMXNET3 或 virtio)。
机箱群集需要在两个 vSRX 虚拟防火墙实例之间建立以下直接连接:
-
控制链路或虚拟网络,在主动/被动模式下对两个 vSRX 虚拟防火墙实例之间的控制平面流量运行
-
结构链路或虚拟网络,用于节点之间的实时会话同步。在主动/主动模式下,此链路还用于在两个 vSRX 虚拟防火墙实例之间传输数据流量。
注: 您可以选择创建两个交换矩阵链路以实现更多冗余。
vSRX 虚拟防火墙群集使用以下接口:
-
带外管理接口 (fxp0)
-
群集控制接口 (em0)
-
群集结构接口(节点 0 上的 fab0,节点 1 上的 fab1)
控制接口必须是第二个 vNIC。对于结构链路,您可以使用任何收入端口(ge- ports)。您可以选择配置第二个结构链路以增加冗余。
图 1 显示了使用 vSRX 虚拟防火墙实例形成的机箱群集。

-
启用机箱群集时,还必须启用巨型帧(MTU 大小 = 9000)以支持 virtio 网络接口上的结构链路。
如果跨两个物理主机配置机箱群集,请在 vSRX 虚拟防火墙控制链路使用的每个主机物理接口上禁用 igmp 侦听,以确保机箱群集中的两个节点都能接收控制链路检测信号。
hostOS# echo 0 > /sys/devices/virtual/net/<bridge-name>/bridge/multicast_snooping
-
启用机箱群集后,vSRX 虚拟防火墙实例会自动将第二个 vNIC 映射到控制链路,其名称将从 ge-0/0/0 更改为 em0。
-
您可以将任何其他 vNIC 用于结构链路。(请参阅 接口命名和映射)
对于 virtio 接口,不支持链路状态更新。virtio 接口的链路状态始终报告为“已启动”。因此,使用 virtio 和机箱群集的 vSRX 虚拟防火墙实例无法接收来自 virtio 接口的链路打开和链路关闭消息。
虚拟网络 MAC 老化时间确定条目在 MAC 表中保留的时间量。建议减少虚拟网络上的 MAC 老化时间,以最大程度地减少故障转移期间的停机时间。
例如,您可以使用命令将 brctl setageing bridge 1
Linux 网桥的老化设置为 1 秒。
为控制和结构链路配置虚拟网络,然后创建控制接口并将其连接到控制虚拟网络,将结构接口连接到结构虚拟网络。
接口命名和映射
为 vSRX 虚拟防火墙定义的每个网络适配器都映射到特定接口,具体取决于 vSRX 虚拟防火墙实例是独立虚拟机还是群集对之一,以实现高可用性。vSRX 虚拟防火墙中的接口名称和映射如表 1 和表 2 所示。
请注意以下几点:
- 在独立模式下:
- FXP0 是带外管理接口。
- ge-0/0/0 是第一个流量(收入)接口。
- 在群集模式下:
- FXP0 是带外管理接口。
- em0 是两个节点的群集控制链路。
- 可以将任何流量接口指定为结构链路,例如节点 0 上的 fab0 为 ge-0/0/0,节点 1 上的 fab1 为 ge-7/0/0。
表 1 中显示了独立 vSRX 虚拟防火墙虚拟机的接口名称和映射,对于集群模式下的 vSRX 虚拟防火墙虚拟机,表 2 中显示了相同的接口名称和映射。您可以看到,在集群模式下,em0 端口插入到 fxp0 和 ge-0/0/0 位置之间,这使得收入端口号上移一个 vNIC 位置。
网络适配器 |
接口名称 |
---|---|
1 | FXP0 |
2 | ge-0/0/0 |
3 | ge-0/0/1 |
4 | ge-0/0/2 |
5 | ge-0/0/3 |
6 | ge-0/0/4 |
7 | ge-0/0/5 |
8 | ge-0/0/6 |
网络适配器 | 接口名称 |
---|---|
1 | FXP0(节点 0 和 1) |
2 | em0(节点 0 和 1) |
3 | ge-0/0/0(节点 0) ge-7/0/0(节点 1) |
4 | ge-0/0/1(节点 0) ge-7/0/1(节点 1) |
5 | ge-0/0/2(节点 0) ge-7/0/2(节点 1) |
6 | ge-0/0/3(节点 0) ge-7/0/3(节点 1) |
7 | ge-0/0/4(节点 0) ge-7/0/4(节点 1) |
8 | ge-0/0/5(节点 0) ge-7/0/5(节点 1) |
启用机箱群集形成
创建两个 vSRX 虚拟防火墙实例以形成机箱群集,然后在每个实例上设置群集 ID 和节点 ID 以加入群集。当 vSRX 虚拟防火墙虚拟机加入群集时,它将成为该群集的节点。除了唯一的节点设置和管理 IP 地址外,群集中的节点共享相同的配置。
您最多可以在 第 2 层 域中部署 255 个机箱群集。群集和节点通过以下方式标识:
-
群集 ID(从 1 到 255 的数字)标识群集。
-
节点 ID(从 0 到 1 的数字)标识群集节点。
在 SRX 系列防火墙上,群集 ID 和节点 ID 将写入 EEPROM。在 vSRX 虚拟防火墙虚拟机上,vSRX 虚拟防火墙存储并从 boot/loader.conf 读取 ID,并在启动期间使用这些 ID 初始化机箱群集。
在启用机箱群集之前,请确保您的 vSRX 虚拟防火墙实例符合以下先决条件:
-
您已向构成机箱群集的两个 vSRX 虚拟防火墙实例提交了基本配置。请参见 使用 CLI 配置 vSRX。
show version
在 Junos OS 中使用,以确保两个 vSRX 虚拟防火墙实例具有相同的软件版本。show system license
在 Junos OS 中使用,以确保两个 vSRX 虚拟防火墙实例安装了相同的许可证。- 您必须在每个 vSRX 虚拟防火墙节点上设置相同的机箱群集 ID,然后重新启动 vSRX 虚拟防火墙虚拟机以启用机箱群集形成。
节点 0 和节点 1 的机箱群集形成命令如下所示:
-
在 vSRX 虚拟防火墙节点 0 上:
user@vsrx0>set chassis cluster cluster-id number node 0 reboot
-
在 vSRX 虚拟防火墙节点 1 上:
user@vsrx1>set chassis cluster cluster-id number node 1 reboot
启用机箱群集时,vSRX 虚拟防火墙接口命名和到 vNIC 的映射会发生变化。对群集中的每个节点使用相同的群集 ID 号。
使用连接到同一 L2 域的多个集群时,需要为每个集群使用唯一的集群 ID。否则,您可能会在网络上获得重复的 mac 地址,因为集群 ID 用于形成虚拟接口 mac 地址。
重新启动后,在节点 0 上,配置群集中用于传递实时对象 (RTO) 的结构(数据)端口:
-
user@vsrx0# set interfaces fab0 fabric-options member-interfaces ge-0/0/0 user@vsrx0# set interfaces fab1 fabric-options member-interfaces ge-7/0/0
使用 J-Web 快速设置机箱群集
要从 J-Web 配置机箱群集:
使用 J-Web 手动配置机箱群集
您可以使用 J-Web 界面在群集中配置主节点 0 vSRX 虚拟防火墙实例。设置群集和节点 ID 并重新启动每个 vSRX 虚拟防火墙后,以下配置将自动同步到辅助节点 1 vSRX 虚拟防火墙实例。
选择 配置>机箱群集>群集配置。此时将显示机箱群集配置页面。
表 3 说明了 HA 群集设置选项卡的内容。
表 4 说明了如何编辑“节点设置”选项卡。
表 5 说明了如何添加或编辑 HA 群集接口表。
表 6 说明了如何添加或编辑 HA 群集冗余组表。
领域 |
功能 |
---|---|
节点设置 |
|
节点 ID |
显示节点 ID。 |
群集 ID |
显示为节点配置的群集 ID。 |
主机名 |
显示节点的名称。 |
备份路由器 |
当路由引擎处于机箱群集中冗余组 0 的辅助状态时,显示用作网关的路由器。 |
管理接口 |
显示节点的管理接口。 |
IP 地址 |
显示节点的管理 IP 地址。 |
地位 |
显示冗余组的状态。
|
机箱群集>HA 群集设置>接口 |
|
名字 |
显示物理接口名称。 |
成员接口/IP 地址 |
显示为接口配置的成员接口名称或 IP 地址。 |
冗余组 |
显示冗余组。 |
机箱群集>HA 群集设置>冗余组 |
|
组 |
显示冗余组标识号。 |
抢占 |
显示选定的抢占选项。
|
免费 ARP 计数 |
显示机箱群集中新选择的主设备为向其他网络设备通告其状态而发出的无偿地址解析协议 (ARP) 请求数。 |
节点优先级 |
显示为该节点上的冗余组分配的优先级。具有最高优先级的合格节点被选为冗余组的主节点。 |
领域 |
功能 |
行动 |
---|---|---|
节点设置 |
||
主机名 |
指定主机的名称。 |
输入主机的名称。 |
备份路由器 |
当路由引擎处于机箱群集中冗余组 0 的辅助状态时,显示用作网关的设备。 |
输入备份路由器的 IP 地址。 |
目的地 |
||
Ip |
添加目标地址。 |
单击 “添加”。 |
删除 |
删除目标地址。 |
单击 删除。 |
接口 |
||
接口 |
指定可用于路由器的接口。
注意:
允许您为每个结构链路添加和编辑两个接口。 |
选择一个选项。 |
Ip |
指定接口 IP 地址。 |
输入接口 IP 地址。 |
添加 |
添加接口。 |
单击 “添加”。 |
删除 |
删除接口。 |
单击 删除。 |
领域 |
功能 |
行动 |
---|---|---|
交换矩阵链路 > 交换矩阵链路 0 (fab0) |
||
接口 |
指定结构链路 0。 |
输入接口 IP 交换矩阵链路 0。 |
添加 |
添加结构接口 0。 |
单击 “添加”。 |
删除 |
删除结构接口 0。 |
单击 删除。 |
交换矩阵链路 > 交换矩阵链路 1 (fab1) |
||
接口 |
指定结构链路 1。 |
输入交换矩阵链路 1 的接口 IP。 |
添加 |
添加结构接口 1。 |
单击 “添加”。 |
删除 |
删除结构接口 1。 |
单击 删除。 |
冗余以太网 |
||
接口 |
指定由两个物理以太网接口(每个机箱上一个)组成的逻辑接口。 |
进入逻辑接口。 |
Ip |
指定冗余以太网 IP 地址。 |
输入冗余以太网 IP 地址。 |
冗余组 |
指定机箱群集中的冗余组 ID 号。 |
从列表中选择冗余组。 |
添加 |
添加冗余以太网 IP 地址。 |
单击 “添加”。 |
删除 |
删除冗余以太网 IP 地址。 |
单击 删除。 |
领域 |
功能 |
行动 |
---|---|---|
冗余组 |
指定冗余组名称。 |
输入冗余组名称。 |
允许抢占主要权限 |
允许优先级较高的节点启动冗余组的故障转移。
注意:
默认情况下,此功能处于禁用状态。禁用后,优先级较高的节点不会启动冗余组故障转移(除非某些其他因素(例如为受监控接口识别的网络连接故障)导致故障转移)。 |
– |
免费 ARP 计数 |
指定新选择的主节点在活动冗余以太网接口子链路上发出的无偿地址解析协议请求数,以通知网络设备冗余以太网接口链路上的主要角色发生更改。 |
输入一个介于 1 到 16 之间的值。默认值为 4。 |
节点 0 优先级 |
指定冗余组的 node0 优先级值。 |
将节点优先级编号输入为 0。 |
节点 1 优先级 |
指定冗余组的节点 1 的优先级值。 |
选择节点优先级编号为 1。 |
接口监视器 |
||
接口 |
指定要为群集创建的冗余以太网接口的数量。 |
从列表中选择一个接口。 |
重量 |
指定要监视的接口的权重。 |
输入一个介于 1 到 125 之间的值。 |
添加 |
添加冗余组要监控的接口及其各自的权重。 |
单击 “添加”。 |
删除 |
删除冗余组要监控的接口及其各自的权重。 |
从配置列表中选择接口,然后单击 删除。 |
IP 监控 |
||
重量 |
指定 IP 监视的全局权重。 |
输入一个介于 0 到 255 之间的值。 |
阈 值 |
指定 IP 监视的全局阈值。 |
输入一个介于 0 到 255 之间的值。 |
重试计数 |
指定声明可访问性失败所需的重试次数。 |
输入一个介于 5 到 15 之间的值。 |
重试间隔 |
指定重试之间的时间间隔(以秒为单位)。 |
输入一个介于 1 到 30 之间的值。 |
要监控的 IPV4 地址 |
||
Ip |
指定要监视可访问性的 IPv4 地址。 |
输入 IPv4 地址。 |
重量 |
指定要监控的冗余组接口的权重。 |
输入重量。 |
接口 |
指定用于监视此 IP 地址的逻辑接口。 |
输入逻辑接口地址。 |
辅助 IP 地址 |
指定用于监控辅助链路上的数据包的源地址。 |
输入辅助 IP 地址。 |
添加 |
添加要监控的 IPv4 地址。 |
单击 “添加”。 |
删除 |
删除要监控的 IPv4 地址。 |
从列表中选择 IPv4 地址,然后单击 删除。 |