当 IPSec VPN 隧道变得不稳定时,可收集 NSX Data Center for vSphere 产品日志以开始进行基本故障排除。您可以在数据路径上设置数据包捕获会话,并运行某些 NSX Edge CLI 命令来确定导致隧道不稳定的原因。

可使用以下过程对 IPSec VPN 隧道不稳定的原因进行故障排除。

前提条件

在数据路径上设置数据包捕获会话之前,请确保满足以下要求:
  • 可以在 UDP 端口 500 和 4500 发送和接收数据包。
  • 防火墙规则允许数据流量通过端口 500 和 4500。
  • 防火墙规则允许封装式安全负载 (ESP) 数据包通过。
  • 通过 IPSec 接口的本地子网路由已正确配置。
  • 向隧道末端的 IP 分别发送小的 ping 负载和较大的 ping 负载,检查 MTU 配置是否存在碎片问题。

过程

  1. 从两个站点中收集支持日志。
    重要事项: 由于 NSX Edge 设备上的磁盘空间有限,必须将日志重定向到 Syslog 服务器。有关详细信息,请参见 NSX Data Center for vSphere 管理指南》中的“配置远程 Syslog 服务器”部分。
  2. 确保 NSX Edge 上的 IPSec VPN 服务已正确配置为与第三方硬件 VPN 防火墙解决方案(如 SonicWall、Watchguard 等)一起使用。如果需要,请与 VPN 供应商联系以获取您所需的特定配置信息。
  3. NSX Edge 与第三方防火墙之间设置针对 IKE 数据包或 ESP 数据包的数据包捕获。
  4. NSX Edge 上,记录问题发生时的实时状态。运行以下命令并记录结果。
    命令 用途
    show service ipsec 检查 IPSec VPN 服务的状态。
    show service ipsec sp 检查安全策略的状态。
    show service ipsec sa 检查安全关联 (Security Association, SA) 的状态。
  5. 如果仍出现问题,请在第三方 VPN 解决方案中捕获与 IPSec 相关的日志和输出。
  6. 查看与 IPSec 相关的日志和输出以确定问题。确认 IPSec VPN 服务正在运行、安全策略已经创建,以及设备之间的安全关联已经配置。
    可以从日志中发现的常见问题如下:
    • 无效的 ID:INVALID_ID_INFORMATION 或 PAYLOAD_MALFORMED
    • 无可信 CA:INVALID_KEY_INFORMATION 或更具体的错误。例如,no RSA public key known for 'C=CN, ST=BJ, O=VMware, OU=CINS, CN=left‘, or PAYLOAD_MALFORMED
    • 未找到推荐的代理 ID:INVALID_ID_INFORMATION 或 PAYLOAD_MALFORMED。
    • DPD 没有来自对等方的响应。例如,DPD: No response from peer - declaring peer dead
  7. vSphere Web ClientNSX Edge CLI 中检查隧道故障消息,或通过运行 NSX Data Center for vSphere REST API 来查看此消息。
    例如,要在 vSphere Web Client 中查看故障消息,请双击 NSX Edge,导航到 IPSec VPN 页面,然后执行以下操作:
    1. 单击显示 IPSec 统计信息 (Show IPSec Statistics)
    2. 选择已关闭的 IPSec 通道。
    3. 对于选定的通道,选择关闭(已禁用)的隧道,并查看隧道故障详细信息。
      • NSX 6.4.6 和更高版本中,在隧道状况列中单击已禁用
      • NSX 6.4.5 和更低版本中,在隧道状况列中单击查看详细信息

    下表列出了导致 IPSec 隧道出现连接问题的可能原因以及与每个原因相关联的故障消息。

    原因 故障消息
    IKEv1 对等站点无法访问。 Version-IKEv1 Retransmitting IKE Message as no response from Peer.
    IKEv1 阶段 1 建议不匹配。 Version-IKEv1 No Proposal Chosen. Check configured Encryption/Authentication/DH/IKE-Version.
    以下任一项不匹配:
    • IKEv1 PSK
    • IKEv1 ID
    • IKEv1 证书
    Version-IKEv1 Authentication Failed. Check the configured secret or local/peer ID configuration.
    IKEv1 阶段 2 建议不匹配。 IPSec-SA Proposals or Traffic Selectors did not match.
    IKEv2 对等站点无法访问。 Version-IKEv2 Retransmitting IKE Message as no response from Peer.
    IKEv2 IKE SA 建议不匹配。 Version-IKEv2 No Proposal Chosen. Check configured Encrypt/Authentication/DH/IKEversion.
    IKEv2 IPSec SA 建议不匹配。 IPSec-SA Proposals or Traffic Selectors did not match.
    IKEv2 IPSec SA 流量选择器不匹配。 Traffic selectors did not match. Check left/right subnet configuration.
    以下任一项不匹配:
    • IKEv2 PSK
    • IKEv2 ID
    • IKEv2 证书
    Version-IKEv2 Authentication Failed. Check the configured secret or local/peer ID configuration.
  8. 如果仍然出现问题,请捕获整个数据路径上的运行时状态、流量状态和数据包捕获会话。
    要确定流量出现问题的位置,请从 IPSec 隧道一侧的专用子网 ping 到 IPSec 隧道另一侧的另一个专用子网。
    1. 在时间点 1、2、3、4 上设置数据包捕获,如下图所示。
    2. 从虚拟机 1 ping 到主机 2。
    3. 从主机 2 ping 到虚拟机 1。
    4. 检查数据包传输失败或丢弃的时间点:
    图 1. 数据路径中各个时间点的数据包捕获

    该图显示了可以捕获数据包的时间点 1、2、3 和 4。