
我正在嘗試使用虛擬機器來橋接 VirtualBox 內部網路和主機網路之間的連線。
這樣做的目的是能夠對連接進行防火牆處理,而無需將訪客配置為使用特定的網關或代理。這是我正在做的一些自動化測試的一部分。
我目前的設定如下所示:
{Internet} <=> Host <=VBox Bridged-eth0=> Bridge VM <=eth1-Internal Network=> Internal VM
主機和虛擬機器上的作業系統為 Ubuntu 16.04。
Bridge VM
有eth0
和eth1
.這兩個介面透過bridge-utils 橋接。當我使用 NAT 而不是橋接網路時,橋接器可以工作。我的意思是,我可以從 時間 ping Google Internal VM
,但不能從 時間eth0
ping Google 。在這兩種模式下,我都可以透過 DHCP 取得 IP,因此(某些?)廣播似乎可以工作,但 arp 解析不起作用(arp 命令在一段時間後返回空,路由不知道網關的 mac)。NAT
Bridged
誰能解釋為什麼會發生這種情況?我假設這是 VirtualBox 軟體網路設備的一些限制?我希望有一種方法可以解決這個問題,因為我需要能夠從我的主機存取所有虛擬機,同時仍然能夠Bridge VM
使用透明防火牆來阻止它們的連接。
謝謝。
答案1
我在所有適配器上將混雜模式更改為“允許全部”,現在它可以工作了。我不知道為什麼我第一次沒有嘗試這個;睡眠有奇蹟。