问题描述
我有一个VirtualBox虚拟机。主机运行Ubuntu。来宾(虚拟)机器运行Windows XP。
我搜索了这个问题,人们声称他们通过将适配器类型更改为NAT来修复它,但对我来说没有这样的选项:
任何的想法?
更新:
在将其切换到NAT之后,它也无法工作。以下是当前设置(显示所有详细信息):
这是客人的屏幕截图,显示了一些网络信息:
(请注意,这个问题是关于如何在VirtualBox中提供VM Internet访问,因此Windows的图片不会自动生成此off-topic!)
最佳解决思路
设置NAT
NAT不是适配器类型的选项。相反,它是附加的选项。
单击当前显示桥接适配器的位置,您应该能够选择NAT。
顺便说一句,将其更改为NAT的原因有时候有助于Windows客户端。相反,如果您的物理(主机)PC在LAN上,桥接适配器(以及NAT)通常可以正常工作。如果您的物理PC只有一台计算机的网络连接 – 如果它直接插入只有一个以太网端口的电缆/DSL /ISDN调制解调器,通常就是这种情况 – 那么就没有本地网络可以连接到,那么你必须使用NAT。
如果您使用桥接适配器并且主机位于物理LAN上,则您的来宾计算机将自动能够看到并被LAN上的计算机看到。如果您在LAN上使用NAT,则来宾计算机将能够看到LAN上的其他计算机,但LAN上的其他计算机(除虚拟主机外)将无法看到它。
如果您对更多细节感兴趣,请参阅network bridging和network address translation上的这些文章。
如果有效,那很好。除此以外…
检查访客的网络配置
在虚拟机中,打开“网络连接”配置(从“控制面板”或“开始”菜单>“设置”)。除非您在VirtualBox中为来宾计算机手动配置多个接口(或者通过USB转发将实际网络适配器连接到它),否则您只会看到一个,除非您更改了名称,否则它将被称为Local Area连接(可能后面有一个数字)。
在其上单击Right-click,然后单击属性。
在“连接”下,使用以下各项,单击“Internet协议(TCP /IP)”,然后单击“属性”。
确保配置正确。
对于桥接连接
如果您在VirtualBox中保留VM的网络适配器bridged,而不是将其切换到NAT,那么就好像连接三个设备的layer 2 network switch:
-
虚拟机。
-
物理主机。
-
无论物理主机连接到什么(在桥接的特定主机网络适配器上)。例如,如果您的计算机已插入路由器,则就像交换机已插入路由器一样。如果它以无线方式连接到接入点,就像交换机是wireless bridge一样。
因此,您的VM是”networkologically”等效于您的主机。无论它有什么设置(当然除了IP地址),你的虚拟机应该有。
对于NAT连接
如果您在VirtualBox中选择了NAT for Attached,那么就像您的真实计算机就像一个小型的家庭/办公室路由器。您的主机运行只能由VirtualBox虚拟机访问的DHCP服务器,并且guest虚拟机从中获取其所有网络配置信息。
VirtualBox DHCP服务器将为guest虚拟机提供IP地址和DNS信息,因此应选择以下两个选项:
-
自动获取IP地址
-
自动获取DNS服务器地址
这是关键。
这是该问题中系统的特殊问题。如果这是配置的唯一问题,那么解决这个问题应该完全解决问题。
您有手动设置,而不是DHCP。
这可以工作,但手动设置需要正确,并且您还需要确保IP不在路由器分配的IP地址范围内(或者可能与其他设备发生冲突)网络)。
在这种情况下,手动设置根本不正确,因为:
-
主机通过其提供到guest虚拟机的Internet连接的网络接口上的IP地址与其在物理网络上的IP地址不同。即使您的计算机的IP地址是“现实生活中的192.168.1.1”,访客也无法以这种方式访问它。
-
更有可能的是,如果你自己这样设置,你可能一直认为你应该将你的real-life家庭/办公室路由器的IP地址(通常是192.168.1.1)作为默认网关和主DNS服务器。
但是客户无法直接访问桌面(或任何地方)的物理NAT路由器,因为在VM和真实路由器之间传输的任何数据都必须通过VM的路由器,而VM的路由器是您的计算机(通过该特殊虚拟网络访问)接口)。
-
-
由于默认网关错误,因此不会发生路由,并且VM无法访问计算机外部的任何物理网络设备。
-
由于VM的IP地址超出了正确的范围(通常为10.2.2。*)且子网掩码为255.255.255.0,因此无法访问正确的范围。 (子网掩码是正确的,但与IP一起识别错误的子网。)
-
还必须修复DNS服务器,或者不能通过其域名访问任何主机(例如askubuntu.com)。
如果由于某种原因你需要使用“静态IP”,即不使用DHCP,那么你必须从VirtualBox获取正确的信息并输入它。如果您需要帮助,请告诉我(我可以将其扩展为包含说明)。
假设DHCP对您没问题,您可以通过使您的Internet协议(TCP /IP属性),常规选项卡设置看起来像上面的屏幕截图来解决问题。
仍然没有互联网连接?是时候排除故障了
从客人那里收集更多信息可能会有所帮助。在神秘地未连接到Internet的虚拟化Windows XP系统中,安装VirtualBox guest虚拟机添加项(通过单击Devices> Install Guest Additions;有关更多信息,请参阅the manual)。重新启动,看看您是否可以连接到Internet。如果你不能,你仍然完成了一些有用的东西,因为现在你可以在访客和主机剪贴板之间复制和粘贴。
因此,在Windows中打开命令提示符。一种方法是运行:
Start > Run… >
cmd.exe
现在运行此命令以获取有关Windows guest虚拟机系统的网络接口和连接的信息。
ipconfig /all
然后将命令提示符中的所有文本复制到剪贴板。在命令提示符窗口内的任何位置由right-clicking引发的上下文菜单中都可以访问此功能。然后,您可以在具有有效Internet连接的Ubuntu主机系统上编辑问题,然后将其粘贴。
-
更一般地说,对于此问题的提问者以外的人:您可以将其粘贴到Ubuntu主机系统中的应用程序中,允许您在Windows VM挂起/关闭时引用它。您可以将它提供给任何想要帮助您的人。您可以在Ask Ubuntu上将它包含在您自己的问题中(但是,如果您的网络问题出在虚拟安装中,而不是虚拟硬件或VirtualBox软件 – 例如,如果您的VM访问Internet,直到您安装了一些除了客户添加之外的Windows软件 – 那么你的问题可能会被认为是Ask Ubuntu的主题。虽然它可能是Super User的on-topic。)
次佳解决思路
这个解决方案对我来说非常合适(主机操作系统:Ubuntu 14.04;客户操作系统:Windows XP SP3):
在’NAT’->’Advanced’->’Adapter Type’中选择“PCnet-PCI II(Am79C970A)”。
第三种解决思路
NAT位于附加到drop-down列表中。
适配器类型是高级的,在大多数情况下不必更改..
Bridged也应该正常工作,但你必须调整网络接口。名称必须设置为主机上的互联网接口(很可能是无线的wlan,以太网的eth)。