![Virtualbox 主机无网络连接,客户虚拟机可以正常浏览](https://linux22.com/image/1372585/Virtualbox%20%E4%B8%BB%E6%9C%BA%E6%97%A0%E7%BD%91%E7%BB%9C%E8%BF%9E%E6%8E%A5%EF%BC%8C%E5%AE%A2%E6%88%B7%E8%99%9A%E6%8B%9F%E6%9C%BA%E5%8F%AF%E4%BB%A5%E6%AD%A3%E5%B8%B8%E6%B5%8F%E8%A7%88.png)
我刚刚注意到以下情况。我使用 Ubuntu 13.04 桌面作为 Virtualbox 主机。在主机上我配置了两个以太网连接。只有一张网卡,网线连接到一个正常工作的路由器。我用它来切换配置,因为有时我使用此桌面登录具有不同网络范围的第二个路由器。我将网线切换到第二个路由器,在 Ubuntu 中切换网络连接,然后就可以登录了。
今天 Ubuntu 在我没注意的时候切换了连接。网线仍然连接到普通路由器。我启动了 Virtualbox,在客户操作系统上启动了浏览器,可以浏览互联网。在主机上我无法浏览互联网。过了一会儿,我注意到连接已经切换。将其恢复正常后,一切都正常了。
我认为所有网络流量都会通过主机操作系统,因此主机防火墙规则和连接设置会限制客户机,但显然事实并非如此。
有人能解释一下这是怎么回事吗?这对 Windows 或 OSX 也有效吗?我目前无法测试,但如果有人想尝试的话我感兴趣。
答案1
听起来您的虚拟机配置为使用桥接适配器模式的网络。当它使用桥接适配器时,我喜欢将其视为直接连接到您的网络,因此 - 主机网络和防火墙规则通常不适用(至少根据我的经验)。以下是 Virtualbox 网站上关于桥接网络的描述。希望这对您的探索有所帮助 :-)
使用桥接网络时,VirtualBox 使用主机系统上的设备驱动程序来过滤来自物理网络适配器的数据。因此,此驱动程序称为“网络过滤器”驱动程序。这允许 VirtualBox 拦截来自物理网络的数据并将数据注入其中,从而有效地在软件中创建一个新的网络接口。当客户机使用这种新的软件接口时,主机系统会认为客户机使用网络电缆物理连接到接口:主机可以通过该接口向客户机发送数据并从中接收数据。这意味着您可以在客户机和网络的其余部分之间设置路由或桥接。