Azure 中的虚拟机无法互相访​​问

Azure 中的虚拟机无法互相访​​问

首先,我发现了一个类似的问题这里,但它已经有 5 年的历史了,我没有看到任何解决方案 + 我确信从那时起 Azure 已经发生了很大的变化。

我的测试实验室:

虚拟机:1 个 Windows、1 个 Linux。

NIC:Windows 有一个(内部)。IP 转发已禁用,Linux 有两个(内部和公共)。两者均启用 IP 转发。

子网:一个用于内部 NIC,一个用于公共。两个虚拟机都在内部子网上,Linux 的 PIP 接口也在公共子网上。

NSG:我有一个 NSG 横跨两个子网。非常通用。默认规则 + 允许所有传入的 RDP/SSH。

路由表:每个子网都有一个路由表。(这部分实际上是 Azure 环境中最让我困惑的部分)

我很不擅长解释事情,所以我还制作了一些图表,使事情变得更加令人困惑: 当前设置预期最终结果

问题

我测试了在我的家庭实验室中使用 Linux VM 作为 Windows 实例的路由器并且它可以运行(Hyper-V),因此我期望 Azure 也能获得相同的结果。

但目前,最大的问题是,尽管虚拟机位于同一子网中,但它们无法相互访问。 RDP(3389)在 Windows 上监听,SSH(22)在 Linux 上监听。当我在nmap -sT 10.0.2.5 -p 3389 -PnLinux 端尝试时,它告诉我连接已被过滤(应该是打开的)。当我Test-NetConnection -ComputerName 10.0.2.254 -Port 22在 Windows 端运行时,TCP 检查失败。

Windows 防火墙允许所有防火墙配置文件上的整个“远程桌面”防火墙组。也尝试过禁用防火墙,但没用。

此外,也许有人会发现以下信息很有用:当我向具有 PIP 且位于外部/公共子网中的 WindowsVM 添加 NIC 时,VM 能够相互联系。但在这种情况下,Windows VM 不应具有公共接口。

得到帮助!

答案1

开始工作了!

根据原始帖子中列出的当前设置图链接进行更改。

从 testPublicSN 中删除了路由表

从 testIntRT 中删除了路由并添加了以下路由:

0.0.0.0/0 Virtual Appliance 10.0.2.254

另外,禁用 testIntRT 上的虚拟网络网关传播。

从子网中删除 NSG 并将其移至公共 NIC。

在 WindowsVM 的 NIC 上启用 IP 转发。

相关内容