如何对 DPD 关闭的 IKEv2 IPsec VPN 隧道进行故障排除
12711
Created On 07/15/24 21:31 PM - Last Modified 08/14/24 01:47 AM
Objective
- 验证 IPsec VPN 隧道的两个端点上的活动检查配置。
- 使用 DPD 关闭事件的时间戳与可能影响 VPN 对等体之间连接的其他事件相关联。
- 对 IPsec VPN 连接进行故障排除。
- 收集调试数据包捕获,以检查防火墙是否正在发送和接收活动检查数据包。
Environment
- IPsec VPN 隧道
- IKEv2
- DPD/活体检查
Procedure
- 验证 IPsec VPN 隧道的两个端点上的活动检查配置。 对于 NGFW,请导航至 网络>网络配置文件> IKE 网关>高级选项。 确保已启用 活动检查 ,并且间隔与隧道另一端的设置匹配:
- IKEv2 使用活动检查(类似于 IKEv1 中的失效对等体检测 (DPD))来确定对等体是否仍然可用。 默认情况下,“活动检查”选项处于启用状态。
- 当 IPsec 隧道因 DPD 而关闭时,以下日志消息将显示在系统日志中:
> show log system direction equal backward 2019/03/06 18:24:04 low vpn seapa- ikev2-n 0 IKEv2 IKE SA is down determined by DPD. 2019/03/06 17:26:27 low vpn seapa- ikev2-n 0 IKEv2 IKE SA is down determined by DPD.
以下消息将显示在 ikemgr 日志中:> less mp-log ikemgr.log 2019-03-06 17:26:28.000 -0800 [INFO]: \{ 1: 1}: DPD down, rekey vpn tunnel <awsseapa-to-azeapa>, SA state ESTABLISHED 2019-03-06 18:24:05.000 -0800 [INFO]: \{ 1: 1}: DPD down, rekey vpn tunnel <awsseapa-to-azeapa>, SA state ESTABLISHED当 SA 空闲时, 活动检查的默认间隔为每5秒。 失去连接后,防火墙将执行 10 次活动重试。 达到最大重试次数后,防火墙将关闭阶段 1 和阶段 2 SA。 查找上面的消息并记下时间戳,以便您可以使用它来关联其他相关事件,这将有助于找到活动检查失败的根本原因。 - 当 IPsec 隧道因 DPD 而关闭时,这表明 IPsec VPN 对等体之间存在连接问题。 有关如何修正的更多详细信息,请参阅如何解决 IPSec VPN 连接问题。
- 对于由于 DPD 导致的隧道关闭的持续问题,如果有疑问,防火墙正在接收或发送活动检查数据包,该数据包是空的信息数据包。 设置维护时段以收集调试 ikemgr 数据包捕获:
debug ike pcap on view-pcap no-dns-lookup yes no-port-lookup yes debug-pcap ikemgr.pcap scp export debug-pcap from ikemgr.pcap to username@host:path debug ike pcap off注意:对于上述命令,特别是以橙色突出显示的命令,请非常谨慎,因为它可能会占用大量资源,这就是为什么建议在维护窗口期间发出它的原因。- 如果防火墙正在发送和接收空的信息活性检查数据包,则数据包捕获将如下所示:
- 同样,您可以通过将数据包过滤器的源和目标设置为端点的 IP 地址来在隧道的两个端点之间执行数据平面数据包捕获,如下图所示:
- 使用以下命令为受影响的网关启用调试:
debug ike gateway <name of the gateway> on debug
在这种情况下,ikemg 日志将显示以下消息:2024-07-15 10:55:41.005 -0700 [DEBG]: 10.46.36.241[500] - 10.46.36.240[500]:(nil) 1 times of 76 bytes message will be sent over socket 1024 2024-07-15 10:55:41.007 -0700 [DEBG]: processing isakmp packet 2024-07-15 10:55:41.007 -0700 [DEBG]: === 2024-07-15 10:55:41.007 -0700 [DEBG]: 76 bytes message received from 10.46.36.240 2024-07-15 10:55:41.007 -0700 [DEBG]: { 2: }: [IKE Initiator] response message_id 704 expected 704 2024-07-15 10:55:41.013 -0700 [DEBG]: { 2: }: response exch type 37 2024-07-15 10:55:41.013 -0700 [DEBG]: { 2: }: update response message_id 0x2c0 2024-07-15 10:55:46.005 -0700 [DEBG]: 10.46.36.241[500] - 10.46.36.240[500]:(nil) 1 times of 76 bytes message will be sent over socket 1024 2024-07-15 10:55:46.006 -0700 [DEBG]: processing isakmp packet 2024-07-15 10:55:46.006 -0700 [DEBG]: === 2024-07-15 10:55:46.006 -0700 [DEBG]: 76 bytes message received from 10.46.36.240 2024-07-15 10:55:46.006 -0700 [DEBG]: { 2: }: [IKE Initiator] response message_id 705 expected 705 2024-07-15 10:55:46.014 -0700 [DEBG]: { 2: }: response exch type 37 2024-07-15 10:55:46.014 -0700 [DEBG]: { 2: }: update response message_id 0x2c1 - 使用以下命令禁用调试:
debug ike gateway <name of the gateway> off
- 如果防火墙正在发送和接收空的信息活性检查数据包,则数据包捕获将如下所示:
- 关于 IKEv2 活动检查行为的重要说明:
- DPD(在 IKEv2 的情况下是活动检查)始终处于开启状态。 除空信息数据包外,所有 IKEv2 数据包都用于活动检查。
- 在dpd_interval IKE SA 和子 SA 后,仅当没有活动时才会发送活动检查数据包(信息性)。
- enable:如果设置为 YES,则将在一段时间不活动 (IKE) 后发送空的信息性消息。 此等待时间由 dpd_interval 定义。
- 如果活动检查失败,则将删除 IKE SA 以及通过该 IKE SA 设置的所有子 SA。 IKE 网关将启动新的IKE_SA_INIT交换。
- 基于在隧道的两个对等体之间收集的数据包捕获,问题的解决方法可能包括调整活动性检查间隔值,通过在两个端点上增加该值以降低检查的严格性。 其他解决方案可能涉及更正任何配置错误的策略、配置正确的路由条目或解决影响远程对等体可访问性的任何潜在网络问题。
Additional Information
活体检查:如果与 IKE SA 关联的所有 SA 上只有传出流量,则必须确认另一个端点的活动性以避免黑洞。 IKEv2 网关可以执行活动检查,以防止向死对等体发送消息。 在 IKE SA 或其任何子 SA 上接收受加密保护的新消息可确保 IKE SA 及其所有子 SA 的活性。