故障排除:Azure 站点到站点 VPN 连接无法建立连接并停止工作
在本地网络与 Azure 虚拟网络之间配置站点到站点 VPN 连接后,VPN 连接突然停止工作,不能重新建立连接。 本文提供解决此问题的故障排除步骤。
如果本文未解决 Azure 问题,请访问 Microsoft Q&A 和 Stack Overflow 上的 Azure 论坛。 可以在这些论坛上发布问题。 还可提交 Azure 支持请求。 若要提交支持请求,请在 Azure 支持页上提交。
疑难解答步骤
若要解决该问题,请先尝试重置 Azure VPN 网关并重置从本地 VPN 设备建立的隧道。 如果问题仍然存在,请遵循以下步骤确定问题的原因。
先决条件步骤
检查 Azure VPN 网关的类型。
转到 Azure 门户。
转到你的 VNet 的虚拟网络网关。 在“概述”页上,可以看到网关类型、VPN 类型和网关 SKU。
步骤 1:检查是否已验证本地 VPN 设备
检查是否使用的是已验证的 VPN 设备和操作系统版本。 如果设备是未经验证的 VPN 设备,你可能需要与设备制造商联系,了解是否存在兼容性问题。
确保已正确配置 VPN 设备。 有关详细信息,请参阅编辑设备配置示例。
步骤 2:验证共享密钥
比较本地 VPN 设备和 Azure 虚拟网络 VPN 中的共享密钥,确保密钥匹配。
若要查看 Azure VPN 连接的共享密钥,请使用以下方法之一:
Azure 门户
转到 VPN 网关。 在“连接”页上,找到并打开连接。
选择“身份验证类型”。 如有必要,更新并保存共享密钥。
Azure PowerShell
注意
建议使用 Azure Az PowerShell 模块与 Azure 交互。 请参阅安装 Azure PowerShell 以开始使用。 若要了解如何迁移到 Az PowerShell 模块,请参阅 将 Azure PowerShell 从 AzureRM 迁移到 Az。
对于 Azure 资源管理器部署模型:
Get-AzVirtualNetworkGatewayConnectionSharedKey -Name <Connection name> -ResourceGroupName <Resource group name>
对于经典部署模型:
Get-AzureVNetGatewayKey -VNetName -LocalNetworkSiteName
步骤 3:验证 VPN 对等 IP
- Azure 的“本地网络网关”对象中的 IP 定义应与本地设备的 IP 相匹配。
- 在本地设备中设置的 Azure 网关 IP 定义应与 Azure 网关 IP 匹配。
步骤 4:检查网关子网上的 UDR 和 NSG
检查并删除网关子网中的用户定义的路由 (UDR) 或网络安全组 (NSG),然后测试结果。 如果问题得到解决,请验证 NSG 或 UDR 应用的设置。
步骤 5:检查本地 VPN 设备的外部接口地址
如果 VPN 设备面向 Internet 的 IP 地址包含在 Azure 的“本地网络”定义中,可能会出现偶发的断开连接。
步骤 6:验证子网是否完全匹配(基于 Azure Policy 的网关)
- 验证虚拟网络地址空间与 Azure 虚拟网络和本地定义之间的子网是否完全匹配。
- 验证“本地网络网关”与本地网络本地定义之间的子网是否完全匹配。
步骤 7:验证 Azure 网关的运行状况探测
通过浏览到以下 URL 打开运行状况探测:
https://<YourVirtualNetworkGatewayIP>:8081/healthprobe
对于主动/主动网关,请使用以下操作来检查第二个公共 IP:
https://<YourVirtualNetworkGatewayIP2>:8083/healthprobe
单击证书警告。
如果收到响应,则可认为 VPN 网关正常。 如果未收到响应,则可能表示网关不正常,或者网关子网上的某个 NSG 导致出现问题。 以下文本是示例响应:
<?xml version="1.0"?> <string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">Primary Instance: GatewayTenantWorker_IN_1 GatewayTenantVersion: 14.7.24.6</string>
注意
基本 SKU VPN 网关不会回复运行状况探测。 不建议将其用于生产工作负载。
步骤 8:检查本地 VPN 设备是否已启用完全前向保密功能
完全向前保密功能可能会导致断开连接问题。 如果 VPN 设备已启用完全向前保密,请禁用该功能。 然后更新 VPN 网关的 IPsec 策略。
注意
VPN 网关不会在其本地地址上回复 ICMP。