我有一个非常简单的场景,Azure Vnet 具有子网 10.140.1.0/24 (GatewaySubnet,SKU=Gw2 gen1) 和 10.140.10.0/24 (VirtualMachineSubnet)。然后是 OnPrem 网络,其子网为 10.190.0.0/16。
我已成功建立 Site2Site 到 OnPrem 网络的连接。我可以从 Azure VirtualMachineSubnet(IP 为 10.140.10.4)中的虚拟机 ping 10.190.xx。但是当我引入 NAT 规则时,它不再起作用。OnPrem 设备仅允许来自我的 VirtualMachineSubnet(+该范围的扩展)的流量,但我想在我这边扩大这个范围,因此使用了 NAT。
我尝试将其简化为最简单的 NAT 规则,即实际上不进行转换的规则。所以我的 NAT 规则是:Static、EgressSnat、InternalMapping:10.140.10.4/32、ExternalMapping:10.140.10.4/32,这意味着 IP 不应发生变化。
此时此刻我将此 NAT 规则链接到 S2S 连接,ping 停止工作。发生了什么?
看起来我链接的那一刻任何NAT 规则应用于该连接,连接停止工作。
注意:基于路由,没有策略流量过滤器,没有 BGP,我还尝试将整个 VirtualMachineSubnet 转换为 VirtualMachineSubnet,结果相同。我还尝试了完全随机的甚至未使用的子网,但我的 Vm-Subnet 的 ping 停止工作。还尝试添加 1:1 映射 onPrem IP 范围的入口规则,但没有成功。
答案1
当我使用 Windows Server RRAS 作为本地设备时,我看到了这种情况。
如果是这样,通过在 RRAS 中创建内部和外部(使用 NAT)规则,您将获得双向通信。
此外,您可以使用基本 SKU(最便宜)虚拟网络网关,如果您只是在测试的话,这很有用。
答案2
您能在哪里发现这个问题的根本原因?我也有类似的情况,在 Azure 中设置 NAT 规则并链接它们后,我无法再打开之前可以正常工作的连接