我正在使用 Hyper-V 创建一些 Windows Server 2012 R2 虚拟机。一切都很顺利,直到我发现我无法在虚拟机中访问互联网,现在我陷入了困境。
我目前的情况是,我在 Hyper-V 中创建了一个内部虚拟交换机,并将其设置为我的虚拟机的网络适配器。
然后我进入我的网络设置,进入我的 WiFi 连接的属性,进入共享选项卡,选中“允许其他网络用户通过此计算机的 Internet 连接进行连接”,然后将其设置为我创建的内部 hyper-v 交换机。
我尝试重新启动虚拟机,确保 IPv4 将自动获取地址,但我仍然无法通过虚拟机访问互联网。
我想检查一下我是否遗漏了某个步骤或者我的做法是否错误。
答案1
正如 Joeqwerty 在其评论中所说,Hyper-V 中的“内部”和“私有”虚拟交换机无法访问您的本地物理 LAN 或互联网。为了使您的虚拟机能够访问互联网,必须将它们连接到“外部”虚拟交换机。
外部 v-switch 将您的物理网络适配器桥接到 Hyper-V 在您的主机上创建的虚拟交换机端口。将您的虚拟机直接连接到外部 v-switch 本质上是将它们添加到您的本地物理 LAN,就像将物理计算机连接到 LAN 上的物理交换机一样。这可能会产生不良后果,例如:
- 实验室计算机与生产环境之间的冲突
- DNS 冲突
- DHCP 范围耗尽
- 实验室暴露于物理局域网中流行的黑客攻击、病毒、间谍软件等
- 生产局域网暴露于黑客、病毒、间谍软件等,在虚拟实验室中进行测试
为了将我的虚拟实验室与物理环境隔离,我通过以下方式设置了我的 Hyper-V 实验室:
- 创建一个连接到我的物理适配器的外部 v-Switch。
- 创建一个私人的 v-Switch。
- 将所有实验室虚拟机连接到私有 v-switch。
- 创建一个具有 2 个 NIC 的小型虚拟机并安装一个 *nix 防火墙。
- 将虚拟防火墙连接到两个 v-switches 并配置 NAT。
这会在 Hyper-V 中创建一个完全隔离的虚拟 LAN,该 LAN 在虚拟防火墙和本地物理 LAN 后面进行双重 NAT。我喜欢这种隔离,因为它允许我主要模拟常规 LAN 环境,其中我的物理 LAN 代表云。
并非每个实验室都需要这种隔离,但我还是推荐它,因为它很有用。首次设置后,您可以在私有 v-switch 中添加和删除虚拟机,而无需进行任何其他网络配置。
当然,您需要根据您确定的实验室需求来配置 DNS、DHCP 等。