多节点高可用性中的 IPsec VPN 支持
主动备份模式下的 IPsec VPN
SRX 系列防火墙支持多节点高可用性设置中的 IPsec VPN 隧道。在 Junos OS 22.4R1 版之前,IPsec VPN 隧道锚点位于 SRG1,其中 SRG1 以有状态主动/备份模式运行。在此模式下,所有 VPN 隧道在 SRG1 处于活动状态的同一设备上终止。
多节点高可用性通过以下方式建立 IPsec 隧道并执行密钥交换:
-
在路由部署中将活动 SRG1 的浮动 IP 地址与终止 IP 动态关联,并分配在交换模式下在两台设备之间浮动的虚拟 IP(VIP)。
-
当需要动态 CA 配置文件来验证隧道建立时,在 SRG1 处于活动状态的节点上生成 CA 配置文件。
-
执行新的身份验证并在新的活动节点上加载动态配置文件,并在旧节点上进行清除。
尽管可以在 show
主动节点和备份节点上运行命令以显示 IKE 和 IPsec 安全关联的状态,但只能删除主动节点上的 IKE 和 IPsec 安全关联。
当您使用命令启用 set chassis high-availability services-redundancy-group 1
主动/备份模式时,VPN 服务会自动启用。有关更多详细信息,请参阅配置示例。
仅当为 ICL 启用链路加密时,PKI 文件才会同步到对等节点。
当您在安全设备上配置具有多节点高可用性的 VPN 时,我们建议按以下步骤操作:
-
在备份节点上,配置安全 IKE 网关、IPsec VPN、接口 st0.x 和安全区域,然后提交配置。
-
在主动节点上,配置安全 IKE 网关、IPsec VPN、st0.x 接口、安全区域和静态路由,然后提交配置。
如果不使用提交同步选项,则必须先在备份节点上提交配置,然后再在主动节点上提交配置。
处理备份节点上的数据包
使用 process-packet-on-backup
多节点高可用性中的选项时,数据包转发引擎会在相应 SRG 的备份节点上转发数据包。此配置处理备份节点上的 VPN 数据包,即使节点未处于活动模式也是如此;从而消除了故障转移后备份节点转换为活动角色时的延迟。即使在过渡期间,数据包过程也会继续。
您可以使用 [set chassis high-availability services-redundancy-group name process-packet-on-backup
] 语句在 SRG1 上的备份时配置进程数据包。
主动-主动模式下的 IPsec VPN
从 Junos OS 版本 22.4R1 开始,您可以将多节点高可用性配置为在主动-主动模式下运行,并支持用于 IPsec VPN 的多 SRG1 (SRG1+)。在此模式下,某些 SRG 在一个节点上保持活动状态,而某些 SRG 在另一个节点上保持活动状态。特定 SRG 始终在主动备份模式下运行;它在一个节点上以主动模式运行,在另一个节点上以备份模式运行。
多节点高可用性支持具有多个 SRG (SRG1+) 的主动-主动模式下的 IPsec VPN。在此模式下,您可以根据 SRG 活动性从两个节点建立多个活动隧道。由于不同的 SRG 可以在不同的节点上处于活动状态,因此属于这些 SRG 的隧道会在两个节点上独立启动。在两个节点上都有活动隧道,可以在两个节点上加密/解密数据流量,从而有效利用带宽。
图1 和 图 2 显示了主动-备份和主动-主动多节点高可用性 IPsec VPN 隧道的差异。多节点高可用性通过将终止 IP 地址(也标识在其上结束的隧道)与 SRG 相关联来建立 IPsec 隧道并执行密钥交换。由于每个设备上的不同 SRG1+ 可以处于活动状态或备份状态,因此多节点高可用性可将匹配的流量有效地引导到相应的活动 SRG1。多节点高可用性还维护 SRG ID 和 IP 前缀映射信息。
表 1 和表 2 提供了有关 SRG1+ 更改对 IPsec VPN 隧道的影响的详细信息。
SRG1 变更 | 对 IPSec VPN 隧道的影响 |
---|---|
SRG 添加 | 对现有隧道无影响 |
SRG 删除 | 删除与 SRG 关联的所有路由。 |
SRG 属性(前缀列表除外)修改 | 对现有隧道无影响 |
SRG ID 修改 | 删除与 SRG 关联的所有现有隧道。 |
前缀列表修改中的 IP 前缀 | 删除映射到该特定 IP 前缀的所有隧道。 如果没有到修改后的 IP 前缀的现有隧道映射,则没有影响。 |
SRG 状态从 | 多节点高可用性更改操作 |
---|---|
|
删除与该 SRG 对应的所有数据,并从新的活动 SRG 重新同步 |
|
删除与该 SRG 对应的所有数据,并从新的活动 SRG 重新同步 |
|
不适用 |
|
无操作 |
|
无操作 |
|
无操作 |
|
无操作(可能的状态转换;如果活动状态不涉及前置状态或后置状态,则无需执行任何操作) |
|
无操作(可能的状态转换;如果活动状态不涉及前置状态或后置状态,则无需执行任何操作) |
|
无操作(可能的状态转换;如果活动状态不涉及前置状态或后置状态,则无需执行任何操作) |
将 IPsec VPN 服务关联到 SRG
22.4R1 之前的版本仅支持 SRG0 和 SRG1,默认情况下,SRG1 与 IPsec VPN 相关联。在 22.4R1 中,默认情况下,SRG 不与 IPSec VPN 服务关联。必须通过以下方式将 IPsec VPN 服务关联到多个 SRG 中的任何一个:
- 将 IPsec 指定为托管服务
前:
[set chassis high-availability services-redundancy-group <id> managed-services ipsec]
- 创建 IP 前缀列表
前:
[set chassis high-availability services-redundancy-group <id> prefix-list <name>]
[set policy-options prefix-list <name> <IP address>
当您的多节点高可用性设置中有多个 SRG 时,某些 SRG 在一个节点上处于活动状态,而某些 SRG 在另一个节点上处于活动状态。您可以通过配置 IP 前缀列表,将某些 IPsec 隧道锚定到特定节点(SRX 系列防火墙)。
在 IPsec VPN 配置中,IKE 网关启动和终止两个安全设备之间的网络连接。本地端(本地 IKE 网关)是启动 IKE 协商的 SRX 系列接口。本地 IKE 网关有一个本地 IP 地址,即防火墙上可公开路由的 IP 地址,VPN 连接将其用作端点。
IP 前缀列表包括用作 IKE 网关本地地址的 IPv4 或 IPv6 地址前缀的列表。您可以将这些 IP 前缀(前缀列表)与指定的 SRG1 相关联,以根据 SRG 的状态以更高的优先级通告 IKE 网关的本地地址。
要将特定 IPsec VPN 隧道锚定到特定安全设备,您必须:
-
通过包含 IKE 网关的本地地址来创建 IP 前缀列表,并将 IP 前缀列表关联到 SRG:
例子:
set chassis high-availability services-redundancy-group 1 prefix-list lo0_1 set chassis high-availability services-redundancy-group 2 prefix-list lo0_2 set policy-options prefix-list lo0_1 10.11.0.1/32 set policy-options prefix-list lo0_2 10.11.1.1/32 set interfaces lo0 description untrust set interfaces lo0 unit 0 family inet address 10.11.0.1/32 set interfaces lo0 unit 0 family inet address 10.11.1.1/32
- 定义前缀列表的路由实例。
set chassis high-availability services-redundancy-group 1 prefix-list lo0 routing-instance rt-vr set chassis high-availability services-redundancy-group 1 prefix-list lo0 routing-instance rt-vr
如果您没有为前缀列表关联路由实例,则多节点高可用性将使用默认路由表,这可能会影响 VPN 功能。
-
将 IPsec VPN 关联/启用到 SRG。
例子:
set chassis high-availability services-redundancy-group 1 managed-services ipsec set chassis high-availability services-redundancy-group 2 managed-services ipsec
此配置允许您在多节点高可用性设置中,有选择地灵活地将 IPsec VPN 关联到 SRX 系列防火墙上配置的多个 SRG 之一。
可以使用以下命令检查 IKE/IPsec 对象到 SRG 的映射:
user@host# show chassis high-availability information detail
.........
Services Redundancy Group: 1
Deployment Type: SWITCHING
Status: BACKUP
Activeness Priority: 200
Hold Timer: 1
Services: [ IPSEC ]
Process Packet In Backup State: NO
Control Plane State: NOT READY
System Integrity Check: COMPLETE
Peer Information:
Failure Events: NONE
Peer Id: 2
Last Advertised HA Status: ACTIVE
Last Advertised Health Status: HEALTHY
Failover Readiness: N/A
.............
您可以使用以下命令检查 SRG 和 IP 前缀列表的映射:
user@host> show chassis high-availability prefix-srgid-table
IP SRGID Table:
SRGID IP Prefix Routing Table
1 10.11.0.1/32 rt-vr
1 10.19.0.1/32 rt-vr
1 10.20.0.1/32 rt-vr
2 10.11.1.1/32 rt-vr
2 10.19.1.1/32 rt-vr
2 10.20.1.1/32 rt-vr
如果未配置前缀列表,您将收到以下警告消息:
user@host> show chassis high-availability prefix-srgid-table
Warning: prefix list not configured
IPsec VPN 的动态路由协议支持
从 Junos OS 版本 23.2R1 开始,您可以使用节点本地隧道在多节点高可用性设置中为 IPsec VPN 启用动态路由协议。动态路由协议添加的路由将保留在节点的本地。这些路由未绑定到任何服务冗余组 (SRG)。
在以前的版本中,多节点高可用性仅支持流量选择器部署。也就是说,使用流量选择器配置 IPsec VPN 时,配置会根据流量选择器前缀考虑首选项值和路由指标来安装路由。
配置节点本地隧道时,您有从 VPN 对等设备到多节点高可用性设置的两个节点的单独隧道。也就是说,您有一个连接到两个多节点高可用性节点中的每一个节点的节点本地隧道。
图 3、图 4 和图 5 分别显示了具有同步隧道、节点本地隧道以及同步隧道和节点本地隧道组合的多节点高可用性 IPsec VPN 部署。
上图显示了对等设备和多节点高可用性设置之间的 IPsec VPN 隧道。IPsec VPN 隧道锚定在活动的 SRG1+ 上。当关联的 SRG1+ 处于活动状态时,隧道将保持活动状态。在此部署中,流量通过活动隧道(隧道 1)运行。
在上图中,VPN 对等设备和多节点高可用性设置之间有两个节点本地隧道。每个隧道连接到设置中的两个节点之一。这些隧道不与任何 SRG1+ 关联。一个或两个隧道可以随时保持活动状态。根据配置的路由协议,流量随时都会通过隧道 2 或隧道 3。
上图显示了 VPN 对等设备和多节点高可用性设置之间的 IPsec VPN 隧道。此外,该图显示了 VPN 对等设备和多节点高可用性设置之间的两个节点本地隧道。
IPsec VPN 隧道锚定在活动的 SRG1+ 上,并在关联的 SRG1+ 处于活动状态时保持活动状态。对于节点本地隧道,两个隧道都保持活动状态。
表 3 显示了隧道和同步隧道之间的 node-local
区别。
函数 | 节点本地 | 隧道同步隧道 |
---|---|---|
与 SRG1+ 关联 | 不 | 是的 |
多节点高可用性节点之间的隧道信息同步 | 不 | 是的 |
活动隧道数 | 两 | 一个 |
将 IPsec VPN 隧道标记为节点本地隧道
您可以使用以下语句将 IPsec VPN 隧道配置为在 SRX 系列防火墙上:node-local
[edit] user@host# set security ike gateway gateway-name node-local
确保在多节点高可用性设置中为这两个节点配置选项 node-local
。
确保在配置路由策略时为一个隧道设置首选项。