![Windows 10 Hyper-V 上的 Ubuntu 16.04 VM - 无网络连接](https://linux22.com/image/1498879/Windows%2010%20Hyper-V%20%E4%B8%8A%E7%9A%84%20Ubuntu%2016.04%20VM%20-%20%E6%97%A0%E7%BD%91%E7%BB%9C%E8%BF%9E%E6%8E%A5.png)
我刚刚创建了虚拟机,但不知道为什么没有网络连接。我尝试了很多方法来解决问题,主要是以下不同组合:
- 在虚拟交换机管理器中创建内部和外部虚拟交换机
- 在虚拟机设置 > 网络适配器中,我尝试选择这两个虚拟交换机,并选中“启用虚拟 LAN 识别”
- 在本地计算机上的 Windows > 网络连接中,我可以看到内部和外部交换机。我尝试与外部共享本地以太网连接,但没有成功
- 在 Windows > 网络连接中,我尝试将外部虚拟交换机与内部虚拟交换机共享,但没有成功
- 在 Ubuntu 方面,我进入了有线连接设置,然后进入 IPv4 并将其设置为自动,当这不起作用时,我尝试了手动。我给了它一个已知的可用 IP 地址、网络掩码和网关,但这也不起作用
所以我现在的情况是,Ubuntu 显示有线连接已连接,但我无法访问互联网。关于如何进一步排除故障,您有什么想法吗?如果需要,我可以发布屏幕截图,但似乎我每篇文章只能添加 2 张,因为我的声誉不够高。谢谢!
答案1
我在 Hyper-V/Windows 10 上运行的 Ubuntu 17.04 上遇到了同样的问题。
我发现解决方案很简单。看起来默认安装选项是使用内部网络,它不允许访问互联网。
在 Hyper-V 中的 Ubuntu 虚拟机上:
- 右击进入设置
- 导航到网络适配器
- 选择网络适配器,然后在虚拟交换机下拉列表中将“Layered_wi_fi”更改为“未连接”
- 进入虚拟交换机管理器(在 Hyper-V 管理器的右侧)
- 在虚拟交换机部分中选择 Layered_Wi-fi
- 将连接类型从“内部网络”更改为“外部网络”
回到 Hyper-V 中的 Ubuntu 虚拟机:
- 右击进入设置
- 导航到网络适配器
- 选择网络适配器,然后在虚拟交换机下拉列表中将“未连接”更改为“Layered_wi_fi”
注意:首先,我尝试在 Virtual Switch Manager\Layered_Wi-fi 部分中简单地将内部网络更改为外部网络(步骤 4-6)。这反复产生错误。我认为这是因为该设置正在使用中,但不太清楚。一旦我先完成步骤 1-3,它就会像魔法一样工作。
答案2
解决 Hyper-V 中 Ubuntu 虚拟机无互联网连接问题的步骤:
- 在 VM 的 Hyper-V 设置中,将网络适配器连接到允许访问主机网络的默认交换机。
- 在 Ubuntu VM 中,转到以太网设置,然后选择 IPv4 选项卡。将 IPv4 方法设置为自动(DHCP)。在 DNS 前面将自动设置为离开,并
1.1.1.1,1.0.0.1
输入CloudFlare 的 DNS。单击“应用”。关闭以太网并重新打开。我发现这是使更改生效的必要条件,因此请确保每次更改以太网设置时都关闭并打开以太网。
对于大多数情况,上述方法应该可以解决问题,但如果没有,您还可以尝试其他一些方法。
- 在 Ubuntu VM 中,转到以太网设置。在“详细信息”选项卡上,验证 IPv4 地址是否与默认交换机上的主机计算机位于同一网络中。要验证这一点,请
ipconfig
在主机上运行,并记下默认交换机下的 IPv4 地址,例如172.10.100.15
。在 Ubuntu VM 中,如果 IPv4 地址的前 3 个部分相同,例如,172.22.100.75
则它们位于同一网络上。如果不是,请转到 IPv4 选项卡并将 IPv4 方法设置为手动。然后输入以下地址:- 地址:将其设置为与默认交换机上的主机位于同一网络的某个 IP。
- 网络掩码:设置为默认交换机上主机的子网掩码。
- 网关:设置为默认交换机上主机的IP地址。
- 应用更改并关闭以太网然后重新打开。
其他可以尝试的事情:
- 如果您的路由器启用了访问控制,则将 Ubuntu VM 的网络适配器的 MAC 地址列入白名单。
- 确保您所连接的交换机上的 NIC 的网络类别为“专用”。
$Profile = Get-NetConnectionProfile -InterfaceAlias "vEthernet (Default Switch)"
$Profile.NetworkCategory = "Private"
Set-NetConnectionProfile -InputObject $Profile
- 尝试在虚拟机上安装旧版网络适配器。您需要使用第一代虚拟机才能使用此选项。
- 尝试创建并连接到外部虚拟交换机,然后再次执行上述故障排除步骤,用外部交换机替换默认交换机。
答案3
尝试添加“旧式网络适配器”并设置
普通网络适配器适用于 Windows 7 以上版本(如果不是更早版本)
我希望这对你和更多人有帮助
我在使用 reactos 和 XP 时遇到了这个问题,这个运行正常
要添加可用作传统网络适配器的网络交换机,请执行以下操作:
- 打开虚拟交换机管理器
- 选择新的虚拟网络交换机
- 选择“外部”
- 创建虚拟交换机
- 随便你叫什么名字
要将交换机添加到您的虚拟机:
- 打开所需虚拟机的设置
- 添加硬件
- 旧式网络适配器
- 添加
- 打开虚拟交换机的下拉菜单
- 选择你创建的虚拟交换机
注意:虚拟机一次只能使用 1 个交换机
答案4
在创建虚拟机期间选择“默认交换机”会导致 eth0 被分配一个来自 DHCP 的 IP。Window10 和 Ubuntu 18.04
我设法从主机 ssh 登录。