我有一个 Windows 2008 R2 标准主机系统,其中托管了 Hyper-V VM(Win 2008 R2 也是如此)。主机系统具有绑定到 Hyper-V 外部虚拟网络的公共 IP(例如 10.20.30.40),该网络连接到物理网络控制器。此外,我还有故障转移子网 20.30.40.50/29。此子网中的一些 IP 已绑定到虚拟网络控制器,并且运行正常。但是,当我将其他一些 IP 绑定到 VM 的 NIC 时,它从外部不可见,也无法访问 Internet。但它从主机可见,也可以 ping 主机。有没有办法将其他一些 IP 绑定到 VM 的 NIC,以便可以从外部访问?非常感谢。
答案1
我认为还没有人回答你,因为很难真正掌握你的问题的含义。
也就是说,Hyper-V 的最佳做法是保留一个 NIC 作为“管理适配器”。此 NIC 的配置方式与网络上任何其他物理主机上的任何其他常规 NIC 一样,并且您不会将其用作虚拟机或 HyperV 虚拟交换机将使用的 Hyper-V 适配器。
然后使用另一个单独的适配器专用于 HyperV 虚拟交换机。我建议不要在此 NIC 上设置 DNS 服务器或默认网关。此 NIC 只需为您的虚拟机提供物理网络访问。如果您希望虚拟机能够与世界其他地方通信,则需要创建外部虚拟交换机。
然后将您的虚拟机连接到该虚拟交换机,为它们提供完整的 IP 堆栈,就好像它们是您网络上的常规物理主机一样,然后就可以了!
如果您希望这些虚拟机托管服务,那么您将需要配置 NAT 路由器以将端口转发到这些内部虚拟机。
答案2
(假设我理解正确,viso 图表会有所帮助)如果它是一个外部 vswitch,那么主机不应该访问虚拟机(除非机器在同一个子网上,这样它们可以通过物理适配器进行通信)