当 IPSec VPN 隧道变得不稳定时,可收集 NSX Data Center for vSphere 产品日志以开始进行基本故障排除。您可以在数据路径上设置数据包捕获会话,并运行某些 NSX Edge CLI 命令来确定导致隧道不稳定的原因。
可使用以下过程对 IPSec VPN 隧道不稳定的原因进行故障排除。
前提条件
在数据路径上设置数据包捕获会话之前,请确保满足以下要求:
- 可以在 UDP 端口 500 和 4500 发送和接收数据包。
- 防火墙规则允许数据流量通过端口 500 和 4500。
- 防火墙规则允许封装式安全负载 (ESP) 数据包通过。
- 通过 IPSec 接口的本地子网路由已正确配置。
- 向隧道末端的 IP 分别发送小的 ping 负载和较大的 ping 负载,检查 MTU 配置是否存在碎片问题。
过程
- 从两个站点中收集支持日志。
- 要收集 NSX Data Center for vSphere 的诊断信息,请参见 VMware 知识库文章 http://kb.vmware.com/kb/2074678。
- 要收集 NSX Edge 的诊断信息,请参见 VMware 知识库文章 http://kb.vmware.com/kb/2079380。
重要说明: 由于 NSX Edge 设备上的磁盘空间有限,必须将日志重定向到 Syslog 服务器。有关详细信息,请参见 《NSX Data Center for vSphere 管理指南》中的“配置远程 Syslog 服务器”部分。 - 确保 NSX Edge 上的 IPSec VPN 服务已正确配置为与第三方硬件 VPN 防火墙解决方案(如 SonicWall、Watchguard 等)一起使用。如果需要,请与 VPN 供应商联系以获取您所需的特定配置信息。
- 在 NSX Edge 与第三方防火墙之间设置针对 IKE 数据包或 ESP 数据包的数据包捕获。
- 在 NSX Edge 上,记录问题发生时的实时状态。运行以下命令并记录结果。
命令 用途 show service ipsec 检查 IPSec VPN 服务的状态。 show service ipsec sp 检查安全策略的状态。 show service ipsec sa 检查安全关联 (Security Association, SA) 的状态。 - 如果仍出现问题,请在第三方 VPN 解决方案中捕获与 IPSec 相关的日志和输出。
- 查看与 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。
- 在 vSphere Web Client 或 NSX Edge CLI 中检查隧道故障消息,或通过运行 NSX Data Center for vSphere REST API 来查看此消息。
例如,要在 vSphere Web Client 中查看故障消息,请双击 NSX Edge,导航到 IPSec VPN 页面,然后执行以下操作:
- 单击显示 IPSec 统计信息 (Show IPSec Statistics)。
- 选择已关闭的 IPSec 通道。
- 对于选定的通道,选择关闭(已禁用)的隧道,并查看隧道故障详细信息。
- 在 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. - 如果仍然出现问题,请捕获整个数据路径上的运行时状态、流量状态和数据包捕获会话。
要确定流量出现问题的位置,请从 IPSec 隧道一侧的专用子网 ping 到 IPSec 隧道另一侧的另一个专用子网。
- 在时间点 1、2、3、4 上设置数据包捕获,如下图所示。
- 从虚拟机 1 ping 到主机 2。
- 从主机 2 ping 到虚拟机 1。
- 检查数据包传输失败或丢弃的时间点: