最近搗鼓虛擬機器bridge方式連網費了不少時間,原因有兩個:一是剛接觸到linux,各種操作不熟悉,基本還沒有入門;而是學校的上網方式比較特殊(校園網路+BRAS:寬頻遠程接入服務裝置)。並且網路上的資料都是在比較通用的寬頻連線的環境下,沒有具體相關細節。在苦苦尋求的時候,大膽的設定了一下IP,沒想到通啦。。。。。。生活就是這樣,無意間充滿驚喜。廢話少說,下面進入正題。
環境簡介:
主機OS:Win7
網路:有線
虛擬機器:VMware 8.0.2
OS:Ubuntu 12.0.4
註:
Ubuntu貌似預設上網方式是NAT,如果你最初設定網卡的時候選擇了NAT方式(對應虛擬交換器:VMnet8),則不用任何操作即可上網(當然前提是主機要能上網)。
步驟: 假設虛擬機器和Ubuntu OS已成功安裝
(1)虛擬機器Network Adapter設定Bridge方式----對應虛擬交換器:VMnet0
工作原理:
Bridge方式,即橋接。把虛擬機器看成和主機在同一個網段的另一台物理主機。從這句話我們可以得出以下資訊:
I、虛擬機器 IP地址與主機在同一網段
II、虛擬機器 子網路遮罩、網關以及DNS伺服器位址與主機相同
為了更清晰的明白這一點,可看其網路拓撲:
開始設定:
開啟虛擬機器,點擊“Network Adapter”選項,在“Network connection”下面選擇“Bridged...”
點擊虛擬機器上部的“Edit”選項,選擇“Virutal Network Editor...",然後再開啟的Virutal Network Editor中選中"VMnet Information"下面的Bridged,並設定Bridged to 主機的網卡(不能設定為“Automatic”)。
(2)設定虛擬機器 IP地址
登陸到Ubuntu,修改interfaces檔案
cd /etc/network
vim interfaces
設定如下:
auto eth0
iface etho inet static
address 10.3.7.201 (主機IP地址:10.3.7.200 )
netmask 255.255.252.0 (與主機相同)
network 10.3.4.0 (與主機相同)
broadcast 10.3.7.255 (與主機相同)
gateway 10.3.4.1 (與主機相同)
(3)設定虛擬機器 DNS伺服器位址
註:
這裡有個細節,一般認為,設定dns伺服器位址,需在resolv.conf檔案中,但是稍後您會發現,每次重啟Ubuntu,resolv.conf修改的內容全部被清除,即被置空。
解決辦法:找到resolv.conf的源頭
cd /etc/resolvconf/resolv.conf.d
在此目錄下有四個檔案:base, head, original, tail.
在tail(如果沒有此檔案,則建立一個)中加入DNS伺服器其地址。
vim tail
設定如下:
nameserver xx.xx.xx.xx (與主機相同)
nameserver xx.xx.xx.xx (與主機相同)
註:您還可以發現,此目錄下的head檔案中內容與resolv.conf一樣。重啟後,resolv.conf內容將為head內容 + tail內容。
(4)重啟網路並測試連通性
/etc/init.d/networking restart
此時可以測試下主機與虛擬機器之間的連通性:
在虛擬機器下:ping 10.3.7.200 ,也可以嘗試ping 10.3.4.1 (網關)
通。。。
在主機下: ping 10.3.7.201
通。。。
--------------------------------------------------------------------------------------------------------------------------------------------
此時還可以測試一下虛擬機器與校園網的連通性 :ping www.seu.edu.cn (學校首頁網域名稱)
通。。。
---------------------------------------------------------------------------------------------------------------------------------------------
註:
此時僅僅是區域網路主機與虛擬機器的內部互連了,雖然主機能連通Internet,但虛擬機器還無法連通Internet。
要使虛擬機器也能上網,需要在主機上設定“網際網路串連共用(ICS)”,即把寬頻連線設定為“共用”,使虛擬機器共用主機的Internet串連。(詳細內容可以參考 http://blog.csdn.net/heyabo/article/details/7726522)
故下面還要繼續操作:
(5)設定主機的Internet串連(即寬頻連線,由於情況特殊,本人的為BRAS串連,但功能都是相同的)為共用方式
首先,按照常規的網際網路串連共用設定共用
然後,設定客戶機(此處指虛擬機器)的TCP/IP串連時,需要根據具體情況來設定,可設定為動態擷取,也可以設定為與主機同一網段的靜態IP地址。
此處,選擇後者。由於此時在“寬頻連線”設定為共用後,主機的“本地串連”的IP地址被設定成192.168.137.1.按照常規思想的話,接下來,需要將前面的虛擬機器的IP地址重新設定為與192.168.137.1在同一網段,並設定虛擬機器網關為1982.168.137.1.
但是:考慮到自身的具體情況:上網方式為校園網+BRAS(需配置準確靜態IP以及網關、DNS等才可連網)。如此時將主機的“本地串連”的IP地址被設定成192.168.137.1,則主機將無法連網,從而到時虛擬機器也無法連網,也即沒有了後續......故主機必須要上網,而主機要上網,就必須設定為學校給定的IP網段,網關、DNS等
解決辦法:
考慮到 ICS 的思想:同一網段內的多台電腦共用Internet串連,即保持主機和虛擬機器同一網段是關鍵。
產生一個想法:在主機的“本地串連”被修改後,保持“寬頻連線”(此處為Bras串連)的“共用”方式,但強制將“本地串連”恢複到為原來的設定------先將主機上網,然後考慮虛擬機器的連通性。
主機可以連網。
(5)重啟網路
/etc/init.d/networking restart
此時發現,虛擬機器能和以前一樣,仍能與內部主機互連,並能串連內部校園網。
即主機連通外部網路且設定ICS + 虛擬機器連通內部網路---->主機、虛擬機器共用Internet,二者均可上網。
(6)測試
在“共用”後
測試與主機連通性: ping 10.3.7.200 通。
測試與校園網的連通性: ping www.seu.edu.cn 通。
測試與Internet連通性: ping www.google.com 通。
結論:選擇Bridge方式上網,關鍵在於使主機與虛擬機器在同一網段,而關於具體的IP地址並不是重點。