橋接模式、NAT模式、僅主機模式理解

在使用VMware Workstation(以下簡稱:VMware)創建虛擬機的過程中,配置虛擬機的網絡連接是非常重要的一環,當我們爲虛擬機配置網絡連接時,我們可以看到如下圖所示的幾種網絡連接模式:橋接模式、NAT模式、僅主機模式、自定義網絡連接模式。那麼這幾種網絡連接模式都各自有什麼主要用途,它們之間又有哪些區別呢?

  磨刀不誤砍柴工,爲了更好地使用虛擬機,瞭解這幾種連接模式的主要用途以及它們之間的區別是非常有必要的。在這裏,我們就以下面的網絡連接示意圖爲例來進行相關介紹。

  在VMware中,虛擬機的網絡連接主要是由VMware創建的虛擬交換機(也叫做虛擬網絡)負責實現的,VMware可以根據需要創建多個虛擬網絡。在Windows系統的主機上,VMware最多可以創建20個虛擬網絡,每個虛擬網絡可以連接任意數量的虛擬機網絡設備;
  在Linux系統的主機上,VMware最多可以創建255個虛擬網絡,但每個虛擬網絡僅能連接32個虛擬機網絡設備。
VMware的虛擬網絡都是以"VMnet+數字"的形式來命名的,例如 VMnet0、VMnet1、VMnet2……以此類推(在Linux系統的主機上,虛擬網絡的名稱均採用小寫形式,例如 vmnet0 )。
  當我們安裝VMware時,VMware會自動爲3種網絡連接模式各自創建1個虛擬機網絡:VMnet0(橋接模式)、VMnet8(NAT模式)、VMnet1(僅主機模式)。此外,我們也可以根據需要自行創建更多的虛擬網絡。

VMware 橋接模式

  VMware橋接模式,也就是將虛擬機的虛擬網絡適配器與主機的物理網絡適配器進行交接,虛擬機中的虛擬網絡適配器可通過主機中的物理網絡適配器直接訪問到外部網絡(例如圖中所示的局域網和Internet,下同)。簡而言之,這就好像在上圖所示的局域網中添加了一臺新的、獨立的計算機一樣。因此,虛擬機也會佔用局域網中的一個IP地址,並且可以和其他終端進行相互訪問。橋接模式網絡連接支持有線和無線主機網絡適配器。如果你想把虛擬機當做一臺完全獨立的計算機看待,並且允許它和其他終端一樣的進行網絡通信,那麼橋接模式通常是虛擬機訪問網絡的最簡單途徑。

VMware NAT模式

  NAT,是Network Address Translation的縮寫,意即網絡地址轉換。NAT模式也是VMware創建虛擬機的默認網絡連接模式。使用NAT模式網絡連接時,VMware會在主機上建立單獨的專用網絡,用以在主機和虛擬機之間相互通信。虛擬機向外部網絡發送的請求數據"包裹",都會交由NAT網絡適配器加上"特殊標記"並以主機的名義轉發出去,外部網絡返回的響應數據"包裹",也是先由主機接收,然後交由NAT網絡適配器根據"特殊標記"進行識別並轉發給對應的虛擬機,因此,虛擬機在外部網絡中不必具有自己的IP地址。從外部網絡來看,虛擬機和主機在共享一個IP地址,默認情況下,外部網絡終端也無法訪問到虛擬機。

  此外,在一臺主機上只允許有一個NAT模式的虛擬網絡。因此,同一臺主機上的多個採用NAT模式網絡連接的虛擬機也是可以相互訪問的。

  前面我們已經提到,默認情況下,外部網絡無法訪問到虛擬機,不過我們也可以通過手動修改NAT設置實現端口轉發功能,將外部網絡發送到主機指定端口的數據轉發到指定的虛擬機上。比如,我們在虛擬機的80端口上"建立"了一個站點,只要我們設置端口轉發,將主機88端口上的數據轉發給虛擬機的80端口,就可以讓外部網絡通過主機的88端口訪問到虛擬機80端口上的站點。

VMware 僅主機模式

  僅主機模式,是一種比NAT模式更加封閉的的網絡連接模式,它將創建完全包含在主機中的專用網絡。僅主機模式的虛擬網絡適配器僅對主機可見,並在虛擬機和主機系統之間提供網絡連接。相對於NAT模式而言,僅主機模式不具備NAT功能,因此在默認情況下,使用僅主機模式網絡連接的虛擬機無法連接到Internet(在主機上安裝合適的路由或代理軟件,或者在Windows系統的主機上使用Internet連接共享功能,仍然可以讓虛擬機連接到Internet或其他網絡)。

  在同一臺主機上可以創建多個僅主機模式的虛擬網絡,如果多個虛擬機處於同一個僅主機模式網絡中,那麼它們之間是可以相互通信的;如果它們處於不同的僅主機模式網絡,則默認情況下無法進行相互通信(可通過在它們之間設置路由器來實現相互通信)。

自定義網絡連接配置

  利用 WMware 提供的虛擬網絡連接組件,你還可以創建複雜的虛擬網絡。在這裏我們不對其進行詳細介紹,你可以參考官方文檔,然後通過VMware提供的虛擬網絡編輯器來創建虛擬網絡。

形象的說:
  橋接模式的虛擬機,就像一個在路由器"民政局"那裏"上過戶口"的成年人,有自己單獨的居住地址,雖然和主機住在同一個大院裏,但好歹是有戶口的人,可以大搖大擺地直接和外面通信。
  NAT模式的虛擬機,純粹就是一個沒上過戶口的黑戶,路由器"民政局"根本不知道有這麼個人,自然也不會主動和它通信。即使虛擬機偶爾要向外面發送點的信件,都得交給主機以主機的名義轉發出去,主機還專門請了一位叫做NAT的老大爺來專門負責這些虛擬機的發信、收信事宜。
       僅主機模式的虛擬機,純粹是一個徹徹底底的黑奴,不僅沒有戶口、路由器"民政局"不知道這麼號人,還被主機關在小黑屋裏,連信件也不準往外發。

更多理解參考:

《VM(Vmware Workstation)虛擬機的三種網絡連接模式》

《虛擬機網絡適配器的三種模式詳解及其配置》

《韋東山Linux學習筆記之——虛擬機(Ubuntu 16.04)同時連接外網和內網三者互通的方法》

《VMware Ubuntu配置虛擬機和主機互相ping通》

《如何在不聯網的情況下ping通主機與虛擬機》

《vmware workstation 配置網絡NAT模式》

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