我正在玩Windows Server 2012机器上的Hyper-V。 它有3个网卡。 #0专用于主机,#1是虚拟交换机上的所有虚拟机。
我希望NIC#2专用于特定的虚拟机,例如主机不应该打扰它,它应该只有1个MAC和IP的客户端虚拟机。 (就好像虚拟机是具有特定NIC的物理机器一样)
我现在看到的唯一方法是创build一个“外部”虚拟networking,并将该虚拟机只放在networking上。 这当然有好处,但也让我处理2个IP和2个MAC:一个用于主机,另一个用于虚拟机。
这是可能的,如果是这样(是否build议?)
创build外部networking将不会创build两个MAC地址和两个IP地址,除非您还select“允许pipe理操作系统共享此networking适配器”。 如果您不选中该框(或PowerShell中的等效操作),则除了交换机之外,pipe理操作系统不会绑定任何内容。 如果您启用了VMQ或SR-IOV,那么您甚至可以将专用硬件路由到VM中。
我意识到这个问题多年前就已经提出过了,但是我最近发现了一个新的解决scheme,这个问题还没有出现在其他地方。
如果为NIC#2创build虚拟交换机,请将您的一个或多个虚拟机绑定到此虚拟交换机,然后使用主机中的控制面板禁用此适配器(虚拟交换机, 而不是物理适配器),然后主机将完全忽略它,但它仍然可以正常工作(甚至没有警告或任何东西)的客人。
换句话说,您可以先为虚拟交换机绑定一个虚拟交换机(这将阻止主机直接使用物理网卡),然后禁用虚拟交换机,为Hyper-V“预留”物理网卡。 在我看来这是一个奇怪的行为,但它在重新启动时仍然有效并且持续下去,这就是最重要的。