同一虚拟网络上的 Azure VM 之间的简单内部通信

E.W*_*.W. 5 azure

我在同一云服务的同一虚拟网络中创建了 2 个虚拟机。他们没有公共端点。我希望虚拟机能够相互识别,就像它们在本地网络上一样。例如,我希望能够使用 \\ 语法通过计算机名称引用它们,例如在 VM1 上,我希望能够访问 \\VM2_host_name\shared_folder。有人可以向我提供配置虚拟机以实现此场景的步骤吗?

注意:我尝试通过其内部 IP 地址引用它们,并且还在 Windows 防火墙中启用了 ICMP 流量。我什至完全关闭了两台机器的防火墙只是为了测试。没有运气。即使没有防火墙,我也无法通过其他计算机的主机名或 IP 地址 ping 这些计算机。我还审查了类似的问题,例如(Azure VMs Virtual Network inter-communication),但无济于事。

更多信息:

我尝试从 VM_A(内部 IP 10.0.0.5)与 VM_B(内部 IP 10.0.0.4)进行通信。两个 VM 都属于同一云服务“MyCloudServiceName”。对于这个测试,我还关闭了他们的防火墙,只是减少了影响因素。

C:\Users\Matt>NSLookup VM_B
Server:  UnKnown
Address:  168.XX.XXX.XX

Non-authoritative answer:
Name:    VM_B.MyCloudServiceName.hX.internal.cloudapp.net
Address:  10.0.0.4


C:\Users\Matt>ping VM_B

Pinging VM_B.MyCloudServiceName.hX.internal.cloudapp.net [10.0.0.4] with 32 bytes of data:
Reply from 10.0.0.5: Destination host unreachable.
Reply from 10.0.0.5: Destination host unreachable.
Reply from 10.0.0.5: Destination host unreachable.
Reply from 10.0.0.5: Destination host unreachable.

Ping statistics for 10.0.0.4:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss)
Run Code Online (Sandbox Code Playgroud)

所以我可以看出 DNS 解析正在工作。但即使在同一云服务中,这些机器仍然相互隔离。

请注意,我的实际情况是,我有一个 ASP.NET Web API 自托管在一台计算机上运行的服务上,我希望能够从同一云服务中的另一台计算机内部访问该服务。

Cor*_*liu 3

我们遇到了类似的问题,这是由于网络适配器的校验和卸载造成的。感谢 Microsoft Azure 支持帮助我们诊断问题。

简单的修复方法是在每台计算机上运行此命令,然后快速重新启动:

Disable-NetAdapterChecksumOffload * -TcpIPv4

这是一篇更详细地描述该问题的文章: http://systemscentre.blogspot.com.au/2013/05/problems-clustering-virtual-machines-on.html