VPN 会话亲和性
通过启用 VPN 会话亲和和性能加速,可以优化 IPsec VPN 流量的性能,以将数据包转发开销降至最低。
了解 VPN 会话亲和性
当明文会话位于与 IPsec 隧道会话所在的 SPU 不同的服务处理单元 (SPU) 中时,将发生 VPN 会话关联。VPN 会话关联的目标是找到同一 SPU 中的明文和 IPsec 隧道会话。仅 SRX5400、SRX5600 和 SRX5800 设备支持此功能。
如果没有 VPN 会话关联,流创建的明文会话可能位于一个 SPU 中,而由 IPsec 创建的隧道会话可能位于另一个 SPU 中。需要 SPU 到 SPU 转发或跃点,才能将明文数据包路由到 IPsec 隧道。
默认情况下,在 SRX 系列设备上禁用 VPN 会话关联。启用 VPN 会话关联后,将在与 IPsec 隧道会话相同的同一 SPU 上放置一个新的明文会话。现有明文会话不会受到影响。
Junos OS 15.1X49-D10 版为 SRX5K-MPC3-100G10G (IOC3) 和 SRX5K-MPC3-40G10G (IOC3) 引入了适用于 SRX5400、SRX5600 和 SRX5800 设备的 SRX5K-MPC3-40G10G (IOC3)。
SRX5K-MPC (IOC2) 和 IOC3 通过改进的流模块和会话缓存支持 VPN 会话关联。借助 IOC,流模块可在对其隧道锚定 SPU 进行加密之前和解密后,为基于 IPsec 隧道的流量创建会话,并为这些会话安装会话缓存,以便 IOC 可以将数据包重定向到同一 SPU,从而将数据包转发开销降至最低。Express Path(以前称为服务卸载)流量和 NP 缓存流量在 IOC 上共享相同的会话缓存表。
要显示 SPU 上的活动隧道会话,请使用 show security ipsec security-association
命令并指定包含 SPU 的灵活 PIC 集中器 (FPC) 和 物理接口卡 (PIC) 插槽。例如:
user@host> show security ipsec security-association fpc 3 pic 0 Total active tunnels: 1 ID Algorithm SPI Life:sec/kb Mon vsys Port Gateway <131073 ESP:aes-128/sha1 18c4fd00 491/ 128000 - root 500 203.0.113.11 >131073 ESP:aes-128/sha1 188c0750 491/ 128000 - root 500 203.0.113.11
您需要评估网络中的隧道分布和流量模式,以确定是否应启用 VPN 会话亲和性。
从 Junos OS 12.3X48-D50 版开始 Junos OS 15.1X49-D90 和 Junos OS 17.3R1 版,如果在 SRX5400、SRX5600 和 SRX5800 设备上启用了 VPN 会话关联,则隧道开销将根据锚点服务处理单元 (SPU) 上的协商加密和身份验证算法计算。如果配置的加密或身份验证发生变化,则当建立新的 IPsec 安全关联时,锚点 SPU 上的隧道开销将更新。
VPN 会话关联限制如下所示:
不支持跨逻辑系统的流量。
如果发生路由更改,则已建立的明文会话保留在 SPU 上,并会尽可能重新路由流量。可以在不同的 SPU 上设置路由更改后创建的会话。
VPN 会话关联仅影响在设备上终止的自流量(也称为主机入站流量);源自设备的自流量(也称为主机-出站流量)不会受到影响。
组播复制和转发性能不受影响。
另请参阅
启用 VPN 会话关联
默认情况下,在 SRX 系列设备上禁用 VPN 会话关联。在某些情况下,启用 VPN 会话关联可以提高 VPN 吞吐量。仅 SRX5400、SRX5600 和 SRX5800 设备支持此功能。本节介绍如何使用 CLI 启用 VPN 会话关联。
确定是否将明文会话转发到不同 SPU 上的 IPsec 隧道会话。show security flow session
使用命令可显示有关明文会话的会话信息。
user@host> show security flow session Flow Sessions on FPC3 PIC0: Session ID: 60000001, Policy name: N/A, Timeout: N/A, Valid In: 203.0.113.11/6204 --> 203.0.113.6/41264;esp, If: ge-0/0/2.0, Pkts: 0, Bytes: 0 Session ID: 60000002, Policy name: N/A, Timeout: N/A, Valid In: 203.0.113.11/0 --> 203.0.113.6/0;esp, If: ge-0/0/2.0, Pkts: 0, Bytes: 0 Session ID: 60000003, Policy name: self-traffic-policy/1, Timeout: 58, Valid In: 203.0.113.6/500 --> 203.0.113.11/500;udp, If: .local..0, Pkts: 105386, Bytes: 12026528 Out: 203.0.113.11/500 --> 203.0.113.6/500;udp, If: ge-0/0/2.0, Pkts: 106462, Bytes: 12105912 Session ID: 60017354, Policy name: N/A, Timeout: 1784, Valid In: 0.0.0.0/0 --> 0.0.0.0/0;0, If: N/A, Pkts: 0, Bytes: 0 Out: 198.51.100.156/23 --> 192.0.2.155/53051;tcp, If: N/A, Pkts: 0, Bytes: 0 Total sessions: 4 Flow Sessions on FPC6 PIC0: Session ID: 120000001, Policy name: N/A, Timeout: N/A, Valid In: 203.0.113.11/0 --> 203.0.113.6/0;esp, If: ge-0/0/2.0, Pkts: 0, Bytes: 0 Session ID: 120000002, Policy name: N/A, Timeout: N/A, Valid In: 203.0.113.11/0 --> 203.0.113.6/0;esp, If: ge-0/0/2.0, Pkts: 0, Bytes: 0 Session ID: 120031730, Policy name: default-policy-00/2, Timeout: 1764, Valid In: 192.0.2.155/53051 --> 198.51.100.156/23;tcp, If: ge-0/0/1.0, Pkts: 44, Bytes: 2399 Out: 198.51.100.156/23 --> 192.0.2.155/53051;tcp, If: st0.0, Pkts: 35, Bytes: 2449 Total sessions: 3
在此示例中,FPC 3、PIC 0 上有一个隧道会话,FPC 6、PIC 0 上有一个明文会话。FPC 3、PIC 0 上设置了转发会话(会话 ID 60017354)。
Junos OS 15.1X49-D10 版在 IOC 上引入了会话亲和性支持 (SRX5K-MPC [IOC2], SRX5K-MPC3-100G10G [IOC3]和 SRX5K-MPC3-40G10G [IOC3]和 Junos OS 12.3X48-D30 在 IOC2 上引入了会话关联支持。可以为 IOC FPC 上的 IPsec 隧道会话启用会话关联。要启用 IPsec VPN 关联,还必须使用 set chassis fpc fpc-slot np-cache
命令在 IOC 上启用会话缓存。
要启用 VPN 会话关联:
启用 VPN 会话关联后,使用 show security flow session
命令显示有关明文会话的会话信息。
user@host> show security flow session Flow Sessions on FPC3 PIC0: Session ID: 60000001, Policy name: N/A, Timeout: N/A, Valid In: 203.0.113.11/6352 --> 203.0.113.6/7927;esp, If: ge-0/0/2.0, Pkts: 0, Bytes: 0 Session ID: 60000002, Policy name: N/A, Timeout: N/A, Valid In: 203.0.113.11/0 --> 203.0.113.6/0;esp, If: ge-0/0/2.0, Pkts: 0, Bytes: 0 Session ID: 60000003, Policy name: self-traffic-policy/1, Timeout: 56, Valid In: 203.0.113.6/500 --> 203.0.113.11/500;udp, If: .local..0, Pkts: 105425, Bytes: 12031144 Out: 203.0.113.11/500 --> 203.0.113.6/500;udp, If: ge-0/0/2.0, Pkts: 106503, Bytes: 12110680 Session ID: 60017387, Policy name: default-policy-00/2, Timeout: 1796, Valid In: 192.0.2.155/53053 --> 198.51.100.156/23;tcp, If: ge-0/0/1.0, Pkts: 10, Bytes: 610 Out: 198.51.100.156/23 --> 192.0.2.155/53053;tcp, If: st0.0, Pkts: 9, Bytes: 602 Total sessions: 4 Flow Sessions on FPC6 PIC0: Session ID: 120000001, Policy name: N/A, Timeout: N/A, Valid In: 203.0.113.11/0 --> 203.0.113.6/0;esp, If: ge-0/0/2.0, Pkts: 0, Bytes: 0 Session ID: 120000002, Policy name: N/A, Timeout: N/A, Valid In: 203.0.113.11/0 --> 203.0.113.6/0;esp, If: ge-0/0/2.0, Pkts: 0, Bytes: 0 Total sessions: 2
启用 VPN 会话关联后,明文会话始终位于 FPC 3、PIC 0 上。
另请参阅
加速 IPsec VPN 流量性能
您可以通过配置性能加速参数来加速 IPsec VPN 性能。默认情况下,SRX 系列设备上禁用 VPN 性能加速。启用 VPN 性能加速可以通过启用 VPN 会话关联来提高 VPN 吞吐量。仅 SRX5400、SRX5600 和 SRX5800 设备支持此功能。
本主题介绍如何使用 CLI 启用 VPN 性能加速。
要启用性能加速,必须确保在同一服务处理单元 (SPU) 上建立明文会话和 IPsec 隧道会话。从 Junos OS 17.4R1 版开始,当启用 VPN 会话关联和性能加速功能时,IPsec VPN 性能将得到优化。有关启用会话关联的更多信息,请参阅 了解 VPN 会话关联。
要启用 IPsec VPN 性能加速:
启用 VPN 性能加速后,使用 show security flow status
命令显示流状态。
Flow forwarding mode: Inet forwarding mode: flow based Inet6 forwarding mode: drop MPLS forwarding mode: drop ISO forwarding mode: drop Flow trace status Flow tracing status: off Flow session distribution Distribution mode: Hash-based Flow packet ordering Ordering mode: Hardware Flow ipsec performance acceleration: on
另请参阅
IPsec 分布配置文件
从 Junos OS 19.2R1 版开始,您可以为 IPsec 安全关联 (SA) 配置一个或多个 IPsec 分布配置文件。隧道在配置分布配置文件中指定的所有资源 (SPC) 之间均匀分布。它仅在 SPC3 和混合模式(SPC3 + SPC2)中受支持,SPC1 和 SPC2 系统不支持。使用 IPsec 分布配置文件,使用 set security ipsec vpn vpn-name distribution-profile distribution-profile-name
命令将隧道关联到指定的:
插槽
PIC
或者,您可以使用默认的 IPsec 分布配置文件:
default-spc2-profile
- 使用此预定义的默认配置文件将 IPsec 隧道关联到所有可用的 SPC2 卡。default-spc3-profile
- 使用此预定义的默认配置文件将 IPsec 隧道关联到所有可用的 SPC3 卡。
现在,您可以将一个配置文件分配给特定 VPN 对象,所有关联的隧道都将基于此配置文件进行分布。如果未为 VPN 对象分配任何配置文件,则 SRX 系列设备会自动将这些隧道均匀分布到所有资源。
您可以将 VPN 对象与用户定义的配置文件或预定义(默认)配置文件相关联。
从 Junos OS 20.2R2 版开始,为分发配置文件配置的无效线程 ID 将被忽略,不会收到提交检查错误消息。根据配置的分布配置文件锚定 IPsec 隧道,并忽略该配置文件的无效线程 IPsec 隧道(如果有)。
在以下示例中,与配置文件 ABC 关联的所有隧道都将分布在 FPC 0、PIC 0 上。
userhost# show security { distribution-profile ABC { fpc 0 { pic 0; } } }
了解高可用性 VPN 的环路接口
在 IPsec VPN 隧道配置中,必须指定一个外部接口来与对等 IKE 网关进行通信。当存在多个物理接口可用于到达对等网关时,为 VPN 的外部接口指定环路接口是一种很好的做法。在环路接口上锚定 VPN 隧道可以消除对物理接口的依赖性,从而成功路由。
独立 SRX 系列设备以及机箱群集中的 SRX 系列设备上支持对 VPN 隧道使用环路接口。在机箱群集主动-被动部署中,您可以创建一个逻辑环路接口,并将其作为冗余组的成员,以便它可用于锚定 VPN 隧道。环路接口可以在任何冗余组中配置,并将其分配为 IKE 网关的外部接口。在冗余组处于活动状态的节点上处理 VPN 数据包。
在 SRX5400、SRX5600 和 SRX5800 设备上,如果将环路接口用作 IKE 网关外部接口,则必须在 RG0 以外的冗余组中进行配置。
在机箱群集设置中,外部接口处于活动状态的节点会选择一个 SPU 来锚定 VPN 隧道。在此 SPU 上处理 IKE 和 IPsec 数据包。因此,活动外部接口决定了锚点 SPU。
您可以使用 show chassis cluster interfaces
命令查看有关冗余伪接口的信息。