如何让VirtualBox来宾(运行Windows)访问Internet?


30

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

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

在此处输入图片说明

任何的想法?

更新:

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

在此处输入图片说明

这是来宾的屏幕快照,显示了一些网络信息:

(请注意,这个问题是关于如何在VirtualBox 中使VM能够访问Internet的,因此Windows图片的存在并不会自动使这个问题成为题外话!)

在此处输入图片说明

这里的图片更大。

Answers:


34

设置NAT

NAT不是Adapter Type的选项。相反,它是“ 附加到”的选项。

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

顺便说一句,将其更改为NAT有时会有所帮助的原因并不特定于Windows guest虚拟机。相反,如果您的物理(主机)PC位于LAN上,则桥接适配器(以及NAT)通常可以正常工作。如果您的物理PC仅具有一台计算机的网络连接(通常将其直接插入只有一个以太网端口的电缆/ DSL / ISDN调制解调器中),那么就没有本地网络可桥接因此,您必须使用NAT

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

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

如果可行,那就太好了。除此以外...

检查访客的网络配置

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

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

来宾计算机,Windows XP网络连接:这是单击“属性”的第一个位置

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

来宾计算机,Windows XP“本地连接”显示协议和服务列表

确保配置正确。

对于桥接连接

如果您将虚拟机的网络适配器保持桥接在VirtualBox中,而不是将其切换到NAT,则好像存在连接三个设备的第2层网络交换机

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

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

对于NAT连接

如果您在VirtualBox中为“ 连接到”选择了NAT,那么就像您的真实计算机在充当小型家庭/办公室路由器一样。您的主机运行一个DHCP服务器,该服务器只能由VirtualBox虚拟机访问,来宾可以从中获取其所有网络配置信息。

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. 由于默认网关错误,因此不会进行路由,并且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来宾添加项(通过单击设备 > 安装来宾添加项;有关更多信息,请参见手册)。重新启动,然后查看是否可以连接到Internet。如果不能,您仍然会完成一些有用的操作,因为现在您可以在来宾剪贴板和主机剪贴板之间进行复制和粘贴。

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

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

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

ipconfig /all

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

  • 更普遍地,对于这个问题的提问者以外的人:

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

    (但是,如果您的网络问题是在虚拟安装中,而不是虚拟硬件或VirtualBox软件中,例如,如果您的VM可以正常访问Internet,直到您安装了除来宾添加以外的某些Windows软件,那么问题就出在了可能会被Ask Ask Ubuntu视为主题外。不过,对于超级用户而言可能会是主题外。)


2
我更改了自动获取IP和DNS的方法,它起作用了!您的回答是准确而详细的,非常感谢您,我相信这对于其他有类似问题的人将是非常有用的资源。我接受了您的回答并开始了赏金活动,在24小时后,您的声誉将增加100。谢谢!
umpirsky

仍然需要一个TL; dr。顺便说一句,您对Windows进行故障排除!
Braiam 2013年

谢谢你,上帝保佑你奉耶稣的名!答案很有帮助!双方都切换(使用NAT)到DHCP解决了该问题!
lexeme,2015年

@Eliah,您说“ 如果在LAN上使用NAT,则来宾计算机将能够看到LAN上的其他计算机 ”。那怎么可能?来宾是否只能看到主机,并且每个连接都必须通过主机?
Pacerier's

@Pacerier编号。这类似于您将一个NAT路由器插入提供对Internet的访问权的另一个NAT路由器的情况。假设计算机A在NAT路由器X后面,并且计算机B和NAT路由器X都在另一个NAT路由器Y后面,该NAT路由器提供对Internet上的设备(例如计算机C)的访问。这使A(和B)地址C,同时保持C和甚至B都无法寻址A。但是它也允许A寻址B。从B的角度来看,A隐藏在X的后面。从A的角度来看,B根本不隐藏-B与Y一样,是网络上的主机可以访问通过网关X.
利雅卡根

10

该解决方案非常适合我(主机操作系统:Ubuntu 14.04;来宾操作系统:Windows XP SP3):

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


1
在Windows 7上作为主机工作,在Windows XP上作为客户工作
Musa Haidari 2015年

在Windows 8.1上作为主机工作,在Ubuntu 14.04上作为客户工作
user11153

@frostmann,为什么这样做?
Pacerier's

在...中工作...在win8
chandil03 '16

在WinXP中也可以使用!
Trung Ta

4

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

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

桥接也可以正常工作,但是您必须调整网络接口。必须在主机上的Internet界面上设置名称(无线可能是wlan,以太网是eth)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.