如何让 VirtualBox 客户机(运行 Windows)访问互联网?

如何让 VirtualBox 客户机(运行 Windows)访问互联网?

我有一台 VirtualBox 虚拟机。主机运行 Ubuntu。客户机(虚拟)运行 Windows XP。

我在 Google 上搜索了这个问题,有人声称他们通过将适配器类型更改为 NAT 来解决这个问题,但对我来说没有这样的选择:

在此处输入图片描述

任何想法?

更新:

切换到 NAT 后,它也没有起作用。以下是当前设置(显示所有详细信息):

在此处输入图片描述

以下是访客显示一些网络信息的屏幕截图:

(请注意,这个问题是关于如何在 VirtualBox 中为虚拟机提供 Internet 访问权限,因此 Windows 图片的存在并不自动地使之偏离主题!)

在此处输入图片描述

此处有更大图片。

答案1

设置 NAT

NAT不是一种选择适配器类型。相反,这是附于

单击当前显示的位置桥接适配器你应该可以选择NAT

顺便说一下,将其改为NAT有时,帮助并不特定于 Windows 客户机。相反,如果您的物理(主机)PC 在 LAN 上,桥接适配器(也NAT)通常可以正常工作。如果您的物理 PC 只与一台计算机连接网络(通常情况下,如果直接插入只有一个以太网端口的电缆/DSL/ISDN 调制解调器),则没有本地网络可以桥接,因此您必须使用NAT

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

如果你有兴趣了解更多详情,请参阅以下文章网络桥接网络地址解读

如果可行,那就太好了。否则...

检查访客的网络配置

在虚拟机中,打开网络连接配置(从控制面板或开始菜单 > 设置)。除非您已在 VirtualBox 中为客户机手动配置了多个接口(或已使用 USB 转发连接了实际网络适配器),否则您只会看到一个,除非您更改了其名称,否则它将被称为本地连接(可能后面跟着一个数字)。

右键单击该内容并单击特性

客户机,Windows XP 网络连接:这是第一个单击“属性”的地方

在下面该连接使用以下项目, 点击互联网协议 (TCP/IP)并点击特性

客户机,Windows XP“本地连接”显示协议和服务列表

确保配置正确。

对于桥接连接

如果你保留了虚拟机的网络适配器桥接在 VirtualBox 中,而不是将其切换到 NAT,那么就好像有一个第 2 层网络交换机连接三个设备:

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

所以,您的虚拟机在“网络层面上”等同于您的主机. 无论它具有什么设置(当然除了它的 IP 地址),您的虚拟机都应该具有。

对于 NAT 连接

如果您选择了NAT为了附于在 VirtualBox 中,就像你的真实计算机就像一个小型家庭/办公室路由器。您的主机运行一个仅可供 VirtualBox 虚拟机访问的 DHCP 服务器,而客户机从该服务器获取其所有网络配置信息。

VirtualBox DHCP 服务器将向客户机提供 IP 地址和 DNS 信息,因此两个都应选择以下两个选项之一:

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

客户机,Windows XP TCP/IP 设置,常规选项卡

这是关键。

对于这个问题中的系统来说,这是一个特殊问题。如果这是配置的唯一问题,修复它应该可以完全解决问题。

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

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

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

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

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

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

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

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

  4. DNS 服务器也必须固定,否则无法通过其域名访问任何主机(如 askubuntu.com)。

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

假设 DHCP 对你没有问题,你可以通过以下方式解决问题:Internet 协议(TCP/IP 属性)一般的标签设置如上面的屏幕截图所示。

仍然无法连接互联网?是时候进行故障排除了

从客户机端收集更多信息可能会有所帮助。在神秘地无法连接到互联网的虚拟化 Windows XP 系统中,安装 VirtualBox 客户机附加组件(通过单击设备>安装访客添加功能; 看手册有关详细信息)。重新启动,看看您是否可以连接到 Internet。如果不能,您仍然完成了一些有用的工作,因为现在您可以在客户机和主机剪贴板之间进行复制和粘贴。

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

开始 > 运行... >cmd.exe

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

ipconfig /all

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

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

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

    (但是,如果你的网络问题出在虚拟安装中,而不是虚拟硬件或 VirtualBox 软件中——例如,如果你的虚拟机在安装某些 Windows 软件之前可以正常访问互联网除了客人增加--那么您的问题可能会被视为与 Ask Ubuntu 无关。它可能会与 Ask Ubuntu 有关超级用户尽管。)

答案2

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

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

答案3

NAT 位于附于下拉列表。

适配器类型为先进的并且在大多数情况下不需要改变。

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

相关内容