unbuntu 下 virtualbox 虛擬機 redhat 橋接網絡

 很久沒用虛擬機了,昨天安裝了源裏的VirtualBox,發現窗口標題中多了一個“OSE”的字串,也沒有太在意。安裝的時候用的是NAT方式 的網絡連接,裝完系統後卻發現Guest無法上網,去查網絡配置,一切都正常,Guest可以通過DHCP獲得IP地址,但是地址和網關卻很怪,都是 “10.0.0.x”,而且無法Ping通外網。

    到VirtualBox的官方網站上去看了一下,原來最近VBox改變了一下發行策略,分成了一個閉源版本和一個開源版本,開源版本比閉源版本功能少一些,不過閉源版本也是免費的,而OSE就是“Open Source Edition”的簡稱。

    雖然在兩個版本功能差異的列表中 沒有找到和網絡相關的內容,最終我還是下載並安裝了閉源版本。再次啓動Guest,奇蹟沒有發生,無奈之下,只好決定使用橋接網絡。橋接網絡和NAT的主 要區別表現在,NAT很簡單,只需在VirtualBox中選擇使用NAT方式,然後在Guest中選擇自動獲取Ip地址即可,它其實是使用Host的網 絡連接,因此在網絡中並不作爲一個獨立個體存在;而橋接方式則是使Guest可以獲得自己的IP,從而在網絡上作爲獨立個體與Host並列,這種方式靈活 而且不受Host的限制和影響,缺點就是配置起來相對較麻煩。

    VirtualBox的橋接網絡是和VMWare的Bridged方式一樣的東西,但和它不同,VirtualBox的Windows版和Linux版配置橋接網絡的方式有所不同,這裏只介紹Linux下怎樣配置VirtualBox的橋接網絡。

    首先要安裝兩個用於橋接網絡的庫,Ubuntu下使用下述命令安裝這兩個庫:

sudo apt-get install uml-utilities bridge-utils

    之後,系統中會出現一個名爲“uml-net”的用戶組,使用下述命令將運行虛擬機的用戶添加到該組中:

sudo gpasswd -a user_name uml-net

    將上面的“user_name”替換成運行虛擬機的用戶的用戶名,然後編輯網絡接口的配置文件:

sudo vi /etc/network/interfaces

    在文件的最後或者開頭,添加下面一段:

auto tap0
iface tap0 inet manual
up ifconfig $IFACE 0.0.0.0
down ifconfig $IFACE down
tunctl_user user_name

上面的配置信息的意思是,設定虛擬網絡接口的名字爲“tap0”;其IP配置方式爲手動;指定使用此接口的用戶爲“user_name”。然後要配置一個橋,同樣在上述配置信息的下方添加如下內容:

auto br0
iface br0 inet dhcp
bridge_ports all tap0

    此段配置信息的意思是,建立名爲“br0”的橋,它獲取IP的方式是通過DHCP自動獲取,本機所有網絡接口,包括“tap0”虛擬接口都將建立在這個橋之上。如果希望手動指定IP,可以將上面的配置信息替換成如下內容:

auto br0
iface br0 inet static
address 192.168.0.5
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1

    上面的配置信息設置該橋的IP爲“192.168.0.5”。

    將該文件保存,重新啓動系統,然後在虛擬終端中輸入如下命令啓用此橋接網絡,此命令只需執行一次:

sudo /sbin/ifup br0
sudo /sbin/ifup tap0

    打開打開 VirtualBox,在列表中選中Guest系統,然後點擊工具欄上的“設置”->“網絡”,在列出的幾個網絡適配器中隨便選擇一個,一般只用一 個“網絡適配器0”,點選“啓用網絡適配器”;然後在“連接到”後的下拉列表中選擇“Host Interface”,同時確保“接入網線”處於選中狀態;然後在“主機網絡界面名稱”中填寫“tap0”;其餘的不用管。點“確定”後啓動Guest, 設置系統的IP爲自動獲取即可使橋接網絡生效了。

    如果要禁用該網橋,首先使用如下命令:

sudo /sbin/ifdown br0
sudo /sbin/ifdown tap0

    然後將/etc/network/interfaces文件中上面添加的配置信息刪除即可。

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