![我可以使用交叉电缆让两台主机之间的 Hyper-V VM 相互通信吗?](https://linux22.com/image/1403136/%E6%88%91%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%E4%BA%A4%E5%8F%89%E7%94%B5%E7%BC%86%E8%AE%A9%E4%B8%A4%E5%8F%B0%E4%B8%BB%E6%9C%BA%E4%B9%8B%E9%97%B4%E7%9A%84%20Hyper-V%20VM%20%E7%9B%B8%E4%BA%92%E9%80%9A%E4%BF%A1%E5%90%97%EF%BC%9F.png)
我有两个 Hyper-V 主机,每个主机静态分配 IP 10.0.1.10(主机 1)和 10.0.2.10(主机 2),子网掩码为 255.255.0.0。我用交叉电缆将它们连接起来。
我在主机 1 上创建一个虚拟机并为其分配 IP 10.0.1.20(子网掩码 255.255.0.0),同时在主机 2 上创建一个虚拟机并为其分配 IP 10.0.2.20(子网掩码 255.255.0.0)。
我似乎无法让 host1 上的 VM ping host2 或 ping host2 上的 VM。我可以成功 ping host1 -> host2 以及反之亦然。我正在使用外部虚拟交换机,并且已选中“允许管理操作系统共享”。
我对网络不太熟悉。我需要设置网关 IP 或添加路由或类似操作吗?
答案1
RW,
是的,您尝试做的事情是可能的。
如果您的两个 Hyper-V 主机可以互相 ping 通,那么一切就都好了。
我怀疑这只是 Windows 防火墙的问题。
您提到您没有在虚拟机上设置网关 IP。我假设您的虚拟机是 Windows Vista 或更高版本。虽然默认网关是不是实际上,如果您没有在 Windows 中为连接设置默认网关,那么它会将您的网络位置设置为“公共”并且不允许您更改它。当您处于公共位置时,您的内置 Windows 防火墙将阻止绝大多数流量,包括响应 ICMP 流量(ping)。
要解决此问题,请尝试以下操作之一:1) 设置默认网关(它不必实际存在!),这将允许您更改网络位置。在网络和共享中心执行此操作 - 单击指向公共网络的蓝色链接,并将其更改为家庭或工作。2) 禁用 Windows 防火墙并重试。转到控制面板 -> 系统和安全 -> Windows 防火墙,然后从左侧选择打开或关闭 Windows 防火墙。
确保在两台虚拟机上都执行此操作!
我希望这有帮助。
答案2
我也遇到了同样的问题,我一直都不知道问题出在哪里,直到我看到了 mac 地址范围的设置......
虚拟交换机管理器 -> 全局网络设置 -> Mac 地址范围
因此,请确保主机之间的 Mac 地址范围不一样!
跨主机的虚拟机现在终于可以互相 ping 通了。