Virtualbox 中的 Internet 连接无法正常工作(Mac OS X 主机/Windows XP 来宾)

Posted

技术标签:

【中文标题】Virtualbox 中的 Internet 连接无法正常工作(Mac OS X 主机/Windows XP 来宾)【英文标题】:Internet connection in Virtualbox won't work (Mac OS X host / Windows XP guest) 【发布时间】:2014-02-06 19:43:28 【问题描述】:

我一直在尝试(但失败)为我的 Windows XP 虚拟机设置任何类型的互联网连接,希望能得到一些帮助。

详情如下:

虚拟盒子 4.3.0

Mac OS 10.6.8 主机

Windows XP SP 2 来宾

我的互联网连接是通过机场,主机的 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 地址。

感谢您的帮助!

【问题讨论】:

桥接适配器对我来说很好用。主机和访客都使用 DHCP,都获得不同的 IP 地址,都可以连接到路由器(即 Internet)和彼此。尝试以这种方式配置它。假设A是路由器,B是主机,C是访客。 B 和 C 正在使用 DHCP。 C 配置了桥接适配器。然后尝试 ping:A -> B, B -> A, A -> C, C -> A, B -> C, C -> A。你看到了什么? 感谢您的回复。如果我将 Virtualbox 连接设置为桥接适配器,然后将 Windows XP 中的 TCP/IP 连接设置为“自动获取 IP 地址”,似乎什么都没有发生 - ipconfig 的输出显示来宾正在使用自分配的 IP 地址和没有为网关(路由器?)设置 IP 地址。 为了其他遇到此问题的人的利益,最终对我有用的解决方案只是切换到 VMware Fusion - 没有任何问题,而且它第一次就可以正常工作,无需任何配置。公平地说,该软件的某些方面运行良好,性能通常非常好,对于某些人来说,它开箱即用就可以了,但无法使互联网连接正常工作对我来说是真正的非首发。 在 OS X Mojave 上遇到这个问题,我有一个 Airport Extreme。我的 PC 运行 Vbox VM 工作正常(没有互联网问题)。虽然在我的 MacBookPro 上没有任何效果,但我已经尝试过 Vbox 和 VMware Fusion。出于调试目的,我决定将我的手机用作热点并将我的 MBP 连接到它……有趣的是,我的虚拟机现在可以连接到互联网。这就引出了问题:问题是 Airport Extremem 还是 MacBookPro……? @Sakiboy 您的 MBP 可能比我的要新得多,但我的猜测是,当 Apple 的 Airport 驱动程序尝试从软件应用。我从来没有找到让 Virtual Box 工作的方法,但 VMware Fusion 在我当前的设置下工作得很好,尽管我注意到在 Vista 中,如果 VM 已暂停,连接有时会不起作用。解决方法是打开 IE9 并加载任何站点(?),然后以某种方式使任何其他需要它的 Vista 软件可以访问该连接。 【参考方案1】:

我知道这很可能不是大多数人的问题,但是在尝试修复从 Mac Air 主机到 Virtual Box XP 访客的互联网连接数小时后,我终于在 XP 中进入我的网络设置并意识到网络被禁用。希望大多数人足够聪明,可以先看这里,但我不是。简约法则再次证明是正确的。希望这可以帮助其他一些愚蠢的混蛋。

【讨论】:

这总是值得检查的——在花了太长时间试图修复你错过的明显问题之后。奇怪的是,当我最近在 VMware Fusion 中重新安装 XP 时,我没有更改任何配置设置,这意味着 XP 自动检测到连接。也许这是 VMware Fusion 特有的东西,但它也适用于 Vista - 我什至没有打开网络设置,因为我已经安装了它并且互联网连接工作正常。【参考方案2】:

这个问题本质上是由于主机 WiFi 适配器(由 wifi 路由器的 DHCP 服务器)和访客接口(由 Nat 网络下的 VirtualBox DHCP 服务器)分配了相同的 IP 地址。

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

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 服务器提供的子网(在 VM 关闭时):

VBoxManage modifyvm VMName --natnet1 "192.168/16"

你可以走了。

【讨论】:

【参考方案3】:

在网络设置中选择Bridged AdapterPCnet-FAST III

【讨论】:

这非常适用于 Mac OSX 10.10 Yosemite 上的 VirtualBox 5.0.2,并以 Windows XP 64-Bit Professional(德语)作为访客。 记住PCnet-FAST III只能在机器不运行时选择。【参考方案4】:

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

名称 en1:Wi-Fi (AirPort) 也为我工作。 “PCnet-FAST III”在高级选项中,只能在机器未运行(但已选择)时通过“机器”>“设置”菜单选项选择 Virtualbox 5.0.38 本来可以把它放在 cmets 中的,但是因为我刚刚注册,所以我没有足够的声望点来这样做。

【讨论】:

这对我有用,我的 mac 通过以太网连接并配置了 wi-fi 连接,在这种情况下名称是 en0: WI-FI(AirPort) 即使以太网电缆被拔下,此解决方案也能正常工作。【参考方案5】:

在带有 Windows 7 VirtualBox 的 OS X El Capitan 上最终对我有用的是以下设置:

Attached to: Bridged Adapter
Name: en0: Wi-Fi (AirPort)
Adapter Type: Intel PRO/1000 MT Desktop (82540EM)
Promiscuous Mode: Allow All

【讨论】:

【参考方案6】:

OS X El Capitan (10.11.6) 和 VirtualBox 5.1.30

对我来说,只是将Adapter Type 更改为PCnet-FAST III

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

【讨论】:

【参考方案7】:

我尝试了所有这些但它对我不起作用,而是尝试关闭 vb mac 并转到“网络”部分中的设置并启用所有“适配器”,如屏幕截图中所示。这个对我有用。

标签 1:

标签 2:

标签 3:

标签 4:

【讨论】:

适用于 macOS Siera【参考方案8】:

我必须选择以下才能使其正常工作。

我的设置:

    MacOS Majave,10.14.3; 2) Virtual Box、VirtualBox VM 6.0.8 r130520 darwin.amd64 (May 13 2019 15:40:24) 发布; 3) Ubuntu 16.04 LTS,64 位。

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

在这里感谢您的其他建议。

【讨论】:

也为我工作! (y) 也为我工作 :)【参考方案9】:

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

设置:

    macOS Mojave 10.14.6 VirtualBox 版本 6.0.12 r133076 (Qt5.6.3) ISO:CentOS Linux release 7.7.1908 (Core)

我试过 NAT,Bridged Adapter 和其他适配器,但它们都不起作用。 当我输入“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。【参考方案10】:

MacBook Pro - 莫哈韦沙漠:

网络设置 - NAT

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

点击端口转发,然后点击添加连接。在第一个端口框中输入 0,在第二个端口框中输入 1。将 IP 地址留空。

点击应用。

确保选中“已连接电缆”框。为我工作,没有其他问题。以上所有建议都没有解决我的 MacBook Pro 上的问题。

希望这对某人有所帮助....

【讨论】:

对我不起作用,因为 vm 不允许 IP 地址为空白。 为我工作!我无法添加连接@Acimaz,因为我可能收到与您相同的错误消息。但是将网络设置设置为“NAT”并选择“PCnet Fast III”就足以让我的虚拟机中的连接正常工作。【参考方案11】:

有同样的问题,使用桥接适配器和 Wifi 机场, 从互联网上安装通用以太网卡驱动程序,重新启动并繁荣找到它。有效。

【讨论】:

以上是关于Virtualbox 中的 Internet 连接无法正常工作(Mac OS X 主机/Windows XP 来宾)的主要内容,如果未能解决你的问题,请参考以下文章

如何使用xshell连接VirtualBox上的CentOS7

linux相关知识在VirtualBox中配置Linux版虚拟机的静态地址

聊聊VirtualBox中的网络连接方式

virtualbox虚拟机无法联网是啥原因?

Ubuntu Virtualbox 中 Pycharm 中的 Python 控制台无法连接

使用xftp连接VirtualBox中的centos6.5