實戰VMware的三種網絡模式

一、實驗目的

最近在使用VMware搭建虛擬網絡環境時遇到了很多問題,經過對VMware網絡模式的一番學習和實戰,總算是對其有了一定的認識。所以決定完成一次比較完整的針對VMware網絡配置的實驗,並寫下這篇博客記錄整個實驗的過程。在進行虛擬機實驗時,我們往往關注下面這三個問題:

虛擬機和主機能不能互相訪問

虛擬機能不能訪問Internet

外部網絡如何訪問虛擬機中的服務

我們會通過後面的實驗分別利用VMware的不同網絡模式來解決這三個問題。VMware提供了三種不同的網絡模式,分別是Bridged(橋接模式)、NAT(網絡地址轉換模式)、Host-only(主機模式)。不同的網絡模式適用於不同的網絡環境,實現不同的需求,你需要根據實際情況選擇合適的模式。 就網絡環境來說,我們常見的家庭網絡拓撲結構有下面兩種:

主機通過撥號直接連接Internet

主機處於局域網環境中,通過路由器撥號連接Internet

如果你是屬於第一種網絡環境,由於是ISP分配你的公網IP(假設只有一個地址),則不能使用橋接模式,因為橋接模式需要你擁有屬於你機器相同網段內的另一個IP地址。這種情況下可以使用NAT和Host-only。而如果是屬於第二種網絡環境,則三種模式可以任意選用。 就需求來說,你可能只是想簡單配置一個虛擬機來玩玩,也可能是為局域網內的其他機器提供服務,或者是進行一些特殊目的的網絡實驗,這個就要具體情況具體對待了。

二、實驗環境

本次實驗軟硬件環境如下:

操作系統:Windows 7 旗艦版(32位)

CPU:Intel(R) Core(TM) i3

內存:4G

虛擬機:VMware® Workstation 8.0.0 build-471780

網絡環境為家庭局域網,由路由器通過PPPOE撥號上網,如下圖所示:

實戰VMware的三種網絡模式

三、實驗步驟

瞭解了我們的需求和網絡環境之後,就開始我們的實驗之旅吧。首先是下載並安裝VMware Workstation,然後下載虛擬機上需要的操作系統鏡像,並安裝到虛擬機中。我這裡創建了三個虛擬機,分別是Windows XP、Ubuntu和Backtrack操作系統。

3.1 橋接模式

橋接模式是三種模式中最簡單的一種,VMware安裝的時候默認就使用這種配置方式。在這種模式下,虛擬機相當於局域網中的一臺獨立機器,和主機處於同一個網段,公用同一個網關。橋接模式使用的是虛擬機的VMnet0網卡,一般情況下,在虛擬機中將網絡設置成自動獲取IP就能直接聯網。示意圖如下:

實戰VMware的三種網絡模式

在橋接模式下,虛擬機和主機可以互相ping通,虛擬機可以訪問Internet,虛擬機上的服務也可以通過虛擬機IP地址在本機直接訪問,如果有任何問題,可以按下面的步驟檢查各個配置:

檢查本地連接的屬性裡,是否勾選了VMware Bridge Protocol,如果沒勾選上,則虛擬機和本機不能互相ping通,如下圖:

實戰VMware的三種網絡模式

檢查虛擬機的IP地址,看是否和本機處於同一個網段內,如果不是,可以手工設置下IP地址,網關和DNS服務器配置可以參考本機,和本機一樣即可

檢查本機防火牆和虛擬機防火牆

3.2 NAT模式

上面也說了,如果你不在局域網內,只有一個IP,那麼NAT模式正適合你。當然如果你在局域網內,NAT模式也未嘗不可,不過使用NAT模式後,主機就變成了雙網卡:本身的網卡連接Internet或連接撥號的路由器,另一個虛擬網卡VMnet8連接由虛擬機組成的一個虛擬網絡。從外部網絡來看,無法直接訪問這個虛擬網絡。虛擬網絡則通過本機上的NAT虛擬服務器進行轉發訪問Internet。示意圖如下:

實戰VMware的三種網絡模式

NAT模式是讓虛擬機實現訪問Internet最快的方式,幾乎不用任何配置,只要主機能上網,那麼虛擬機也就肯定能上網。如果有任何問題,可以通過下面的步驟進行排查:

檢查主機上VMware的NAT服務和DHCP服務是否開啟,如下圖:

實戰VMware的三種網絡模式

檢查虛擬機的IP地址,是否和虛擬機NAT配置的Subnet Address在同一個網段內,選擇Edit -> Virtual Network Editor可以看到NAT的配置信息

檢查主機和虛擬機的防火牆設置 默認情況下,NAT配置好之後,主機和虛擬機之間應該可以互相訪問,虛擬機也可以藉助主機上的NAT訪問Internet,但是外部網絡無法訪問虛擬機上的服務。如果需要讓同一個局域網內的其他機器(譬如:192.168.0.100)訪問虛擬機上的WEB服務,可以通過NAT的端口轉發(Port Forwarding)功能來實現,如下圖。

實戰VMware的三種網絡模式

3.3 Host-only模式

Host-only模式和NAT一樣,也相當於主機雙網卡,網絡拓撲和NAT也是一樣,只是主機不提供NAT功能了,所以虛擬網絡只能和主機訪問,不能訪問Internet。如果需要一個完全隔離的網絡環境,則Host-only最合適不過。Host-only相當於使用雙絞線直接連接虛擬機和主機,這是最原始的網絡結構,當然也是最靈活的。這種情況下虛擬機就不能訪問Internet了嗎?局域網下的其他機器就不能訪問虛擬機上的服務了嗎?當然不是。如果我們自己在主機上搭建起我們自己的NAT服務和DHCP服務,那麼Host-only其實和NAT是一樣的。從下面的示意圖也可以看出,Host-only和NAT的唯一區別就在於,主機上少了NAT這個部分。

實戰VMware的三種網絡模式

類似於NAT,具體的配置這裡略過。下面通過Windows上的ICS服務(Internet Connection Sharing,Internet連接共享)來實現Host-only模式的虛擬機訪問Internet。ICS是Windows上的一種共享網絡訪問的服務,類似於mini版NAT,提供了NAT地址轉換和DHCP的功能,但不支持端口轉發(Port Forwarding)。 首先在網絡連接裡找到當前正在使用的連接,選擇屬性 -> 共享,選中“允許其他網絡用戶通過此計算機的Internet連接來連接”,然後在網絡連接下拉框中選擇Host-only對應的虛擬網卡(這裡是VMnet1),如下圖:

實戰VMware的三種網絡模式

在確定的時候,可能會彈出對話框提示錯誤:“Internet連接共享訪問被啟用時,出現了一個錯誤(null)”,這時去服務中找到Windows Firewall,啟動即可。 ICS配置好之後,Host-only就和NAT一樣了,在虛擬機中設置自動獲取IP或手工設置IP,保證和VMnet1處於同一個網段內,如果一切順利,就可以在虛擬機中訪問Internet了。

四、總結

通過這次的實驗,重新學習並鞏固了計算機網絡的相關知識。特別是NAT和Port Forwarding,是網絡管理中很重要的手段。雖然模式各不相同,但是在局域網環境下,通過各種技術手段,最終都能實現相同的目的:虛擬機和主機互相訪問(三種模式都可以),虛擬機訪問Internet(Bridged和NAT直接可以訪問,Host-only通過ICS也可以),外網訪問虛擬機上的服務(Bridged直接訪問,NAT通過端口轉發也可以,Host-only通過架設自己的NAT服務也應該可以)。 本次實驗環境比較簡單,也沒有考慮雙網卡的情況,可以參考下面的鏈接進一步研究。


分享到:


相關文章: