Virtualbox虛擬機網絡配置(NAT + Host-only - Bridged)

原文地址: http://www.luokr.com/p/12


日常工作中,常常會用虛擬機,在裏面安裝Server,搭建服務端環境供開發調試,這種使用場景一般都需要虛擬機能夠正常訪問外部網絡,同時宿主機必須可以訪問虛擬機。在Virtualbox中,虛擬機訪問外部網絡一般是使用配置起來最簡單的NAT模式,但純NAT模式下,宿主機不能訪問虛擬機,必須使用Bridged或者Host-only模式纔可以。在這兩個模式下,虛擬機都可以獲得一個可用的IP地址,宿主機通過該IP地址即可訪問虛擬機。

關於Virtualbox的網絡接入模式,不瞭解的同學可以自行Google一下,這部分資料其實都挺齊全的,這篇文章主要是簡單的介紹(記錄)一下在Virtualbox虛擬機中使用NAT模式訪問外部公共網絡(互聯網),再結合Host-only模式,令宿主機同時可以用虛擬機的靜態IP地址訪問虛擬機的配置實現。該配置相對於單純使用Bridged模式的好處在於:即使沒有外部公用網絡,宿主機也可以無障礙的訪問虛擬機,不會影響使用。

在Bridged模式下,虛擬機和宿主機處於同等地位,就像是一臺真實主機一樣存在於局域網中,可以分配到一個網絡中獨立的IP,所有網絡功能都和在網絡中的真實機器一樣,網絡中的其它機器(包括宿主機)也可以訪問到這臺虛擬機。同時,如果網絡斷開,即便虛擬機和宿主機其實是在一臺物理機器上,宿主機也不能夠訪問虛擬機。而Host-only模式,可以理解爲Virtualbox在宿主機中模擬出一張專供虛擬機使用的網卡,所有虛擬機都是連接到該網卡上的,虛擬機可以通過該網卡IP訪問宿主機,同時Virtualbox提供一個DHCP服務,虛擬機可以獲得一個內部網IP,宿主機可以通過該IP訪問虛擬機。如果單純使用Host-only模式,則虛擬機不能連接外部公共網絡。

在有外部網絡的情況下,假如需要將虛擬機開放給網絡中的其它機器訪問,比如讓同事連上虛擬機做開發測試等工作,那麼就可以直接使用Bridged模式,該模式也僅需要佔用公共網絡中的一個IP地址,但日常使用環境中,有時候不一定有公共網絡可以用,假如使用Bridged模式,則虛擬機連不上,開發工作也做不了,此時Host-only模式就是一個不錯的選擇,若是再配合NAT模式,則外部公共網絡可用時,虛擬機也可以訪問外部公共網絡。

下面簡單介紹下使用這幾個模式時需要做的相關配置。

首先在Virtualbox中的全局配置(呼出快捷鍵ctrl+g)界面的網絡配置中,點擊右側添加按鈕,增加一個Host-only網絡。查看該網絡的詳情,可以看到:

可以看出,該網絡是192.168.56.0,可供分配使用的IP地址是192.168.56.101 - 192.168.56.254。

打開虛擬機的網絡配置,將網卡1的連接方式選爲“網絡地址轉換(NAT)”,網卡2的連接方式選爲“僅主機(Host-only)適配器”,如下圖所示:

假如使用Bridged模式,則需要將連接方式選爲“橋接網卡”。

保存後,啓動虛擬機,虛擬機以Ubuntu server 12.04爲例,打開配置文件 /etc/network/interfaces 加入如下配置:

  1. # The loopback network interface
  2. auto lo
  3. iface lo inet loopback
  4. # The primary network interface
  5. auto eth0
  6. iface eth0 inet dhcp
  7.  
  8. # Virtualbox Host-only mode
  9. auto eth1
  10. iface eth1 inet static
  11. address 192.168.56.190
  12. netmask 255.255.255.0
  13. network 192.168.56.0
  14.  
  15. # Virtualbox Bridged mode
  16. #auto eth1
  17. #iface eth1 inet static
  18. #address 192.168.0.190
  19. #netmask 255.255.255.0
  20. #gateway 192.168.0.1

該配置將虛擬機在內部網絡中的IP地址設置爲靜態分配(192.168.56.190),方便宿主機在hosts中綁定該IP訪問虛擬機。保存配置後,執行如下命令重啓網絡服務:

  1. $ sudo /etc/init.d/networking restart

即可實現虛擬機使用NAT通過宿主機來正常訪問外部網絡,同時因爲使用了Host-only模式,宿主機可以通過虛擬機在內部網絡的IP地址訪問虛擬機,即使外部網絡不可用也不影響宿主機對虛擬機的訪問。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章