我在使用桥接适配器配置设置网络连接时遇到了一些问题。我刚刚开始使用 Linux,即使我浏览了网络上不同的论坛讨论,我仍然无法让它工作。NAT 工作正常,我可以访问互联网,而使用桥接适配器时网络无法访问,尽管我需要它来实现我想要的应用程序。
我的设置如下:
VirtualBox 5, 主持人:Windows 10, 客人:Ubuntu 14.04 LTS
在这里您可以详细查看我的配置
VirtualBox 网络配置 除了 RealTek 之外,我还可以使用:Qualcomm Atheros AR946x 无线网络适配器。然而问题依然存在,因为看起来我的网络没有工作。
如果是否配置命令:
giulio@giulio-VirtualBox:~$ ifconfig
eth0 Link encap:Ethernet HWaddr 08:00:27:f5:87:2f
inet6 addr: fe80::a00:27ff:fef5:872f/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:88 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:24737 (24.7 KB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:161 errors:0 dropped:0 overruns:0 frame:0
TX packets:161 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:11409 (11.4 KB) TX bytes:11409 (11.4 KB)
/etc/network/interface 看起来像这样:
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
这是整体网络设置的屏幕截图。对于 IPv4 设置,我使用自动 (DHCP),而对于 IPv6,我设置为“忽略”。
我希望有人能看看并帮助我,谢谢! Giulio
答案1
我尝试让它与桥接一起工作,经过大量的故障排除后,它成功了。
主要问题是我的客户操作系统发送的数据包具有与主机操作系统不同的 MAC 地址。
因此流量在 wifi 网关处被丢弃。
解决方案是更改客户操作系统中的 MAC 地址,并使客户操作系统和主机操作系统具有相同的 MAC。
脚步:
关闭虚拟机
转到设置->网络->高级并删除 mac 地址。
检查主机的 mac 地址(ifconfig -a 或 ipconfig /all)并在步骤 2 中的选项中更新相同的地址。
保存设置并启动虚拟机,它应该可以工作并且可以访问互联网:)
答案2
我刚刚在 Pop!_OS 19.10(运行 Debian 10 客户机)上遇到了这个问题。
太长不看:sudo modprobe vboxnetflt
在主机上运行修复了该问题。
问题似乎是内核模块vboxnetflt
没有加载。
当我第一次启动虚拟机时,它提示我加载,vboxdrv
我照做了,成功了。我没有(现在也没有)重新启动主机来查看是否有什么变化。
运行“NAT”网络有效,我尝试将其更改为“桥接适配器”,但收到“网络激活失败”的提示。我多次重启,VirtualBox 均未出现错误。只有当我完全关闭虚拟机(尝试 @IamSushil 的解决方案)时,才会出现启动错误,这导致我找到了此解决方案。
答案3
首先:桥接配置不适用于 Wi-Fi。
因此,您无法将 Qualcomm Atheros AR946x 桥接到您的虚拟机,但您可以使用 Realtek 适配器,我可以看到您只显示 Ubuntu 配置和虚拟机配置,但问题可能出在 Windows 上。
我建议您了解您的 Windows 网络是如何配置的,以使其正常工作。
也许这可以帮助你找到问题: https://stackoverflow.com/questions/31922055/bridged-networking-not-working-in-virtualbox-under-windows-10
答案4
您需要添加一条到默认网关的路由:
sudo bash
route add default gw 192.168.0.X
检查并更改nano /etc/reslov.conf
以将其设置为 Google DNS。它不是持久的,因此可能需要在启动时运行脚本。
最后,将 IP 更改为网络上未使用的任何其他 IP,包括主机:
ifconfig [interface] down
ifconfig [interface] 192.168.0.X netmask 255.255.255.0 broadcast 192.168.0.255
ifconfig [interface] up