Virtualbox中的网络连接无法工作(Mac OS X主机/Windows XP客户端)。

19
我一直在尝试(但失败了)为我的Windows XP虚拟机建立任何类型的互联网连接,希望得到一些帮助。
详情如下:
Virtualbox 4.3.0 Mac OS 10.6.8主机 Windows XP SP 2客户机
我的互联网连接是通过Airport进行的,主机的IP地址为192.168.1.2(由路由器动态分配),路由器为192.168.1.1。
我认为我遇到的问题要么是不知道应该改变哪些设置或需要什么配置。Windows XP是否应该从Virtualbox内置的DHCP服务器检索其设置,还是我需要手动指定IP地址和网关?如果是这样,我应该使用哪些地址?
在Virtualbox首选项中,我还尝试添加了一个主机专用网络并打开了DHCP服务器,但当我ping默认配置中使用的任何IP地址时,只会收到“请求超时”或“目标不可达”的消息。
作为最后的选择,我尝试安装客户机附加组件,但这使得Windows甚至无法启动,因此似乎也不是一个选项。
考虑到所有这些因素并尝试不让事情复杂化,我想重新开始并且最简单的选择似乎是设置桥接适配器连接,然后(在Windows XP中)手动指定主机被分配的相同IP地址。但这也没有起作用-客户机无法ping通路由器,并且在Finder警报出现说另一台计算机正在使用相同的IP地址后,主机会被自动分配不同的IP地址。
感谢任何帮助!

我认为我的设置并不需要指定任何MAC地址。但是在登录到我的路由器管理控制面板检查后,我发现DHCP服务器将IP地址租用给了Virtualbox设置的MAC地址,因此我将尝试在Windows XP中手动使用此IP地址,看看会发生什么。 - Noel Whitemore
那也不起作用 - 似乎Windows XP无法看到主机或路由器,从主机机器ping客户机只会导致超时。 - Noel Whitemore
1
为了帮助其他遇到同样问题的人,最终解决方案是切换到VMware Fusion——没有任何问题,一切都可以直接使用,无需配置。公正地说,VirtualBox的某些方面工作得非常好,性能通常非常出色,对于一些人来说,它可以直接使用,但对我来说,无法连接互联网是一个真正的难题。 - Noel Whitemore
1
在使用OS X Mojave时遇到了这个问题,我有一个Airport Extreme。我的运行Vbox VM的PC工作正常(没有互联网问题)。虽然在我的MacBookPro上什么都不起作用,我已经尝试了Vbox和VMware Fusion。出于调试目的,我决定使用我的手机作为热点,并将我的MBP连接到它上面...有趣的是,虚拟机现在可以连接到互联网了。这带来了问题:问题是Airport Extremem还是MacBookPro本身的问题呢...? - Sakiboy
1
@Sakiboy,你的MBP可能比我的新很多,但我猜想,在苹果的AirPort驱动程序中可能仍存在某些潜在的不兼容性或错误,尤其是当它试图从软件应用程序管理“桥接”连接时。我从未找到过让Virtual Box工作的方法,但VMware Fusion对于我的当前设置来说工作得很好,虽然我注意到在Vista上,如果VM已被挂起,则有时连接不起作用。解决方法是打开IE9并加载任何站点(?), 这样可以使连接对其他需要它的Vista软件可访问。 - Noel Whitemore
显示剩余14条评论
11个回答

18
请选择"桥接网卡"和"PCnet-FAST III"在网络设置中。

Wi-Fi (AirPort) 的名称是en1:

对我也起作用了。 "PCnet-FAST III"在高级选项中,只有在通过“机器”>“设置”菜单选项选择虚拟机但未运行时才能选择。
Virtualbox 5.0.38

我本来想把这个放在评论里的,但是由于我刚注册,没有足够的声望值。

这是对我有用的解决方案,我的Mac通过以太网连接并配置了Wi-Fi连接,在这种情况下,名称为**en0: WI-FI(AirPort)**,即使未插上以太网电缆,此解决方案仍可使用。 - OJVM

10

这个问题本质上是因为同一个IP地址被分配给了主机的WiFi适配器(由WiFi路由器的DHCP服务器)和客户端的接口(由VirtualBox下的NAT网络的DHCP服务器)。

关于集成DHCP服务器的VirtualBox文档Fine-tuning the VirtualBox NAT engine:

In NAT mode, the guest network interface is assigned to the IPv4 range 10.0.x.0/24
by default where x corresponds to the instance of the NAT interface +2. So x is 2
when there is only one NAT instance active. In that case the guest is assigned to the 
address 10.0.2.15, the gateway is set to 10.0.2.2 and the name server can be found at
10.0.2.3.

查看您的主机的WiFi适配器的IP地址,您会发现其分配的地址也来自于10.0.2.0/24网络范围。

这就是问题的原因,因为现在VirtualBox的Nat驱动程序混淆了主机和客户机地址来自同一子网的事实。

为了解决这个问题,您可以使用VBoxManage命令更改由VirtualBox DHCP服务器提供的子网(在虚拟机关闭时执行):

VBoxManage modifyvm VMName --natnet1 "192.168/16"

你已经准备好了。


8
我尝试了所有这些方法,但对我没有用。相反,我尝试关闭vb mac并转到“网络”部分的设置,启用所有“适配器”,就像屏幕截图中所示。这对我有用。
标签1: enter image description here 标签2: enter image description here 标签3: enter image description here 标签4: enter image description here

适用于 macOS Sierra。 - Amos Chepchieng

7

在网络设置中选择桥接适配器PCnet-FAST III


这在Mac OSX 10.10 Yosemite上使用VirtualBox 5.0.2和Windows XP 64位专业版(德语)作为客户端非常好用。 - Michael Armbruster
2
请注意,只有在计算机未运行时才能选择PCnet-FAST III - regina_fallangi

6

我必须选择以下内容才能使它正常工作。

我的设置:

  1. MacOS Majave,10.14.3;
    2)VirtualBox,VirtualBox VM 6.0.8 r130520 darwin.amd64(2019年5月13日15:40:24发布);
    3)Ubuntu 16.04 LTS,64位。

我选择了“NAT”和“PCnet Fast III”,现在它可以工作了。

感谢这里提供的其他建议。


3
我也用过,很好用!(赞) - Thusal Hettiarachchi
1
也适用于我 :) - Darshan Jain
1
这太棒了,对我很有效!!!非常感谢你的分享~ - Kim

3

我知道这可能不是大多数人遇到的问题,但经过多小时的尝试,从Mac Air主机到Virtual Box XP客户端修复我的互联网连接问题后,我最终进入了XP中的网络设置并意识到网络已被禁用。 希望大部分人都聪明到首先查看这里,但我没有。 再一次地,简单万能法则被证明是正确的。希望这能帮助其他可怜的笨蛋。


这总是值得检查的 - 在花费太长时间尝试修复问题后,您会错过明显的问题。奇怪的是,最近在VMware Fusion中重新安装XP时,我没有更改任何配置设置,这意味着XP自动检测到了连接。也许这是VMware Fusion特有的东西,但它也适用于Vista - 自从我安装以来,我甚至没有打开过网络设置,因为互联网连接完全正常。 - Noel Whitemore

3

MacBook Pro - Mojave:

网络设置 - NAT

进入高级设置并点击“高级”。

点击“端口转发”并添加一个连接。在第一个“端口”框中输入0,在第二个“端口”框中输入1。将IP地址保留为空白。

点击“应用”。

确保“电缆已连接”框已被选中。按照以上建议仍未解决问题的情况下,这种方法能够有效解决我的MacBook Pro上出现的问题。

希望这能够帮助到其他人....


1
无法使用,因为虚拟机不允许IP地址为空。 - Acimaz
对我有用!我无法添加连接@Acimaz,因为我可能得到了与您相同的错误消息。但是将网络设置设置为“NAT”并选择“PCnet Fast III”就足以让我在虚拟机中使连接工作。 - Thusal Hettiarachchi

1

OS X El Capitan(10.11.6)和VirtualBox 5.1.30

对我来说,只需要将适配器类型更改为PCnet-FAST III

Attached to: NAT
Name: -
Adapter Type: PCnet-FAST III (Am79C973)
Promiscuous Mode: Deny

1

如果有人遇到同样的问题,这是我的情况:

设置:

  1. macOS 版本为 Mojave 10.14.6
  2. VirtualBox 版本为 6.0.12 r133076(Qt5.6.3)
  3. ISO:CentOS Linux 发布版本为 7.7.1908 (Core)

我尝试了 NAT、桥接适配器和其他适配器,它们都无法工作。 当我输入"ip addr"时,结果看起来像这样,没有为enp0s3接口分配 IPv4 地址。

[root@localhost ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 1000
    link/ether 08:00:27:43:59:bf brd ff:ff:ff:ff:ff:ff

我想也许是网络接口配置出了问题,如果你不熟悉Linux,这种问题并不那么明显。我们可以通过以下命令检查指定的网络接口配置。

[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-enp0s3
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s3
UUID=0b1aa850-85ba-478d-8efb-94f3c16d47e1
DEVICE=enp0s3
ONBOOT=no

ONBOOT字段设置为“no”,表示网络接口未激活。我们可以通过以下命令启动enp0s3接口。
[root@localhost ~]# ifup enp0s3

互联网又恢复了。 ^_^


这适用于MacOS Big Sur 11.1,Virtualbox 6.1,CentOS 8。 使用NAT。 - Henry

0
以下是在OS X El Capitan上使用Windows 7 VirtualBox时对我有效的设置:
Attached to: Bridged Adapter
Name: en0: Wi-Fi (AirPort)
Adapter Type: Intel PRO/1000 MT Desktop (82540EM)
Promiscuous Mode: Allow All

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接