尝试与 Google Cloud VPN 服务建立 IPSec IKEv2 连接。
根据他们,它们在第 1 阶段支持 AES-CBC 加密,但在与本地 VPN 网关协商时仅有的提供 AES-GCM 密码。
因此我收到了著名的“未选择提案” IKE SA 错误。
我需要在 Google Cloud 上进行一些调整吗?
答案1
我认为导致此错误的最可能原因是密码不匹配。可能 IKE SA(阶段 1)和 2 中的提议不匹配。
您也可以尝试按照以下步骤进行故障排除指导。
具体如下声明:
如果 VPN 日志显示未选择提议错误,则表明 Cloud VPN 和您的本地 VPN 网关无法就一组密码达成一致。对于 IKEv1,密码集必须完全匹配。对于 IKEv2,每个网关必须至少提出一个通用密码。确保您的本地 VPN 网关使用支持的密码。
并根据故障排除指南检查以下内容。
- 验证 Cloud VPN 网关上配置的本地 IP 是否正确。
- 检查VPN网关上配置的IKE版本是否匹配。
- 验证两个 VPN 网关之间的流量是否双向流动。在 VPN 日志中,检查是否有来自另一个 VPN 网关的报告传入消息。
- 检查隧道两侧配置的IKE版本是否相同。
- 检查隧道两侧的共享密钥是否相同。
- 如果您的本地 VPN 网关位于一对一 NAT 后面,请确保已正确配置 NAT 设备以将 UDP 流量转发到端口 500 和 4500 上的本地 VPN 网关。必须将您的本地网关配置为使用 NAT 设备的公共 IP 地址来标识自己。请参阅NAT 后面的本地网关了解详情。
还要检查第 1 阶段(IKE)的生命周期是否设置为 Google 推荐值 36,600 秒(10 小时 10 分钟),第 2 阶段的生命周期是否设置为 10,800 秒(3 小时)。
如果此后隧道仍未建立,请考虑提交公开发行针对云平台/网络使用Google 问题跟踪工具. 包含尽可能多的细节,包括重现步骤,以便该问题能够获得更好的可见性以及更多的采样。
答案2
这听起来像是 GCP 方面的问题。
每当您发现某些 GCP 服务未按预期运行或违反文档中描述的行为时,您可以提交问题报告在Google 公开问题追踪或达到Google Cloud 支持。
此外,您还可以随时访问以下网站查看 GCP 服务的状态:Google Cloud 状态仪表板
答案3
这种故障排除听起来很模糊,没有更多关于 Peer VPN 网关设备及其配置的信息。因此,这里最好的方法是获取配置和设备以了解其兼容性配置。
可能未启用对 IKE 碎片的支持。某些第三方供应商设备(例如配置了状态数据包检查的防火墙)不允许用户数据报协议 (UDP) 碎片通过,以防它们成为碎片攻击的一部分1如果所有片段均未通过,则 Internet 密钥交换 (IKE) 协商将失败,因为虚拟专用网络 (VPN) 隧道的预期响应者无法重建 IKE 数据包并继续建立隧道。
在 Cisco 2821 路由器中可以看到这种行为的一个示例:
show crypto isakmp sa detail
[TIMESTAMP]: ISAKMP:(0):Support for IKE Fragmentation not enabled
解决这个问题的方法是启用 IKE 碎片化。