我正在 Windows Server 2012 机器上试用 Hyper-V。它有 3 个 NIC。#0 专用于主机,#1 位于虚拟交换机上,所有 VM 都位于其上。
我希望 NIC #2 专用于特定的 VM,例如主机不应该理会它,并且它应该只为客户端 VM 提供 1 个 MAC 和 IP。(就好像 VM 是具有该特定 NIC 的物理机)
我现在看到的唯一方法是创建一个“外部”虚拟网络,并只将该 VM 放置在网络上。这当然有优势,但也让我需要处理 2 个 IP 和 2 个 MAC:一个用于主机,一个用于 VM。
这可能吗?如果可以,如何做(是否推荐?)
答案1
创建外部网络不会创建两个 MAC 地址和两个 IP 地址,除非您还选择“允许管理操作系统共享此网络适配器”。如果您不选中该框(或在 PowerShell 中执行等效操作),则管理操作系统不会将任何东西绑定到它,除了交换机。如果您在其上启用 VMQ 或 SR-IOV,那么您甚至会有专用硬件将流量路由到 VM。
答案2
我意识到这个疑问几年前就已经被问过了,但是我最近发现了一个从未在其他地方出现过的解决这个问题的新方法。
如果你为 NIC #2 创建虚拟交换机,请将虚拟机绑定到此虚拟交换机,然后使用控制面板在主机中禁用此适配器(虚拟交换机,不是如果您将物理适配器连接到主机,则主机将完全忽略它,但它仍将为客户机正常工作(甚至没有警告或任何内容)。
换句话说,您可以先将虚拟交换机绑定到物理 NIC(这将阻止主机直接使用物理 NIC),然后禁用虚拟交换机,从而为 Hyper-V“保留”物理 NIC。在我看来,这是一种奇怪的行为,但它有效并且在重新启动后仍然存在,这才是最重要的。