VirtualBox 桥接适配器在某些情况下不工作

VirtualBox 桥接适配器在某些情况下不工作

我在 Ubuntu 10.04 主机上运行 VirtualBox 3.2.12。通常,在工作时,我将 eth0 连接到具有静态 IP 的 LAN。如果我将笔记本电脑带回家,我会通过 WiFi 连接到互联网,并将 WLAN 卡配置为 DHCP。

在我的客户系统上,我将 eth0 配置为 NAT,并将 eth1 配置为桥接适配器。

现在在工作中(电缆连接到主机上的 eth0),我与我的客户机建立了网络连接,我可以 ping、ssh 等等。在家里,我没有网络连接。NAT 正在运行,我可以从我的客户机内部访问互联网,但主机和客户机之间没有直接连接。我无法从主机 ping 我的客户机,反之亦然。

一开始我以为可能是路由问题,但事实似乎并非如此:工作时和在家时的路线都相同(或者我可以让它们相同,但没有任何影响)。

此外,虚拟 192.168.0.0 网络上的多个客户机可以互相访问。只是主机无法访问。

在我的主机上,我有两个虚拟网络适配器:

eth0:1    Link encap:Ethernet  HWaddr 00:22:68:11:32:f8  
      inet addr:192.168.0.1  Bcast:192.168.0.255  Mask:255.255.255.0


vboxnet0  Link encap:Ethernet  HWaddr 0a:00:27:00:00:00  
      inet addr:192.168.0.101  Bcast:192.168.0.255  Mask:255.255.255.0

两者似乎都可以工作,我可以 ping 它们的地址(也许这并没有多大意义?)。

现在我有点不知道该在哪里继续搜索。任何建议都将不胜感激。

答案1

在客户机端网络设置:

适配器 1 = eth0 = NAT(您已经有此设置,这就是您始终可以访问互联网的原因)

适配器 2 = eth1 = 桥接,这是你的问题,我猜是你的主机网络设备是否桥接也是 eth0(这就是它在工作时工作的原因),但是当你回到家时你的 wifi 不是主机 eth0 网络设备,它可能是 wlan0,或者 eth1,这取决于你的计算机 NIC)。

如果您的设置如您所述,那么您根本没有使用 vboxnet0,只有当您为客户机执行“仅主机”以太网适配器设置时才使用该 vbox 网络接口。

我不明白的是为什么您有 NAT 和桥接适配器??按照您的设置配置方式同时拥有这两者是没有意义的。如果您严格将虚拟机用于内部服务(例如托管 iscsi 卷,或者可能作为仅位于主机本地的 svn 服务器),那么您应该做的是 NAT 第一个适配器(如您所拥有的),然后“仅主机”第二个客户适配器...第二个适配器对互联网不可见,但对您的主机和配置为共享该仅主机网络的任何其他虚拟机都可见。您的虚拟机仍然能够通过 NAT 访问互联网,但会更安全,因为互联网将无法访问它。

我还会放弃那个虚拟 eth0.1 接口,因为我也看不出有什么意义,而且很可能会搞乱你的 tcp/ip 堆栈,因为它可能会混淆要从哪个接口发送请求,因为 eth0.1 与 vboxnet0 是相同的 ip 范围...坏主意。(我认为技术术语是多宿主你的网络...但我不是 100% 确定)

如果这对您有帮助,请告诉我...如果您的虚拟机设置或原因不同,您可以更详细地解释它们的用途,我可以协助您建议最佳的网络配置设置。

答案2

抱歉回复这么晚,我没有意识到(或者没有收到回复通知)..

我认为您说的没错,仍然存在路由问题,在看完您的原始帖子后,我发现了一些可能需要更改的细节。

在我自己的 VBox 配置中,仅主机网络范围与桥接范围不同......

我将提供一个解决方案供您尝试:

由于您在工作时有一个静态 IP,我们将您的主机保留在 eth0:192.168.0.1

现在编辑 VBoxManager->File->Prerences...->Network->vboxnet0 下的 IPv4 仅主机地址

将该 IP 地址更改为:192.168.120.1

然后为您的客户机将第一个适配器设置为 NAT,然后将第二个适配器设置为仅主机

当您打开此虚拟机时,您应该获得一个在 192.168.120.X 范围内的客户 eth1 的 IP 地址,如果没有,请尝试刷新或静态设置该 IP 地址。

完成上述操作后,尝试使用新的 192.168.120.x 范围 IP 地址通过 SSH 进入虚拟网络。您应该会成功。如果此方法有效,但不是您想要实现的,请更具体一些,也许我可以为您提供一些正确的指导。

相关内容