我正在尝试在 Hyper-V 中创建一个虚拟家庭实验室,用于自学目的。
我遇到了网络问题,但我不知道如何诊断或修复它。
基本上,我在 Win10 Pro 机器上安装了 Hyper-V,并在其上设置了两个 Windows Server 2016 虚拟机。它们都是域控制器,但第一台服务器还执行 DHCP、DNS 和 NAT 路由。
由于第一台服务器负责路由,因此它有两张虚拟网卡。一张连接到 Hyper-V 中的默认交换机,以共享我的 Wifi 卡的互联网连接。第二张虚拟网卡连接到我制作的 Hyper-V 内部虚拟交换机,因此它可以通过该虚拟网卡为我的其他虚拟机提供 DHCP 和路由服务。
我让它“正常工作”的意思是,当我启动我的两个服务器虚拟机时,一切都运行良好。第一台服务器将互联网连接提供给内部虚拟交换机,第二台服务器使用第一台服务器作为网关来访问互联网。
我的小型 Windows 域中还有另外两台装有 Windows 10 Pro 的虚拟机,它们可以正常连接。它们从主服务器获取 DHCP,可以正常 ping google.com 以及两个域控制器,并且通常可以访问互联网,所有这些都是从主服务器路由的。
让我重申一下,除了主服务器执行将 Internet 路由/馈送到其他虚拟机的工作外,我的任何虚拟机都无权访问 Hyper-V 中的默认虚拟交换机。
无论如何,经过大约一个小时的顺利运行后,我的主机上的网络突然完全冻结(因此我的虚拟机也是如此),因为我甚至无法获得名称的 DNS 解析。
这是我的经验急剧下降和我的菜鸟本性显露出来的地方:
是什么原因导致我原本可以正常工作的设置在 30 到 60 分钟后冻结?
无论我有多少个活动的虚拟机,或者不活动,如果我关闭它们,特别是主服务器,网络功能就会恢复,而我不必重新启动主机。
因此,我认为问题出在主服务器上的路由,或者 Hyper-V 如何处理该路由............
我知道诊断这个问题可能需要一些非常具体的信息,但我不知道该提供什么,所以只要询问,我会尽力为您提供所需的信息。
我尝试切换到 VirtualBox 作为替代解决方案,但无论我以何种配置尝试,它都非常不稳定,所以我只会继续思考这个 Hyper-V 问题...
主机规格:i5 9600K(6 个逻辑处理器......无论如何,我知道它不是最新的和最好的,但我没有看到太多减速)。64 GB RAM 所有虚拟机都托管在单独的物理磁盘上,但我已经尝试了几种方法,每次我设置新的测试 Windows 域时都会出现相同的网络问题,我已经厌倦了尝试 :P
答案1
所以我要自己回答这个问题...我应该在 Hyper-V 中使用“私有”而不是“内部”作为虚拟交换机类型。如果使用内部,虚拟机仍然能够通过交换机联系主机...如果您试图实现“私有”交换机的功能,即限制虚拟机通过网络访问主机,那么这样做并不好。
我不断地重复收到 TCP 数据包(我在 Wireshark 中看了一下),所以在听了 John 的帮助评论后,很明显我在 Hyper-V 管理器中选择了错误的虚拟交换机类型。
无论如何,现在一切都解决了,我很高兴。这是一个多么棒的社区啊!