我应该如何为 Hyper-V 设置多个 NIC?

我应该如何为 Hyper-V 设置多个 NIC?

我有一台 PowerEdge 服务器,它有 1 个管理 NIC 和 4 个其他 NIC。我已设置管理 NIC,以便可以访问 iDRAC,并且它运行良好。现在我想设置 Windows 2008 R2 Hyper-V。我们的网络有两种 IP 地址。一种是 10.10.xx 类型,您无法从网络外部访问。另一种是公共类型,例如 128.210.xx

我认为我应该将一个 NIC 设置为 10.10.xx IP 地址,将另一个设置为 128.210.xx IP 地址,这样 Hyper-V 父分区就可以使用 10.10.xx IP 地址,相对而言不会受到外部攻击。然后,在 Hyper-V 上运行的子分区/客户操作系统可以使用公共 NIC,这样人们就可以从任何地方访问它们(其中一些是 Web 服务器)。

当我尝试以这种方式设置它们时,Windows 会抱怨有多个默认网关。如果我为两个 NIC 提供公共 IP,那么一切就都正常了——也就是说,父分区和子分区都可以访问互联网。有人比我更了解网络吗?可以解释一下我应该在这里做什么吗?基本思路是让一台虚拟机运行文件服务器,可通过 10.10.xx IP 或通过 WINS(如 \FILESERVER)访问,然后让一堆其他虚拟机作为独立的网络服务器。谢谢。

答案1

您的问题源于对默认网关的误解。总共只有一个,而不是每个 NIC 一个。设置额外的默认网关只是为了实现冗余。

您只有一个默认网关,但您仍需要为非默认情况设置其他接口的路由。如果不这样做,离开服务器的所有流量都将尝试从具有默认网关的接口出去,因为那是唯一的网关。很明显,这对您来说不太适用。

因此,总而言之,如果您为 10.xxx 接口定义了默认网关,则需要为 128.210.xx 接口添加静态路由,这些路由定义了离开这些 NIC 的流量的下一跳。

答案2

有可能 Windows 正在对共享 NIC 发脾气。HyperV 的推荐设置是将一个 NIC 专用于主机操作系统,将另一个 NIC 专用于 HyperV 客户机(最低限度)。我认为这个想法是主机和虚拟机之间不共享任何 NIC。只要您至少有一个仅显示在主机网络中的 NIC,另一个仅分配给 HyperV 网络之一的 NIC,您对剩余 NIC 所做的任何事情都没有问题。

但您当然可以在同一个物理网卡上设置多个 IP 范围供客户机使用。

答案3

说实话,我认为你应该换个角度看待这个问题。你需要为 Hyper-V 本身和虚拟机设置一些网络路径。这些应该通过不同的 NIC。

如果您要设置集群、iSCSI 或类似的东西,则需要为这些东西保留 NIC。我不知道“iDRAC”是什么,所以我假设它是占用整个管理 NIC 的东西。如果不是,您可能希望与 iDRAC 共享 Hyper-V 管理并将该 NIC 用于两者。

取出剩余的 NIC 并将虚拟网络绑定到它们。取消选中“允许管理操作系统共享此网络适配器”框。除非 NIC 稀缺,否则您不需要这样做。

现在,通过管理接口,您的 Hyper-V 服务器只有 10.xxx 地址。您的虚拟机绑定到单独的 NIC,它们可以获取任何合适的 IP 地址。除了通过外部交换机外,虚拟机甚至没有连接到 Hyper-V。

相关内容