1. 程式人生 > >VirtualBox多個虛擬機器時網路設定

VirtualBox多個虛擬機器時網路設定

  • 環境:主機Win7 + VirtualBox + Ubuntu14.04 + Ubuntu16.04

      使用VirtualBox安裝虛擬機器時,網路配置我們一般選擇雙網絡卡,一個用於虛擬機器與外部通訊(NAT),另一個用於與主機通訊(Host-Only),通過VirtualBox手冊我們可以看到這麼做的合理性:

Host-Only:可以實現與主機和其他虛擬機器互相通訊

NAT:可以實現自身與外部進行通訊

對每臺虛擬機器裝置進行一下設定:

新增第一塊網絡卡:NAT模式

新增第二塊網絡卡:Host-Only模式

在虛擬機器系統中可以檢視

Ubuntu14.04:

Ubuntu16.04:

由上圖可知每個虛擬機器可以 ping通外部網路,主機(192.168.56.199),其他虛擬機器。

以上為每個網絡卡自動獲取IP,即DHCP

Host-Only是為了和主機和其他虛擬機器通訊,我們希望每臺虛擬機器有固定的IP,因此我們將Host-Only網絡卡設定為靜態IP模式,可以用以下方式設定:

1.通過介面設定,點選右上角的網路圖示,選擇編輯,然後進入下面介面,進入IPv4設定,選擇手動設定:

2.通過網路配置檔案設定,Ubuntu在/etc/network/interfaces中編輯對應的Host-Only介面(我的Ubuntu14.04為eth1,16.04為enps8):

Ubuntu14.04:

auto eth1
iface eth1 inet static
address 192.168.56.101
netmask 255.255.255.0
gateway 192.168.56.1

 Ubuntu16.04:

​auto enp0s8
iface enp0s8 inet static
address 192.168.56.102
netmask 255.255.255.0
gateway 192.168.56.1

 設定好後,重啟網路服務:service network-manager restart 或者重啟機器

 再次開機後檢視網路,發現問題:

只有一臺虛擬機器能連上外部網路了,另一臺只能ping通主機和其他虛擬機器

解決方法:取消閘道器設定,即gateway預設即可

將 gateway 192.168.56.1去掉後其他不變然後重啟

auto enp0s8
iface enp0s8 inet static
address 192.168.56.102
netmask 255.255.255.0
# gateway 192.168.56.1

再次測試通過:

原因:雙網絡卡時設定Host-Only閘道器後,重啟機器,外部網路連線預設使用Host-Only設定的閘道器而非NAT自動獲取的閘道器

歡迎討論!