我正在尝试使用虚拟机来桥接 VirtualBox 内部网络和我的主机网络之间的连接。
这样做的目的是能够防火墙连接,而无需配置客户机使用特定的网关或代理。这是我正在进行的一些自动化测试的一部分。
我当前的设置如下:
{Internet} <=> Host <=VBox Bridged-eth0=> Bridge VM <=eth1-Internal Network=> Internal VM
Ubuntu 16.04 是主机和虚拟机上的操作系统。
Bridge VM
有eth0
和eth1
。这两个接口通过 bridge-utils 进行桥接。当我使用 NAT 而不是桥接网络时,桥接器可以正常工作。我的意思是,Internal VM
当eth0
是时NAT
,我可以从 ping Google,但当 是 时,则不能Bridged
。在两种模式下,我都可以通过 DHCP 获取 IP,因此(某些?)广播似乎可以工作,但 arp 解析却不行(arp 命令在一段时间后返回空,路由不知道网关的 mac)。
有人能解释一下为什么会发生这种情况吗?我认为这是 VirtualBox 软件网络设备的一些限制?我希望有办法解决这个问题,因为我需要能够从我的主机访问所有虚拟机,同时仍然能够用这个Bridge VM
透明防火墙阻止它们的连接。
谢谢。
答案1
我把所有适配器上的混杂模式改为“允许所有”,现在它起作用了。我不知道为什么我没有第一次就尝试这个;睡眠确实有奇效。