首页 > 解决方案 > 我如何知道 Azure 中的虚拟机使用本地网络网关路由连接到本地网络?

问题描述

这是一位需要您帮助来建立与本地环境的连接的数据工程师 :)!

我创建了一个具有默认子网 (10.0.0.0/24) 的虚拟网络 (10.0.0.0/16)。然后我创建了一个 (Windows) 虚拟机,它连接到 vnet/子网并允许 ICMP 入站和出站规则用于 ping 测试。ping google.com 没问题。

下一步是创建虚拟网络网关和本地网络网关以连接到本地环境。本地网络网关从第三方(我无法控制)与 VPN 设备建立站点到站点 (IPsec) 连接。Azure 门户中的状态 =“已连接”。

第三方能够 ping Azure 中的虚拟机,VPN 连接上的“数据输入”属性显示已收到 2 kb (ping)。所以这行得通!

当我尝试向 IP 地址(在本地网络网关指定的“地址空间”内)发送 ping 命令时,ping 命令失败(请求超时。)。

在 google/stackoverflow 上进行大量搜索后,我发现由于 BGP = disabled 设置,我需要在 Azure 中配置一个路由表。所以希望我在配置路由表路由方面做得很好,但我仍然无法成功执行 ping :(!

你们知道我忘记了哪个步骤/配置或者我在哪里犯了错误吗?我想了解为什么我无法对本地环境执行成功的 ping。如果您需要更多信息,请告诉我

站点到站点 (IPsec) 连接屏幕截图/配置

路由表设置屏幕截图/配置

更详细的路由表路由

标签: azurevpnazure-virtual-machinegatewayazure-virtual-network

解决方案


如果未Azure VPN 网关和此特定网络之间使用BGP ,则必须为本地网络网关中的地址空间提供有效地址前缀列表。您指定的地址前缀是位于本地网络上的前缀。

在这种情况下,您似乎已经添加了地址前缀。确保您在此处指定的范围不与您要连接的其他网络的范围重叠。Azure 会将您指定的地址范围路由到本地 VPN 设备 IP 地址。我们无法进行其他操作。我们不需要设置 UDR,尤其是我们没有将路由表关联到网关子网。此外,避免将网络安全组 (NSG) 与网关子网相关联。可以通过Effective routes在 Azure VM 中选择网络接口来检查路由表。在此处阅读更多详细信息。

如果您想验证从 Azure VNet 到本地网络的连接,请确保您从本地网络 PING 一个真正的私有 IP 地址(我的意思是 IP 地址分配给本地计算机),您可以ipconfig/all在本地 CMD中检查 IP 地址。此外,您可以使用 PowerShell 命令通过 Azure VM 内的 Windows 防火墙启用 ICMP New-NetFirewallRule –DisplayName "Allow ICMPv4-In" –Protocol ICMPv4。或者,您可以使用 PowerShell 命令Test-NetConnection来测试与远程主机的连接,而不是使用 PING。

如果问题仍然存在,您可以尝试重置 Azure VPN 网关并从本地 VPN 设备重置隧道。更进一步,您可以按照以下步骤确定问题的原因。


推荐阅读