Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

VPN 监控方法

SUMMARY 阅读本主题,了解在 SRX 系列防火墙中监控 VPN 隧道的多种 方法。

我们希望 VPN 隧道始终以最佳状态运行。但在现实世界中,情况并非如此。我们知道VPN隧道可能由于多种原因而关闭。

Junos OS 提供以下方法来监控 VPN:

  • IPsec datapath verification 使用互联网控制消息协议 (ICMP) 检查数据路径。

  • 失效对等体检测 (DPD) 协议配置,用于检查 IKE 对等方的活动性。

  • VPN tunnel monitoring configuration,用于检查 IPsec 安全关联的活动性。

此外,您可以使用以下全局 VPN 功能进行监控:

  • 当其中一个对等方没有响应时,关联 (SA) 中的 VPN 对等方可能会变得不同步。例如,如果其中一个对等方重新启动s,则可能会发送不正确的安全 parameter index (SPI)。您可以通过配置错误的 SPI 响应功能,使器件能够检测此类事件并重新同步对等方。有关该respond-bad-spi max-responses选项的详细信息,请参阅安全性。

  • 您可以 定期向对等方发送互联网控制消息协议 (ICMP) 请求,以确定 对等方是否 可访问。有关选项vpn-monitor-options的详细信息,请参阅安全(安全性)。

您可以选择ose 来配置 本主题中介绍的任何 方法来监控 您的 VPN。

IPsec 数据路径验证

IPsec 数据路径验证是验证隧道端点之间的数据路径的过程,以检查路径是否畅通且未被任何传输防火墙阻止。

为什么需要 IPsec 数据路径验证?

对于基于路由的 VPN,点对点模式下安全隧道 (st0) 接口的状态通常基于 VPN 隧道的状态。设备建立 IPsec 安全关联后,Junos OS 将与 st0 接口关联的路由添加到转发表。如果您的网络在 VPN 隧道端点之间具有 中转防火墙, 则该防火墙可能会阻止在 st0 接口上使用活动路由的 IPsec 数据流量。因此,您可能会遇到 流量丢失。

为避免此类流量丢失,必须启用 IPsec 数据路径验证。启用此功能后,Junos OS 设备在验证数据路径之前不会启动 st0 接口。 您可以使用以下选项配置数据路径验证:

  • 您可以使用语句 [set security ipsec vpn vpn-name vpn-monitor verify-path] 配置基于路由的 VPN 隧道和站点到站点 VPN 隧道。

  • 如果对等隧道端点前面有 NAT 设备,防火墙会将对等隧道端点的 IP 地址转换为 NAT 设备的 IP 地址。要使 VPN 监控器 ICMP 请求到达对等隧道端点,您需要显式指定 NAT 设备后面的对等隧道端点的原始未转换 IP 地址。您可以使用配置语句对此 [set security ipsec vpn vpn-name vpn-monitor verify-path destination-ip] 进行配置。

  • 从 Junos OS 版本 15.1X49-D120 开始,您可以配置用于在启动 st0 接口之前验证 IPsec 数据路径的数据包大小。使用 [set security ipsec vpn vpn-name vpn-monitor verify-path packet-size] 配置语句。可配置的数据包大小范围为 64 到 1350 字节;默认值为 64 字节。

使用 IPsec 数据路径验证时,请考虑以下几点:

  • 您为 VPN 监控操作配置的源接口和目标 IP 地址不会影响 IPsec 数据路径验证。IPsec 数据路径验证中 ICMP 请求的源是本地隧道端点。

  • 启用 IPsec 数据路径验证时, Junos OS 仅在 st0 接口启动后自动激活 VPN 监控。建议在启用 IPsec 数据路径验证时在层次结构级别配置[edit security ipsec vpn vpn-name]vpn-monitor optimized选项。 

  • 如果在 IPsec 数据路径验证期间发生机箱群集故障切换,则新的主动节点将再次启动验证。在验证成功之前,Junos OS 不会激活 st0 接口。

  • 对于 IPsec 安全关联 重新生成密钥,Junos OS 不会执行 IPsec 数据路径验证,因为重新生成密钥的 st0 接口状态不会更改。

  • Junos OS 不支持在与 AutoVPN、自动发现 VPN (ADVPN) 和多个流量选择器一起使用的点对多点模式下的 st0 接口上进行 IPsec 数据路径验证。

  • VPN 监控和 IPsec 数据路径验证不支持 IPv6 地址。因此, 不能对 IPv6 隧道使用 IPsec 数据路径验证。

IPsec 数据路径验证的工作原理是什么?

配置 IPsec 数据路径验证时,将发生以下 事件 :

  1. 设备建立 VPN 隧道后, 会 向对等隧道端点发送 ICMP 请求,以验证 IPsec 数据路径。 对等隧道端点必须可由 VPN 监视器 ICMP 请求访问,并且 必须 能够响应 ICMP 请求。当数据路径验证正在进行时,VPN Monitoring命令输出中的show security ipsec security-association detail字段会显示字母 V

  2. Junos OS 仅在收到来自对等方的响应时激活 st0 接口。show interface st0.x命令输出显示数据路径验证期间和之后的 st0 接口状态:Link-Layer-Down验证完成之前和Up验证成功完成之后。

  3. 如果对等方未发送 ICMP 响应,设备将按配置的 VPN 监控间隔发送另一个 ICMP 请求,直到达到配置的 VPN 监控器阈值。 请注意,默认 VPN 监视器间隔为 10 秒,默认 VPN 监视器阈值为 10 次。如果验证不成功,系统日志条目会将 KMD_VPN_DOWN_ALARM_USER 原因指示为 VPN 监视验证路径错误。设备 在命令输出的show security ipsec security-association detail隧道事件下记录错误。该show security ipsec tunnel-events-statistics命令显示发生错误的次数。 您可以使用 [edit security ipsec] 层次结构级别的配置选项配置 vpn-monitor-options VPN 监视器间隔和 VPN 监视器阈值。  

  4. 如果对等方在达到 VPN 监视器阈值后仍未发送 ICMP 响应,则 n 个 Junos OS 会关闭 VPN 隧道并重新协商 VPN 隧道。

失效对等体检测

失效对等方检测 (DPD) 是一种基于标准的协议,它使用网络流量来检测 IPsec 连接中 IKE 对等方的活动性。

DPD 如何工作?

在创建 IPsec 隧道期间,VPN 对等方进行协商以决定是否使用 失效对等方检测 (DPD) 方法。如果对等方同意使用 DPD 方法,则在没有活动流量时,DPD 协议会定期向对等方发送消息并等待响应。如果对等方未响应消息,则 DPD 协议假定对等方不再可用。对于 IKEv1 和 IKEv2 协议,DPD 的行为是相同的。一旦 IKE 建立第 1 阶段安全关联 (SA),DPD 计时器就会激活。

SRX 系列防火墙使用 DPD 协议检测 IPsec VPN 连接中的活动性。

图 1: DPD 协议中的消息交换 DPD 协议中的消息交换

图 1 显示了 IPsec VPN 隧道中 IKE 对等方之间的 DPD 消息交换。防火墙设备执行 DPD 时发生以下事件:

  1. 防火墙 SRX-A 会等到指定的 DPD 间隔,以检查它是否已收到来自对等方 SRX-B 的任何流量。

  2. 如果 SRX-A 在指定的 DPD 间隔内未收到来自 SRX-B 的任何流量,则会向 SRX-B 发送加密的 IKE 第 1 阶段通知有效负载(R-U-THERE 消息)。

  3. SRX-A 等待来自 SRX-B 的 DPD 确认(R-U-THERE-ACK 消息)。

    1. 如果 SRX-A 在此时间间隔内收到来自 SRX-B 的 R-U-THERE-ACK 消息,则认为对等方处于活动状态。然后,SRX-A 将重置该隧道的 R-U-THERE 消息计数器,并开始新的时间间隔。

    2. 如果 SRX-A 在时间间隔内未收到 R-U-THERE-ACK 消息,则会认为对等方 SRX-B 已关闭。然后,SRX-A 会移除该对等方的第 1 阶段安全关联和第 2 阶段的所有安全关联。

可配置的DPD参数

以下是您需要配置的 DPD 参数列表 :

  • 模式 - 根据流量活动,您可以在以下模式之一中配置 DPD:

    • 优化 — 在 优化 模式下,当发起设备向对等方发送传出数据包时,如果在配置的时间间隔内没有来自对等方的传入 IKE 或 IPsec 流量,则发起设备将触发 R-U-THERE 消息。DPD 在此默认模式下运行,除非您 配置其他模式。

    • 探测空闲隧道 — 在 探测空闲隧道 模式下,如果在配置的时间间隔内没有传入或传出 IKE 或 IPsec 流量,设备将触发 R-U-THERE 消息。设备定期向对等方发送 R-U-THERE 消息,直到出现流量活动。此模式有助于及早检测出现故障的对等方,从而确保活动流量期间的隧道可用性。



      注:

      在此方案中,配置探测空闲隧道模式时,无论同一 IKE 安全关联的另一个隧道中的流量如何,如果隧道变为空闲,设备都会触发 R-U-THERE 消息。

    • 始终发送 — 在 始终发送 模式下,无论对等方之间的流量活动如何,设备都会按配置的时间间隔发送 R-U-THERE 消息。 建议 使用 探测空闲隧道模式 ,而不是 始终发送模式。

  • 间隔 — 使用 interval 参数指定设备在发送 R-U-THERE 消息之前等待来自其对等方的流量的时间量(以秒为单位)。默认间隔为 10 秒。从 Junos OS 版本 15.1X49-D130 开始,我们已将 R-U-THERE 消息发送到对等设备的允许间隔参数范围从 10 秒到 60 秒减少到 2 秒到 60 秒。当 DPD 间隔参数设置为小于 10 秒时,建议将最小阈值参数设置为 3。

  • 阈值 — 使用 阈值 参数指定设备在考虑对等方关闭之前发送 R-U-THERE 消息而未收到对等 方响应的最大次数。默认传输次数为 5,允许范围为 1 到 5 次重试。

在配置 DPD 之前,请注意以下注意事项:

  • 将 DPD 配置添加到具有活动隧道的现有网关后,设备将开始触发 R-U-THERE 消息,而无需清除第 1 阶段或第 2 阶段安全关联。

  • 从具有活动隧道的现有网关中删除 DPD 配置时,设备将停止为隧道触发 R-U-THERE 消息。但这不会影响 IKE 和 IPsec 安全关联。

  • 修改 DPD 配置参数(如模式、间隔或阈值)时,IKE 会在不清除第 1 阶段或第 2 阶段安全关联的情况下更新 DPD 操作。

  • 如果使用 DPD 和 VPN 监控配置 IKE 网关,而未指定立即建立隧道的选项,则 IKE 不会启动第 1 阶段协商。配置 DPD 时,还必须在 [edit services ipsec-vpn] 层次结构级别配置选项,establish-tunnels immediately以便在没有可用的第 1 阶段和第 2 阶段安全关联时拆除 st0 接口。参见建立隧道

  • 如果使用多个对等方 IP 地址和 DPD 配置 IKE 网关,但无法使用第一个对等方 IP 地址建立第 1 阶段 SA,则 IKE 会尝试使用下一个对等方 IP 地址进行建立。只有在 IKE 建立第 1 阶段安全关联后,DPD 才处于活动状态。请参阅 失效对等体检测

  • 如果使用多个对等方 IP 地址和 DPD 配置 IKE 网关,但使用当前对等方的 IP 地址连接失败,IKE 将清除第 1 阶段和第 2 阶段安全关联,DPD 将故障转移到下一个对等方 IP 地址。请参阅网关(安全 IKE)。

  • 由于同时进行协商,同一对等方可以存在多个第 1 阶段或第 2 阶段 SA。在这种情况下,DPD 会将 R-U-THERE 消息发送到所有第 1 阶段安全关联。如果网关连续配置的次数无法接收 DPD 响应,它将清除第 1 阶段安全关联 和关联的第 2 阶段安全关联 (仅适用于 IKEv2)。

注:

有关 DPD 实现的更多详细信息,请参阅 RFC 3706, 一种基于流量的失效互联网密钥交换 (IKE) 对等方检测方法

如果 IKE 对等方处于活动状态,是否意味着底层 VPN 已启动?

提示:

考虑 DPD 是否确保 IPsec SA 活动。请参阅 VPN 隧道监控

VPN 隧道监控

VPN 监控是 Junos OS 监控 VPN 隧道的专有功能。

失效对等体检测 (DPD) 协议检查 IKE 对等方的活动性,但不能保证底层 VPN 的活动性。我们没有 基于标准的方法来检查底层 VPN 是否已启动。VPN 监控是 Junos OS 专有 的机制,用于检查 IPsec 安全关联的活动性。

VPN 隧道监控的工作原理是什么?

VPN 监控使用 ICMP 数据包中的互联网控制消息协议 (ICMP) 回显请求(或 ping)和签名数据(如隧道 ID)来确定 VPN 隧道是否已启动。

启用 VPN 监控时,设备会通过 VPN 隧道将 ICMP 回显请求发送到对等网关或隧道另一端的指定目标。默认情况下,设备以 10 秒的间隔发送 请求 ,最多连续发送 10 次。如果设备在连续 10 次 ping 后未收到任何回复,则会认为 VPN 已关闭并清除 IPsec 安全关联。

使用以下操作模式监控 VPN 隧道:

  • 始终发送模式 — 在此模式下,无论隧道中的流量如何,设备每配置一次间隔发送一次 VPN 监控数据包。启用 VPN 监控后,如果未指定默认模式,Junos OS 将使用始终发送模式作为默认模式。

  • 优化模式 — 在此模式下,仅当时间间隔内有传出流量且没有传入流量通过隧道时,设备才会在每个配置的时间间隔发送一次 VPN 监控数据包。如果有传入流量通过 VPN 隧道,设备会认为该隧道处于活动状态,并 停止向对等方发送 ping。您可以使用优化模式来节省设备上的资源,因为在此模式下,设备仅在需要确定对等活动时发送 ping。发送 ping 还可以激活昂贵的备份链接,否则这些链接将不会使用。

    如果未显式配置优化模式,设备将在默认的始终发送模式下运行。

配置失效对等体检测

开始之前,请确保已配置 IKE 网关。有关更多详细信息,请参阅网关(安全 IKE)。

本文介绍如何在瞻博网络® SRX 系列防火墙上配置失效对等体检测 (DPD) 协议及其参数。要使用 DPD 启用设备:

  1. [edit security ike gateway gateway-name]层次结构级别指定 DPD 模式 probe-idle-tunnel。 有关更多详细信息 ,请参阅可配置 DPD 参数 死对等体检测
    这里我们使用 vpngw1 作为 gateway-name.
  2. [edit security ike gateway gateway-name]层次结构级别配置间隔。有关更多详细信息 ,请参阅可配置 DPD 参数死对等体检测
    这里我们设置一个 40 秒的间隔。
  3. 在层次结构级别指定[edit security ike gateway gateway-name]阈值。有关更多详细信息 ,请参阅可配置 DPD 参数死对等体检测
    在这里,我们将阈值设置为 3,这意味着设备在考虑对等方关闭之前将 ping 对等方 3 次。
注:

通过防火墙运行 iked IPsec VPN 服务的进程,您可以将 DPD 用于每个网关的多个对等地址。有关更多详细信息,请参阅网关(安全 IKE)。

配置 VPN 隧道监控

在开始之前,您必须有一个现有的 VPN 隧道。

在本主题中,您将了解如何启用 VPN 隧道监控,以及如何为瞻博网络® SRX 系列防火墙上用于 VPN 监控的 ping 数据包设置间隔和阈值参数。

  1. 使用层次结构级别的选项[edit security ipsec vpn vpn-name]vpn-monitor特定 VPN 隧道启用 VPN 监控。请参阅 VPN 监视器
    这里我们使用 vpn1 作为 vpn-name.
  2. 将 VPN 监控模式 optimized配置为 。
  3. 指定目标 IP 地址。对等网关的 IP 地址是默认目标;但是,您可以指定位于隧道另一端的其他目标 IP 地址(例如服务器的目标 IP 地址)。
  4. 指定 source-interface 地址。本地隧道端点是默认源接口,但您可以指定其他接口名称。
  5. 分别在层次结构级别配置[edit security ipsec vpn-monitor-options]设备发送 ping 的时间间隔以及使用和threshold选项发送interval的连续 ping 次数。如果未配置这些选项,设备将以默认间隔 10 秒发送 ping,最多连续发送 10 次。如果设备未收到回复,则认为 VPN 已关闭。然后,设备将清除 IPsec 安全关联。请参阅 ipsec(安全性)。
注:

SRX5400防火墙、SRX5600防火墙和SRX5800 防火墙不支持对外部连接的设备(如 PC)进行 VPN 监控。在这些设备上,VPN 监视的目标必须是本地接口。

警告:

如果对等方根据数据包的源或目标 IP 地址不接受 ping 数据包,则在某些环境中,VPN 监控可能会导致隧道抖动。

变更历史表

是否支持某项功能取决于您使用的平台和版本。 使用 Feature Explorer 查看您使用的平台是否支持某项功能。

版本
说明
15.1X49-D130
从 Junos OS 版本 15.1X49-D130 开始,将 R-U-THERE 消息发送到对等设备的允许间隔参数范围从 10 到 60 秒减少到 2 秒到 60 秒。当 DPD 间隔参数设置为小于 10 秒时,最小阈值参数应为 3。
15.1X49-D120
从 Junos OS 15.1X49-D120 版开始,您可以配置用于在启动接口之前 st0 验证 IPsec 数据路径的数据包大小。