如果我將虛擬機器配置為與主機位於不同的子網路中,是否有任何方法可以讓虛擬機器可存取主機?
我不期望主機處理資料包,我只是想知道在這種情況下,是否有任何方法可以使來自我的虛擬機器的資料包到達我的主機?
設定:CentOS 6.5 VM 在 Oracle VirtualBox 中的 Windows 7 主機上運作。
我剛剛嘗試了以下場景:
- 將不同子網路的靜態 IP 指派給我的虛擬機器的橋接網路介面卡。
- 從虛擬機器 Ping 此子網路的第一個位址。
ping 到達我的Windows 主機。但不其他 ping 到達我的 Windows 主機。有一些解決方法嗎?
答案1
根據您的意見,我會提出類似的建議:
┌──────┐ ┌────────┐ ┌────────┐
│ HOST ├── VMnet0 ──┤ GUEST1 ├── VMnet1 ──┤ GUEST2 │
└──────┘ └────────┘ └────────┘
GUEST1
可以透過 VMnet0 存取 Internet,例如橋接/僅主機/NAT。但我更喜歡僅主機,因為兩者HOST
都能GUEST1
看到對方(有不同的 IP),而且它比橋接更有效。 Host-only 也可以使用 Windows Bridge 機制與任何網路介面進行橋接。
您可以使用 ICS 提供 Internet,但必須關閉 VMnet Host-only 的預設內建 DHCP 伺服器。您可以使用以下命令將其關閉:
VBoxManage.exe list dhcpservers
VBoxManage.exe dhcpserver remove --netname "HostInterfaceNetworking-VirtualBox Host-Only Ethernet Adapter"
GUEST2
透過 VMnet1 路由存取 Internet GUEST1
。我認為它應該是 Host-only 且 DHCP 關閉。