我正在 Hyper-V 中为 VMware 设置测试实验室。我在 Hyper-V 中有 3 个 vSwitch:-EXT01 -INT01 -INT02
我还在 Hyper-V 中创建了一个 W2K12 VM,其中安装了以下角色:-AD/DNS -DHCP -File(将来将 iSCSI 配置为共享存储)。
现在,我将 3 个 NIC 连接到 ESX01,它们连接到上面的所有 3 个 vSwitch(EXT01、INT01 和 INT02)。现在,默认情况下只启用一个(Ext01,它连接到我自己的网络并已配置好一切,包括默认网关),它会获取一个 DHCP 地址,我可以使用 vSphere Client 访问它。如果我禁用 ESXi 中的 Ext NIC 并启用 INT01 NIC(或 02),或者如果我仅将 INT01(或 02)网络连接到 NIC1,我会从 DHCP(上面的 2k12 机器,它连接到 INT01 和 INT02 并且它们服务于自己的范围)获得一个 IP 地址,所有设置都正确,没有网关,但我无法通过 vSphere Client 访问 ESXi,甚至无法 ping 通它。当我重新启用外部网络时,一切都恢复正常。这告诉我问题肯定出在网络配置(内部)上,但我不确定还要查看哪里或更改什么?因为这是一个实验室,所以我想让它没有 GTW,因为我不需要从一个网络路由到另一个网络(这也是我有 INT01 和 02 的原因)。
编辑:我忘了提到连接到 INT01 或 02 网络的任何其他 Windows 机器都能够获取地址并 ping 网络上的其他设备。
谢谢
答案1
对于那些感兴趣的人,我已经找到了解决方案。首先,我将向您更好地概述我想要实现的目标。
问题 因此,我有一个连接到办公网络的物理机箱。此物理机箱运行 Hyper-V,并有 3 个虚拟交换机。一个外部(EXT01,通过服务器的一个物理 NIC 连接到办公网络),另外两个是内部交换机(不是私有的,因此一旦创建,它们将自动在物理机箱上创建一个虚拟 NIC;在我的情况下,我将在物理主机上添加 2 个虚拟 NIC),称为 INT01 和 INT02。在 Hyper-V 中,我有一个运行以下角色的 W2K12 R2 VM:- 域控制器 - DNS - 文件服务 - DHCP
我已将两个虚拟网卡连接到此虚拟机: - 一个连接到 INT01 - 一个连接到 INT02
由于两个内部网络上都没有网络设备,我手动为 INT01 添加了以下配置:IP 192.168.100.100 子网 255.255.255.0 Gtw:留空 DNS:192.168.100.100
此虚拟机上的 INT02 具有以下配置:IP 192.168.101.100 子网 255.255.255.0 Gtw:留空 DNS:192.168.101.100
到目前为止一切顺利。现在,我创建了两个范围,一个服务于 192.168.100 地址,另一个服务于 192.168.101。这两个范围都将提供相同的子网 (255.255.255.0),它们将保留默认 gtw 为空白,并且它们还将提供与 VM 的 NIC IP 匹配的 DNS 服务器地址,因此 INT01 为 192.168.100.100,INT02 为 192.168.101.100。
一旦我配置了 DHCP 范围并在 Hyper-V 主机上运行 ipconfig /release 和 /renew,上面提到的两个虚拟 NIC 就会获得一个 IP 地址(连接到 INT01 的 vNIC 为 192.168.100.200,连接到 INT02 的 vNIC 为 192.168.101.200)。我可以通过 192.168.100.100 和 101.100 访问虚拟机,没有任何问题,我可以 ping 它,在其上使用 RDP,访问其共享,所有这些都可以从物理 Hyper-V 主机进行。到目前为止,一切看起来都正常,并且按预期工作。
现在,我设置了一个新的 ESXi 并将其连接到 INT01 或 INT02,它从 DHCP 获取一个 IP 地址,但随后它就死机了,无法访问,而我的其他服务器可以互相通信。
我希望 ESXi 连接到 3 个网络的原因如下: - EXT01 用于管理并可从我的办公室访问 - INT01 用于 vmotion 等 - INT02 用于 ESXi 的虚拟机(我希望在 ESXi 上创建的任何虚拟机都能从外部 2k12 盒获取 IP)
我不需要从内部网络访问其他子网,因此我很乐意将流量保留为本地流量。因此,当我 ping 192.168.100.100 时,流量将仅通过 INT01;当我 ping 10.0.2.50(我的办公室网络)时,流量将通过 EXT vSwitch;当我 ping 192.168.101.100 时,流量将必须通过 INT02。这在 2k12 盒子上有效。
这是 PIC
解决方案 已经采取了不同的措施来解决这个问题。
- 运行 DHCP/DC 等的虚拟机 (2012 R2 服务器) 也必须在旧版适配器上运行 NIC。一旦我修改了此虚拟机的虚拟硬件,我就能够从该虚拟机访问 ESXi。请注意,我仍然无法从 Hyper-V 主机 ping 到 ESXi 或反之亦然,我不需要解决这个问题。您可能希望将 vSwitch 更改为 Private 而不是 Internal,但就我而言,我希望主机与我的 Windows VM 进行通信。
- 在 ESXi 的 VM XML 中启用混杂模式,就在 下方。为此,您只需在 Hyper-V 中的 VM XML 文件中添加字符串 TRUE。为了保存该文件,您可能需要停止 Hyper-V 虚拟机管理服务,保存该文件并重新启动它。
- 在 ESXi 的 NIC 上启用 MAC 地址欺骗。在我在此处发布此问题之前,最初已完成此操作,问题是在故障排除期间我修改了 VM 设置并忘记记下此步骤。当我发现重新启动 ESXi 后,我能够从其自己的网络访问 3 个不同的 vSwitch,这真是令人难以置信。