1. 程式人生 > >橋接模式、NAT模式和僅主機模式

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

NAT模式

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

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

前面我們已經提到,預設情況下,外部網路無法訪問到虛擬機器,不過我們也可以通過手動修改NAT設定實現埠轉發功能,將外部網路傳送到主機指定埠的資料轉發到指定的虛擬機器上。比如,我們在虛擬機器的80埠上”建立”了一個站點,只要我們設定埠轉發,將主機88埠上的資料轉發給虛擬機器的80埠,就可以讓外部網路通過主機的88埠訪問到虛擬機器80埠上的站點。

僅主機模式

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

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