- play_arrow 概述
- play_arrow 配置交换控制板冗余
- play_arrow 配置双向转发检测 (BFD)
- play_arrow 配置路由引擎冗余
- play_arrow 配置负载平衡
- play_arrow 配置平滑路由引擎切换 (GRES)
- play_arrow 配置以太网环保护交换
- play_arrow 配置不间断桥接
- play_arrow 配置不间断活动路由 (NSR)
- play_arrow 配置平滑重启
- play_arrow 电源管理概述
- play_arrow 配置虚拟路由器冗余协议 (VRRP)
- play_arrow 执行统一不中断服务的软件升级 (ISSU)
- play_arrow 执行不间断软件升级 (NSSU)
- play_arrow 管理
- play_arrow 验证任务
- play_arrow 故障 排除
- play_arrow 知识库
本页内容
多节点高可用性
了解多节点高可用性解决方案以及如何在简单可靠的部署模型中使用它。目前,我们在任何多节点高可用性部署中都支持两个节点。
概述
业务连续性是现代网络的一项重要要求。即使停机几秒钟,除了影响 OpEx 和 CapEx 外,还可能造成中断和不便。现代网络的数据中心也分布在多个地理区域。在这种情况下,实现高可用性可能非常具有挑战性。
瞻博网络 SRX 系列防火墙支持全新的多节点高可用性解决方案,可满足现代数据中心的高可用性要求。® 在此解决方案中,参与设备(节点)的控制平面和数据平面同时处于活动状态。因此,该解决方案提供了机箱之间的弹性。
参与的设备可以位于同一地点,也可以跨地理区域或其他位置(例如不同的房间或建筑物)进行物理隔离。拥有跨地理位置具有高可用性的节点可确保弹性服务。如果灾难影响到一个物理位置,多节点高可用性可以故障转移到另一个物理位置的节点,从而确保连续性。
多节点高可用性的优势
减少 CapEx 和 OpEx — 无需围绕防火墙群的交换网络,也无需在节点之间建立直接的第 2 层 (L2) 连接
网络灵活性 — 通过支持跨第 3 层 (L3) 和交换网段的高可用性,提供更高的网络灵活性。
有状态的弹性解决方案 — 在两个节点上同时支持主动控制平面和数据平面。
业务连续性和灾难恢复 — 最大限度提高可用性,增加数据中心和地理位置内部及之间的冗余。
平滑升级 — 在两个节点上支持不同版本的 Junos OS,以确保 Junos OS 版本之间的平滑升级,也允许运行两个不同版本的 Junos。
有关支持的功能和平台的完整列表,请参阅功能浏览器中的多节点高可用性。
主动/备份多节点高可用性
我们支持主动/备份多节点高可用性:
Junos OS 20.4R1 版中与 SPC3、IOC3、IOC4、SCB3、SCB4 和 RE3 SRX5800、SRX5600、SRX5400
Junos OS 22.3R1 版中的 SRX4600、SRX4200、SRX4100 和 SRX1500
Junos OS 23.4R1 版中的SRX2300和SRX1600。
Junos OS 24.2R1 版中的 SRX4300 和 SRX1600。
适用于以下私有云和公共云平台的 vSRX3.0 虚拟防火墙:
- KVM(基于内核的虚拟机)、Junos OS 22.3R1 版中的 VMWare ESXi
- Junos OS 22.3R1 版中的 Amazon Web Services (AWS)
- Junos OS 23.4R1 版中的 Microsoft Azure Cloud
- Junos OS 24.4R1 版中的 Google Cloud Platform (GCP)
主动/主动多节点高可用性
从 开始,您可以在支持多个服务冗余组 (SRG) 的主动-主动模式下操作多节点高可用性。以下安全设备提供多个 SRG 支持:
- SRX5400、SRX5600 和 SRX5800 Junos OS 版 22.4R1 中的 SPC3、IOC3、IOC4、SCB3、SCB4 和 RE3。
- Junos OS 23.4R1 版中的 SRX4600、SRX4200、SRX4100、SRX2300、SRX1600、SRX1500 和 vSRX。
- Junos OS 24.2R1 版中SRX4300。
支持的功能
具有多节点高可用性支持的 SRX 系列防火墙和高级安全服务,例如应用安全、内容安全、入侵防御系统 (IPS)、防火墙用户身份验证、NAT、ALG。
有关多节点高可用性支持的功能的完整列表,请参阅 功能浏览器。
多节点高可用性不支持透明模式高可用性 (HA)
逻辑系统和租户系统支持
借助 SRX 系列防火墙的逻辑系统,您可以将单个设备划分为安全环境,而租户系统则从逻辑上将物理防火墙划分为单独且隔离的逻辑防火墙。
租户系统从逻辑上将物理防火墙划分为独立和隔离的逻辑防火墙。尽管与逻辑系统类似,租户系统具有更高的可扩展性和更少的路由功能。
多节点高可用性设置中的 SRX 系列防火墙支持服务冗余组 0 (SRG0) 上的逻辑系统和租户系统。
使用 SRX 系列防火墙运行逻辑系统的多节点高可用性设置的行为与 SRX 系列节点不运行逻辑系统的设置的行为相同。触发节点故障切换的事件没有区别。具体而言,如果在 SRG0 下启用接口监控,并且与单个逻辑系统关联的链路出现故障(正在被监控),则设备将故障转移到另一个节点。此故障切换通过多节点高可用性设置中的路由优先级播发来实现。
在设置逻辑或租户系统之前,必须配置多节点高可用性。高可用性设置中的每个节点都必须具有相同的配置。确保逻辑系统或租户系统的名称、配置文件和相应的安全功能或逻辑系统或租户系统中的接口相同。所有逻辑或租户系统配置都将在两个节点之间同步和复制。
使用 Junos 配置组 配置特性和功能,并使用多节点高可用性设置中的选项同步配置 [edit system commit peers-synchronize]
。请参阅 多节点高可用性节点之间的配置同步。
将 SRX 系列防火墙与多节点高可用性中的逻辑系统结合使用时,您必须为设置中的每个节点购买和安装相同数量的许可证。
有关更多信息,请参阅 安全设备的逻辑系统和租户系统用户指南。
部署方案
多节点高可用性支持两个 SRX 系列防火墙,它们自身作为独立节点向网络的其余部分展示。节点连接到属于相同或不同网络的相邻基础架构,具体取决于部署模式。这些节点可以跨地理位置并置或分离。参与节点相互备份,以确保在发生系统或硬件故障时实现快速同步的故障切换。
我们支持以下类型的网络部署模型来实现多节点高可用性:
- 路由模式(所有接口均使用第 3 层拓扑连接)
图 1:第 3 层模式
- 在更传统的环境中使用的默认网关模式(所有接口都使用第 2 层拓扑连接)。DMZ 网络的常见部署,其中防火墙设备充当同一分段上主机和应用程序的默认网关。
图 2:默认网关模式
- 混合模式(一个或多个接口使用第 3 层拓扑连接,一个或多个接口使用第 2 层拓扑连接)
图 3:混合模式
- 公共云部署
图 4:公共云部署(示例:AWS)
多节点高可用性与机箱群集有何不同?
机箱群集在第 2 层网络环境中运行,节点之间需要两个链路(控制链路和结构链路)。这些链路使用背对背布线或暗光纤通过专用 VLAN 连接两个节点。控制链路和结构链路使用 SRX 系列防火墙上的专用物理端口。
多节点高可用性使用加密的逻辑机箱间链路 (ICL)。ICL 通过路由路径而不是专用的第 2 层网络连接节点。此路由路径可以使用一个或多个收入端口来实现最佳弹性,甚至可以将自己的路由实例专用于这些端口和路径,以确保完全隔离,从而最大限度地提高解决方案的弹性。
表 1 列出了两种架构之间的差异
参数 | 机箱群集 | 多节点 高可用性 |
---|---|---|
网络拓扑 | 节点连接到广播域 | 节点连接到路由器和/或广播域的组合。
|
网络环境 | 2 层 |
|
流量切换方法 | SRX 系列防火墙向交换机发送 GARP | 使用对等第 3 层路由器的 IP 路径选择或第 2 层 GARP 从 SRX 系列防火墙切换到对等第 2 层交换机
|
公共云 | 不支持 | 支持 |
动态路由功能 | 在控制平面 (RG0) 处于活动状态的 SRX 系列上处于活动状态的路由进程 | 在参与多节点高可用性的每个 SRX 系列防火墙上激活的路由进程 |
SRX 系列防火墙之间的连接 |
| 机箱间链路(第 3 层路径) |
连接性/地理冗余 | 需要在 SRX 系列节点之间为控制链路和结构链路提供专用的第 2 层延伸。 | 使用机箱间链路节点之间的任意路由路径。 |
IP 监控以检测网络故障 |
|
|
多节点高可用性术语表
让我们从熟悉本文档中使用的多节点高可用性术语开始。
术语 | 描述 |
---|---|
主动/主动状态 (SRG0) | 在每个节点上检查所有安全服务/流,并在另一个节点上进行备份。安全流必须是对称的。 |
主动/备份状态 (SRG1+) | SRG1+ 在任何给定时间在一个节点上保持活动状态,而在另一个节点上保持备份状态。处于备份状态的 SRG1+ 可在发生故障时接管活动 SRG1 的流量。 |
设备优先级 | 优先级值确定节点是否可以充当多节点高可用性设置中的活动节点。数值较低的节点具有较高的优先级,因此充当活动节点,而另一个节点充当备份节点。 |
设备抢占 | 抢占行为允许具有较高优先级(较低数值)的设备在从故障中恢复后恢复为活动节点。如果需要将多节点高可用性中的特定设备用作活动节点,则必须在两台设备上启用抢占行为,并为每个设备分配一个设备优先级值。 |
故障切换 | 当一个节点检测到故障(硬件/软件等)并且流量以有状态方式转换到另一个节点时,就会发生故障切换。因此,当活动节点发生故障时,高可用性系统中的备份节点将接管活动节点的任务。 |
浮动 IP 地址或活动性 探测 IP 地址 | 在多节点高可用性设置中的故障转移期间从活动节点移动到备份节点的 IP 地址。此机制使客户端能够使用单个 IP 地址与节点通信。 |
高可用性/弹性配置 | 系统能够消除单点故障,确保长时间连续运行。 |
机箱间链路 | 在多节点高可用性部署中通过路由网络连接节点的基于 IP 的链路(逻辑链路)。对于大多数灵活的部署,ICL 链路通常绑定到环路接口。只要两个 IP 地址之间可访问连接,就可以是任何路由或交换路径。 安全设备使用 ICL 来同步和维护状态信息,并处理设备故障切换场景。 |
机箱间链路加密 | 链路加密为通过网络传输的消息提供数据隐私。由于 ICL 链路传输私有数据,因此对链路进行加密非常重要。您必须使用 IPsec VPN 对 ICL 进行加密。 |
监控 (BFD) | 使用双向转发检测 (BFD) 监控一个或多个链路。BFD 监控会触发路由路径更改或系统故障切换,具体取决于系统配置。 |
监控 (IP) | 在与对等节点通信中断的情况下监控可靠的 IP 地址和系统状态。 |
监控(路径) | 使用 ICMP 验证 IP 地址可访问性的方法。ICMP ping 探测的默认间隔为 1 秒。 |
监控(系统) | 在节点上检测到故障时触发故障切换,监控关键硬件和软件资源及基础架构。 |
探讨 | 用于在高可用性设置中的活动节点和备份节点之间交换消息的机制。这些消息确定每个节点上应用程序的状态和运行状况。 |
实时对象 (RTO) | 特殊有效负载数据包,其中包含将数据从一个节点同步到另一个节点所需的信息。 |
裂脑检测(也称为控制平面检测或主动性冲突检测) | 两个多节点高可用性节点之间的 ICL 已关闭,并且两个节点都启动活动性确定探测(裂脑探测)的事件。根据对探测的响应,将触发到新角色的后续故障切换 |
服务冗余组 (SRG) | 故障转移单元,包括并管理参与节点上的对象集合。检测到故障切换时,一个节点上的 SRG 会切换到另一个节点。 |
SRG0 | 管理所有控制平面无状态服务,如防火墙、NAT 和 ALG。 SRG0 在所有参与节点上都处于活动状态,并处理对称安全流。 |
SRG1+ | 管理控制平面有状态服务(混合或默认网关模式下的 IPsec VPN 或虚拟 IP)。 |
同步 | 跨节点同步控件和数据平面状态的进程。 |
虚拟 IP (VIP) 地址 | 在多节点高可用性设置中,混合或默认网关模式下的虚拟 IP 地址用于确定和实施交换侧的主动性。虚拟 IP 由 SRG1+ 控制。 |
虚拟 MAC (VMAC) 地址 | (适用于混合和默认网关部署)。动态分配给面向交换端的活动节点上的接口的虚拟 MAC 地址。 |
现在我们已经熟悉了多节点高可用性的功能和术语,让我们继续了解多节点高可用性的工作原理。
多节点高可用性的工作原理
我们支持多节点高可用性解决方案的双节点配置。
在多节点高可用性设置中,您可以使用收入接口将两个 SRX 系列防火墙连接到相邻的上游和下游路由器(用于第 3 层部署)、路由器和交换机(混合部署)或交换机(默认网关部署)。
节点使用机箱间链路 (ICL) 相互通信。ICL 链路使用第 3 层连接相互通信,这种通信可以通过路由网络(第 3 层)或直接连接的第 2 层路径进行。建议将 ICL 绑定到环路接口并具有多个物理链路 (LAG/LACP),以确保路径多元化,从而实现最高弹性。
多节点高可用性在数据平面的主动/主动模式下运行,在控制平面服务的主动/备份模式下运行。活动 SRX 系列防火墙负责托管浮动 IP 地址,并使用浮动 IP 地址将流量引导至浮动 IP 地址
多节点高可用性适用于:
- 安全服务的主动/主动模式 (SRG0)
- 用于安全和系统服务的主动/备份模式(SRG1 及更高版本)
由 SRG1 或更高版本控制的浮动 IP 地址在节点之间移动。活动 SRG1+ 托管并控制浮动 IP 地址。在故障切换场景中,此 IP 地址会根据配置、系统运行状况或路径监控决策“浮动”到另一个活动 SRG1。新激活的 SRG1+ 可以承担现在备用 SRG1 的功能,并开始响应传入的请求。
图 7、 图 8 和 图 9 显示了第 3 层、混合和默认网关模式下的部署。
在此拓扑中,两个 SRX 系列防火墙是多节点高可用性设置的一部分。此设置可在 SRX 系列防火墙与相邻路由器之间建立第 3 层连接。这些设备在单独的第 3 层物理网络上运行,并作为两个独立节点运行。图中所示的节点位于拓扑中。这些节点也可以在地理上分开。
在典型的默认网关部署中,LAN 中的主机和服务器配置了安全设备的默认网关。因此,安全设备必须托管一个虚拟 IP (VIP) 地址,该地址根据活动度在节点之间移动。主机上的配置保持不变,从主机角度来看,安全设备故障切换是无缝的。
您必须在 SRX 系列防火墙上创建静态路由或动态路由,才能访问未直接连接的其他网络。
在混合模式下,SRX 系列防火墙使用第 2 层的 VIP 地址将流量吸引到该地址。您可以选择使用 VMAC 地址为 VIP 配置静态 ARP,以确保在故障切换期间 IP 地址没有变化
现在,我们来详细了解多节点高可用性的组件和功能。
服务冗余组
服务冗余组 (SRG) 是多节点高可用性设置中的故障切换单元。有两种类型的 SRG:
- SRG0 — 管理第 4 层至第 7 层的安全服务,IPsec VPN 服务除外。SRG0 在任何时间点在两个节点上都以活动模式运行。在 SRG0 上,每个安全会话都必须遍历对称流中的节点。这些流的备份将完全状态同步到另一个节点
- SRG1+ — 管理混合和默认网关模式的 IPsec 服务和虚拟 IP,并备份到其他节点。SRG1 在一个节点上以活动模式运行,在另一个节点上的备份节点中以备份模式运行。
图 10 显示了多节点高可用性设置中的 SRG0 和 SRG1。
图 11 显示了多节点高可用性设置中的 SRG0 和 SRG1+。
从 Junos OS 22.4R1 版开始,您可以将多节点高可用性配置为在支持多 SRG1 (SRG1+) 的主动-主动模式下运行。在此模式下,某些 SRG 在一个节点上保持活动状态,而某些 SRG 在另一个节点上保持活动状态。特定 SRG 始终在主动备份模式下运行;它在一个节点上以活动模式运行,在另一个节点上以备份模式运行。在这种情况下,两个节点都可以具有活动 SRG1 转发状态服务。每个节点都有一组不同的浮动 IP 地址,分配给 SRG1+。
从 Junos OS 22.4R1 版开始,您可以在多节点高可用性设置中配置多达 20 个 SRG。
表 3 说明了 SRG 在多节点高可用性设置中的行为。
相关服务冗余组 (SRG) | 托管服务 | 在活动节点出现故障时 | 以 | 同步类型 | 配置选项 |
---|---|---|---|---|---|
SRG0 | 管理安全服务 L4-L7,IPsec VPN 除外。 | 主动/主动模式 | 安全服务的状态同步 | 在故障节点上处理的流量将以有状态方式转换为正常运行的节点。 |
|
SRG1+ | 管理 IPsec 和虚拟 IP 地址以及相关的安全服务 | 主动/备份模式 | 安全服务的状态同步 | 在故障节点上处理的流量将以有状态方式转换为正常运行的节点。 |
|
在 SRG1+ 上配置监控(BFD 或 IP 或接口)选项时,建议不要在 SRG0 上配置故障时关机选项。
从 Junos OS 23.4R1 版开始,多节点高可用性设置以组合模式运行。添加或删除任何 SRG(SRG0 或 SRG1+)配置时,无需重新启动系统。
主动性确定和实施
在多节点高可用性设置中,活动性是在服务级别确定的,而不是在节点级别。主动/备份状态处于 SRG 级别,流量将引导至活动 SRG。SRG0 在两个节点上都保持活动状态,而 SRG1 可以在每个节点中保持活动状态或处于备份状态
如果您希望某个节点在启动时接管作为活动节点,您可以执行下列操作之一:
- 将上游路由器配置为包括节点所在路径的首选项。
- 配置活动优先级。
- 允许节点 ID 较高的节点(如果未配置上述两个选项)担任活动角色。
在多节点高可用性设置中,两个 SRX 系列防火墙最初都会将浮动 IP 地址的路由通告至上游路由器。SRX 系列防火墙播发的两条路径之间没有特定的优先级。但是,根据配置的指标,路由器可以在其中一条路径上拥有自己的首选项。
图 12 表示用于确定活跃度和实施活跃度的事件序列。
- 启动时,设备进入保持状态并开始持续探测。设备使用浮动 IP 地址(活跃度探测源 IP 地址)作为源 IP 地址,上游路由器的 IP 地址作为活跃度确定探测的目标 IP 地址。
托管探测目标 IP 地址的路由器会回复其首选路由路径上可用的 SRX 系列防火墙。在以下示例中,SRX-1 从上游路由器获取响应。
图 13:主动性确定和实施SRX-1 在收到探测回复后会将自己提升为主动角色。SRX-1 将其角色更改传达给另一台设备并承担活动角色。
确定活动状态后,活动节点 (SRX-1):
- 托管分配给它的浮动 IP 地址。
- 将高优先级路径播发至相邻的 BGP 邻接方。
- 继续播发所有远程和本地路由的活动(更高)优先级路径以吸引流量。
- 通过 ICL 将活动节点状态通知给其他节点。
另一台设备 (SRX-2) 停止探测并接管备份角色。备份节点播发默认(较低)优先级,确保上游路由器不会将任何数据包转发到备份节点。
当节点移动到活动角色时,多节点高可用性模块会将 SRG 的活动和备用信号路由添加到路由表中。如果发生节点故障,ICL 将关闭,当前活动节点将释放其活动角色并移除活动信号路由。现在,备份节点通过其探测检测到这种情况,并转换为活动角色。路由优先级将被交换,以将所有流量驱动到新的活动节点。
路由优先级播发中的交换机是 SRX 系列防火墙上配置的路由策略的一部分。您必须将路由策略配置为将活动信号路由包含在条件中 if-route-exists
。
对于默认网关部署
如果两个节点同时启动,则多节点高可用性系统将使用 SRG 的配置优先级值来确定活动状态。当具有活动 SRG1+ 的节点拥有虚拟 IP (VIP) 地址和虚拟 MAC (VMAC) 地址时,就会进行主动性实施。此操作会向两端的交换机触发无偿 ARP (GARP),并导致更新交换机上的 MAC 表。
对于混合部署
当配置的信号路由使用相应的路由通告实施活动性时,将在第 3 层端实施活动性。在第 2 层,SRX 系列防火墙会触发到交换层的无偿 ARP (GARP),并拥有 VIP 和 VMAC 地址
发生故障切换且旧备份节点转换为活动角色时,将交换路由优先级,以便将所有流量驱动至新的活动节点。
主动性、优先级和抢占
配置 SRG1+ 的抢占优先级 (1-254)。您必须在两个节点上配置抢占值。抢占选项可确保当节点从故障转移中恢复时,流量始终回退到指定的节点。
您可以为 SRG1+ 配置活动性、优先级和抢占,如以下示例所示:
[edit] user@host# show chassis high-availability services-redundancy-group 1 { preemption; activeness-priority 200; }
有关完整的配置示例,请参阅 在第 3 层网络中配置多节点高可用性 。
只要节点可以通过 ICL 相互通信,就会尊重活动优先级。
配置活动度探测设置
从 Junos OS 22.4R1 默认网关(交换)和多节点高可用性的混合部署开始,您可以使用以下语句选择性地配置活动性探测参数:
[edit] user@host# set chassis high-availability services-redundancy-group 1 activeness-probe multiplier <> user@host# set chassis high-availability services-redundancy-group 1 activeness-probe minimal-interval <>
探测间隔设置发送到目标 IP 地址的探测之间的时间段。可以将探测间隔设置为 1000 毫秒。
乘数值确定如果备份节点无法从对等节点接收对活动性探测的响应,则备份节点将转换为活动状态的时间段。
默认值为 2,最小值为 2,最大值为 15。
示例:如果将乘数值配置为 2,则如果备份节点在两秒钟后未收到对等节点对活动探测请求的响应,则备份节点将转换为活动状态。
您可以在交换和混合部署中配置 multiplier
和 minimal-interval
。
在混合模式部署中,如果已配置用于确定活动性的探测目标 IP 详细信息(通过使用语句), activeness-probe dest-ip
则不要配置 multiplier
和 minimal-interval
值。在使用基于 VIP 的活动性探测时,配置这些参数。
弹性配置和故障切换
多节点高可用性解决方案支持服务级别的冗余。服务级别冗余最大限度地减少了跨节点同步控制平面所需的工作量。
多节点高可用性设置确定活动状态后,会通过 ICL 协商后续的高可用性 (HA) 状态。备份节点使用浮动 IP 地址发送 ICMP 探测。如果 ICL 已启动,则节点将获得对其探测的响应,并保留为备份节点。如果 ICL 已关闭且没有探测响应,则备份节点将转换为活动节点。
上一个备份节点的 SRG1 现在将转换为活动状态,并继续无缝运行。发生转换时,浮动 IP 地址将分配给活动 SRG1。这样,IP 地址在活动节点和备份节点之间浮动,并且所有连接的主机都可以访问。因此,流量继续流动,没有任何中断。
同时需要控制平面和数据平面状态的服务(如 IPsec VPN)将在节点之间同步。每当活动节点无法实现此服务功能时,控制平面和数据平面都会同时故障转移到备份节点。
节点使用以下消息来同步数据:
- 路由引擎到路由引擎控制应用消息
- 路由引擎配置相关消息
- 数据平面 RTO 消息
机箱间链路 (ICL) 加密
在多节点高可用性中,活动节点和备份节点使用通过路由网络连接或直接连接的机箱间链路 (ICL) 相互通信。ICL 是一种逻辑 IP 链路,它是使用网络中可路由的 IP 地址建立的。
节点使用 ICL 来同步它们之间的控制平面和数据平面状态。ICL 通信可以通过共享或不受信任的网络进行,通过 ICL 发送的数据包可能会遍历并不总是受信任的路径。因此,您必须使用 IPsec 标准对流量进行加密,从而保护通过 ICL 的数据包。
IPsec 通过为 ICL 建立加密隧道来保护流量。应用 HA 链路加密时,HA 流量仅通过安全加密隧道在节点之间流动。如果没有 HA 链路加密,节点之间的通信可能不安全。
要加密 ICL 的 HA 链路,请执行以下操作:
- 使用以下命令在 SRX 系列防火墙上安装 Junos IKE 软件包:
request system software add optional://junos-ike.tgz
. - 为 HA 流量配置 VPN 配置文件,并为两个节点应用该配置文件。在 SRX 系列防火墙之间协商的 IPsec 隧道使用 IKEv2 协议。
确保已在 IPsec VPN 配置中包含语句 ha-link-encryption。示例: user@host# 设置安全 IPsec VPN vpn-name ha-link-encryption。
我们建议在设置 ICL 时遵循以下步骤:
- 使用不太可能饱和的端口和网络
- 不得使用专用 HA 端口(控制和交换矩阵端口,如果 SRX 系列防火墙上可用)
将 ICL 绑定到环路接口 (lo0) 或聚合以太网接口 (ae0),并具有多个物理链路 (LAG/LACP),可确保路径多元化,从而实现最高弹性。
您可以使用 SRX 系列防火墙上的收入以太网端口来设置 ICL 连接。确保将收入接口中的传输流量与高可用性 (HA) 流量分开。
有关详细信息,请参阅 配置多节点高可用性 。
用于 ICL 的基于 PKI 的链路加密
从 Junos OS 22.3R1 版开始,我们支持在多节点高可用性中使用基于 PKI 的机箱间链路 (ICL) 链路加密。作为此支持的一部分,您现在可以在两个节点上生成和存储特定于节点的 PKI 对象,例如本地密钥对、本地证书和证书签名请求。这些对象特定于本地节点,并存储在两个节点上的特定位置。
节点本地对象使您能够区分用于 ICL 加密的 PKI 对象和用于在两个端点之间创建的 IPsec VPN 隧道的 PKI 对象。
您可以使用在本地节点上运行的以下命令来处理特定于节点的 PKI 对象。
为本地节点生成私钥/公钥对 | |
在本地节点中生成和注册本地数字证书 | |
清除特定于节点的证书 | |
显示特定于节点的本地证书和证书请求。 |
在多节点高可用性的安全设备上,如果配置了自动重新注册选项,并且 ICL 在重新注册触发时出现故障,则两台设备将分别开始向 CA 服务器注册相同的证书,并下载相同的 CRL 文件。多节点高可用性重新建立 ICL 后,设置仅使用一个本地证书。您必须在备份节点上使用 user@host> request security pki sync-from-peer
命令将证书从活动节点同步到备份节点。
如果不同步证书,则对等节点之间的证书不匹配问题将持续到下次重新注册。
或者,您可以在两个节点上启用 TPM(受信任的平台模块),然后在节点上生成任何密钥对。请参阅 使用受信任的平台模块在 SRX 系列设备上绑定密钥。
裂脑检测和预防
当两个多节点高可用性节点之间的 ICL 关闭且两个节点无法再相互访问以收集对等节点的状态时,就会发生裂脑检测或活动性冲突。
基于ICMP的裂脑探测
考虑以下情况:两个 SRX 系列设备是多节点高可用性设置的一部分。将 SRX-1 视为本地节点,将 SRX-2 视为远程节点。本地节点当前处于活动状态,并托管浮动 IP 地址以将流量引导到该节点。上游路由器具有本地节点的优先级更高的路径。
当节点之间的 ICL 下降时,两个节点都会启动活性确定探针(ICMP 探针)。节点使用浮动 IP 地址(活动性确定 IP 地址)作为源 IP 地址,上游路由器的 IP 地址作为探测的目标 IP 地址。
案例 1:如果活动节点已启动
- 托管探测目标 IP 地址的上游路由器从两个节点接收 ICMP 探测。
- 上游路由器仅回复活动节点;因为它的配置对活动节点具有更高的优先级路径
- 活动节点保留活动角色。
如果活动节点已关闭:
- 远程节点将重新启动活动状态确定探测。
- 托管探测目标 IP 地址的路由器丢失了其较高优先级路径(前活动节点的路径)并回复远程节点。
- 探测结果是远程节点成功,远程节点转换为活动状态。
- 如上述案例所示,上游路由器中的主动性确定探测和更高路径优先级的配置可确保一个节点始终保持处于活动状态,并防止发生裂脑。
基于 BFD 的裂脑探测
在 Junos OS 23.4R1 版中,我们支持基于 BFD 的裂脑探测(用于默认网关)和混合模式部署(用于多节点高可用性)。
机箱间链路 (ICL) 故障通常可归因于两个关键因素:网络中断或配置不一致。您可以使用主动性探测来确定可以对每个 SRG1+ 发挥主动角色的节点。根据探测结果,其中一个节点转换为活动状态,此操作可防止脑溢出情况。
借助基于 BFD 的裂脑探测,您现在可以对探头进行更精细的控制,因为您可以定义接口、最小间隔和乘法器。在基于 BFD 的分脑探测中,探测在配置 SRG 并开始运行后立即开始。在默认的基于 ICMP 的裂脑探测中,仅在 ICL 链路断开后才开始探测。
相比之下,基于 BFD 的探测在以下方面更加主动,以确保更快的响应以防止脑裂情况:
探测直接在发布 SRG 配置后启动。
如果 ICL BFD 和裂脑探针同时发生故障,备用节点将立即承担活动角色并接管 VIP。
这确保了更快的响应,以防止脑裂的情况。
下表显示了用于裂脑检测的基于 ICMP 的探测和基于 BFD 的探测的差异。
参数 | 基于 ICMP 的探测 | 基于 BFD 的探测 |
---|---|---|
探头类型 | ICMP 数据包 | BFD 数据包,单跳 BFD |
最小间隔 | 1000 毫秒 | SRX 系列防火墙的最小 BFD 间隔取决于平台。 例如: 带 SPC3 的SRX5000线防火墙,间隔为 100 毫秒。 SRX4200,间隔为 300 毫秒。 |
SRG 备份节点探测 | 是的 | 是的 |
SRG 主动节点探测 | 不 | 是的 |
ICL 宕机时的 SRG 裂脑分析 | 只有当 ICL 出现故障时。 | 配置 SRG 后。 |
不可能 | 可能 | |
配置选项 | show chassis high-availability services-redundancy-group 1 activeness-probe dest-ip { 192.168.21.1; src-ip 192.168.21.2; } | show chassis high-availability services-redundancy-group 1 activeness-probe bfd-liveliness { source-ip 192.168.21.1; (inet address of the local SRX sub interface) destination-ip 192.168.21.2; (inet address of the peers SRX sub interface) interface xe-0/0/1.0; } |
下图显示了用于裂脑检测的基于 ICMP 的探测和基于 BFD 的探测的配置选项。
基于 ICMP 的探测和基于 BFD 的探针是互斥的。
在混合模式和默认网关部署中,可以在以下两个级别配置活动性探测间隔和阈值:
全局级,适用于基于ICMP的裂脑探测
BFD-Liveliness 级别,特定于 BFD 裂脑探头。配置基于 BFD 的探测时,不要在 statement 下
activeness-probe
配置全局minimum-interval
和multiplier
options。
要为默认网关部署配置活动探测,请使用两个节点(本地和对等节点)上的主虚拟 IP (VIP1) 地址接口来设置活动性探测。目标 IP 来自对等节点,源 IP 来自本地节点。两个 VIP 必须具有相同的索引值。IP 地址必须是分配给 SRX 系列防火墙的 LAN 接口的 inet 地址。
您可以通过以下方式在多节点节点高可用性设置上配置裂脑探测:
路由和混合模式 — 如果已配置用于确定活动性的探测目标 IP 详细信息(通过使用
activeness-probe dest-ip
语句),则不要配置乘数和最小间隔值。在使用基于 VIP 的活动性探测时,配置这些参数。content_copy zoom_out_map[edit] [set chassis high-availability services-redundancy-group 1 activeness-probe dest-ip <neighbor_ip_address> src-ip <srx_anycast_IP>]
混合和交换模式 — 使用 ICMP 的第 2 层裂脑探测。使用探针类型 ICMP,并使用以下语句设置间隔和超时阈值:
content_copy zoom_out_map[edit] [set chassis high-availability services-redundancy-group 1 activeness-probe minimum-interval <interval> multiplier <integer>
混合和交换模式 — 使用 BFD 的第 2 层裂脑探测。使用探针类型 BFD,并根据配置的 BFD 最小间隔设置亚秒级超时阈值。
content_copy zoom_out_map[edit] [set chassis high-availability services-redundancy-group 1 activeness-probe bfd-liveliness source-ip <ip-address> destination-ip <ip-address> interface <vip1_ifl_interface> minimum-interval <interval> multiplier <integer>
图 17 显示了示例拓扑。两个 SRX 系列防火墙分别连接到信任侧和不信任侧的相邻路由器,形成 BGP 邻接方。加密的逻辑机箱间链路 (ICL) 通过路由网络连接节点。节点使用网络上的可路由 IP 地址(浮动 IP 地址)相互通信。
将 SRX-1 视为本地节点,将 SRX-2 视为远程节点。本地节点当前处于活动角色,并且上游路由器对本地节点具有更高优先级路径。
对于 activeness-probe,您必须配置以下选项:
源 IP 地址:使用本地节点 SRG1 的虚拟 IP 地址 1 (VIP1)。
目标 IP 地址:使用对等节点 SRG1 的 VIP1。
接口:与 VIP1 关联的接口
在此示例中,分配一个虚拟 IP (VIP) 地址 (192.168.21.1) 和一个接口 xe-0/0/1.0 以实现 BFD 活跃度。在这里,您可以通过指定源和目标 IP 地址以及接口来配置基于 BFD 的裂脑探测。
节点使用与 SRG1 的虚拟 IP 地址 (VIP1) 关联的接口的家族 inet 地址。
一旦 SRG 开始运行,两个节点都会启动活性确定探测(基于 BFD 的探针)。
对于基于 BFD 的裂脑探测,您必须:
- 在两个节点上为相同的 SRG 配置匹配的源和目标 IP 地址。
- 配置
activeness-priority
选项以通过裂脑探测确定活动节点。
下表显示了当 ICL 关闭时,多节点高可用性设置如何通过基于 BFD 的探测解决裂脑情况。根据节点状态和探测结果,多节点高可用性系统会选择节点来承担活动角色。
表 6 显示了当 ICL 关闭时,多节点高可用性设置如何通过基于 BFD 的探测解决裂脑情况。根据节点状态和探测结果,多节点高可用性系统会选择节点来承担活动角色。
在此示例中,我们假设节点 1 的 SRG1 具有更高的主动性优先级。
节点 1 的状态 | 节点 1 的探测状态 | 节点 2 的状态 | 节点 2 的探测状态 | 节点正在过渡到 SRG1 活动状态 |
积极 | 下 | 无资格的 | 无需探测 | 节点 1 |
积极 | 向上 | 备份 | 向上 | 节点 1 |
积极 | 向上 | 积极 | 向上 | 节点 1(决胜局) |
备份 | 下 | 无资格的 | 无需探测 | 节点 1 |
备份 | 向上 | 备份 | 向上 | 节点 1(决胜局) |
备份 | 向上 | 积极 | 向上 | 节点 2 |
无资格的 | 无需探测 | 无资格的 | 无需探测 | 两个节点都不是 |
无资格的 | 无需探测 | 备份 | 下 | 节点 2 |
无资格的 | 无需探测 | 积极 | 下 | 节点 2 |
示例配置
节点 1:
set chassis high-availability services-redundancy-group 1 activeness-priority 1 set chassis high-availability services-redundancy-group 1 activeness-probe bfd-liveliness destination-ip 192.168.21.2 set chassis high-availability services-redundancy-group 1 activeness-probe bfd-liveliness source-ip 192.168.21.1 set chassis high-availability services-redundancy-group 1 activeness-probe bfd-liveliness interface xe-0/0/1.0 set chassis high-availability services-redundancy-group 1 activeness-probe bfd-liveliness minimum-interval 300 set chassis high-availability services-redundancy-group 1 activeness-probe bfd-liveliness multiplier 3
节点 2:
set chassis high-availability services-redundancy-group 1 activeness-priority 200 set chassis high-availability services-redundancy-group 1 activeness-probe bfd-liveliness destination-ip 192.168.21.1 set chassis high-availability services-redundancy-group 1 activeness-probe bfd-liveliness source-ip 192.168.21.2 set chassis high-availability services-redundancy-group 1 activeness-probe bfd-liveliness interface xe-0/0/1.0 set chassis high-availability services-redundancy-group 1 activeness-probe bfd-liveliness minimum-interval 300 set chassis high-availability services-redundancy-group 1 activeness-probe bfd-liveliness multiplier 3
验证
(基于 BFD 的探测)show chassis high-availability services-redundancy-group 1
使用命令查看设备上配置的裂脑探针类型。(基于 ICMP 的探测)content_copy zoom_out_mapuser@host> show chassis high-availability services-redundancy-group 1 .. Split-brain Prevention Probe Info: DST-IP: 192.168.21.2 SRC-IP: N/A Routing Instance: default Type: BFD Probe Interval: 300ms Multiplier: 3 Status: RUNNING Result: REACHABLE Reason: N/A ..
content_copy zoom_out_mapuser@host> show chassis high-availability services-redundancy-group 1 .. Split-brain Prevention Probe Info: DST-IP: 192.168.21.2 SRC-IP: 192.168.21.1 Routing Instance: default Type: ICMP Probe Status: NOT RUNNING Result: N/A Reason: N/A ..
show bfd session
使用命令查看是否基于 BFD 的探测状态。content_copy zoom_out_mapuser@host> show bfd session Detect Transmit Address State Interface Time Interval Multiplier 192.168.0.2 Up 0.300 0.100 3 192.168.21.2 Up xe-0/0/1.0 0.300 0.100 3 1 sessions, 1 clients Cumulative transmit rate 0.5 pps, cumulative receive rate 0.0 pps
在此示例中,您可以注意到基于 BFD 的裂脑探测正在为接口 xe-0/0/1.0 运行。
show chassis high-availability services-redundancy-group 1
使用命令获取基于 BFD 的探针的详细信息。content_copy zoom_out_mapuser@host> show chassis high-availability services-redundancy-group 1 SRG failure event codes: BF BFD monitoring IP IP monitoring IF Interface monitoring CP Control Plane monitoring Services Redundancy Group: 1 Deployment Type: ROUTING Status: ACTIVE Activeness Priority: 200 Preemption: ENABLED Process Packet In Backup State: NO Control Plane State: READY System Integrity Check: N/A Failure Events: NONE Peer Information: Peer Id: 1 Status : N/A Health Status: SRG NOT CONFIGURED Failover Readiness: UNKNOWN Activeness Remote Priority: 100