如何让VirtualBox guest虚拟机(运行Windows)访问Internet?

我有一个VirtualBox虚拟机。 主机运行Ubuntu。 来宾(虚拟)机器运行Windows XP。

我搜索了这个问题,人们声称他们通过将适配器类型更改为NAT来修复它,但对我来说没有这样的选项:

在此处输入图像描述

任何的想法?

更新:

在将其切换到NAT之后,它也无法工作。 以下是当前设置(显示所有详细信息):

在此处输入图像描述

这是客人的屏幕截图,显示了一些网络信息:

(请注意,这个问题是关于如何在VirtualBox中提供VM Internet访问,因此Windows图片的存在不会自动使这个偏离主题!)

在此处输入图像描述

这里有更大的图像。

设置NAT

NAT不是适配器类型的选项。 相反,它是附加的选项。

单击当前显示桥接适配器的位置 ,您应该能够选择NAT

顺便说一句,将其更改为NAT的原因有时候有助于Windows客户端。 相反,如果您的物理(主机)PC在LAN上, 桥接适配器 (以及NAT )通常可以正常工作。 如果您的物理PC只有一台计算机的网络连接 – 通常情况下,如果它直接插入只有一个以太网端口的电缆/ DSL / ISDN调制解调器 – 那么就没有本地网络可以连接到,那么你必须使用NAT

如果您使用桥接适配器并且主机位于物理LAN上,则您的客户机将能够自动查看并被LAN上的计算机看到。 如果您在LAN上使用NAT ,则来宾计算机将能够看到LAN上的其他计算机,但LAN上的其他计算机(除虚拟主机外)将无法看到它。

如果您对更多详细信息感兴趣,请参阅有关网络桥接和网络地址转换的这些文章。

如果有效,那很好。 除此以外…

检查访客的网络配置

在虚拟机中,打开“网络连接”配置(从“控制面板”或“开始”菜单>“设置”)。 除非您已经为VirtualBox中的来宾计算机手动配置了多个接口(或者通过USB转发将实际的网络适配器连接到它),否则您只会看到一个,除非您更改了名称,否则它将被称为Local Area连接 (可能后面有一个数字)。

右键单击它,然后单击“ 属性”

来宾机,Windows XP网络连接:这是第一个点击“属性”的地方

“连接”下使用以下各项 ,单击“ Internet协议(TCP / IP)” ,然后单击“ 属性”

来宾机,Windows XP“Local Area Connection”显示协议和服务列表

确保配置正确。

对于桥接连接

如果您将VM的网络适配器保持在VirtualBox中,而不是将其切换到NAT,那么就好像连接三个设备的第2层网络交换机 :

  • 虚拟机。
  • 物理主机。
  • 无论物理主机连接到什么(在桥接的特定主机网络适配器上)。 例如,如果您的计算机已插入路由器,则就像交换机已插入路由器一样。 如果它以无线方式连接到接入点,就像交换机是无线网桥一样 。

因此, 您的VM在“网络上”等同于您的主机 。 无论它有什么设置(当然除了IP地址),你的虚拟机应该有。

对于NAT连接

如果您在VirtualBox中为Attached选择了NAT ,那么就像您的真实计算机就像一个小型的家庭/办公室路由器 。 您的主机运行只能由VirtualBox虚拟机访问的DHCP服务器,并且guest虚拟机从中获取其所有网络配置信息。

VirtualBox DHCP服务器将为guest虚拟机提供IP地址和DNS信息,因此应选择以下两个选项:

  • 自动获取IP地址
  • 自动获取DNS服务器地址

来宾计算机,Windows XP TCP / IP设置,常规选项卡

这是关键。

这是该问题中系统的特殊问题。 如果这是配置的唯一问题,那么解决这个问题应该完全解决问题。

您有手动设置,而不是DHCP。

这可以工作,但手动设置需要是正确的,并且您还需要确保IP不在路由器分配的IP地址范围内(或者可能与其他设备发生冲突)网络)。

在这种情况下,手动设置根本不正确,因为:

  1. 主机通过其提供到guest虚拟机的Internet连接的网络接口上的IP地址与其在物理网络上的IP地址不同。 即使您的计算机的IP地址是“现实生活中的192.168.1.1”,访客也无法以这种方式访问​​它。

    • 更有可能的是,如果您自己设置这种方式,您可能一直认为应该将现实生活中的家庭/办公室路由器的IP地址(通常为192.168.1.1)作为默认网关和主DNS服务器。

    但是客户无法直接访问桌面(或任何地方)的物理NAT路由器,因为在VM和真实路由器之间传输的任何数据都必须通过VM的路由器,而VM的路由器是您的计算机(通过该特殊虚拟网络访问)接口)。

  2. 由于默认网关错误,因此不会发生路由,并且VM无法访问计算机外部的任何物理网络设备。

  3. 由于VM的IP地址超出了正确的范围(通常为10.2.2。*)且子网掩码为255.255.255.0,因此无法访问正确的范围。 (子网掩码是正确的,但与IP一起识别错误的子网。)

  4. 还必须修复DNS服务器,或者不能通过其域名访问主机(例如askubuntu.com)。

如果由于某种原因你需要使用“静态IP”,即不使用DHCP,那么你必须从VirtualBox获取正确的信息并输入它。 如果您需要帮助,请告诉我(我可以将其扩展为包含说明)。

假设DHCP对您没问题,您可以通过使您的Internet协议(TCP / IP属性)常规选项卡设置看起来像上面的屏幕截图来解决问题。

仍然没有互联网连接? 是时候排除故障了

从客人那里收集更多信息可能会有所帮助。 在神秘地未连接到Internet的虚拟化Windows XP系统中,安装VirtualBox guest虚拟机添加项(通过单击Devices > Install Guest Additions ;有关详细信息,请参阅手册 )。 重新启动,看看您是否可以连接到Internet。 如果你不能,你仍然完成了一些有用的东西,因为现在你可以在访客和主机剪贴板之间复制和粘贴。

因此,在Windows中打开命令提示符。 一种方法是运行:

开始>运行…> cmd.exe

现在运行此命令以获取有关Windows guest虚拟机系统的网络接口和连接的信息。

 ipconfig /all 

然后将命令提示符中的所有文本复制到剪贴板。 通过右键单击命令提示符窗口内的任何位置,可以在上下文菜单中访问此function。 然后,您可以在具有可用Internet连接的Ubuntu主机系统上编辑问题,然后将其粘贴。

  • 更一般地说,对于这个问题的提问者以外的人:

    然后,您可以将其粘贴到Ubuntu主机系统中的应用程序中,允许您在Windows VM挂起/关闭时引用它。 您可以将它提供给任何想要帮助您的人。 您可以在Ask Ubuntu上将它包含在您自己的问题中

    (但是,如果您的网络问题出在虚拟安装中,而不是虚拟硬件或VirtualBox软件 – 例如,如果您的VM访问Internet,直到您安装了除客户添加之外的某些Windows软件 – 那么您的问题可能会被认为是Ask Ubuntu的偏离主题。但它可能会成为超级用户的话题。)

这个解决方案对我来说非常合适(主机操作系统:Ubuntu 14.04;客户操作系统:Windows XP SP3):

在“NAT” – >“高级” – >“适配器类型”中选择“ PCnet-PCI II(Am79C970A) ”。

NAT位于“ 附加到”下拉列表中。

适配器类型是高级的 ,在大多数情况下不必更改..

Bridged也应该正常工作,但你必须调整网络接口。 名称必须设置为主机上的互联网接口(很可能是无线的wlan,以太网的eth)。