VMware虛擬機器三種聯網方法及原理

Ada_Concentration發表於2018-06-03

之前聽老師講了關於虛擬機器中聯網的原理,所以將筆記整理進部落格。

Brigde——橋接:預設使用VMnet0

這裡寫圖片描述 

1.原理:
  Bridge 橋”就是一個主機,這個機器擁有兩塊網路卡,分別處於兩個區域網中,同時在”橋”上,執行著程式,讓區域網A中的所有資料包原封不動的流入B,反之亦然。這樣,區域網A和B就無縫的在鏈路層連線起來了,在橋接時,VMWare網路卡和物理網路卡應該處於同一IP網段 當然要保證兩個區域網沒有衝突的IP.
  VMWare 的橋也是同樣的道理,只不過,本來作為硬體的一塊網路卡,現在由VMWare軟體虛擬了!當採用橋接時,VMWare會虛擬一塊網路卡和真正的物理網路卡就行橋接,這樣,發到物理網路卡的所有資料包就到了VMWare虛擬機器,而由VMWare發出的資料包也會通過橋從物理網路卡的那端發出。 所以,如果物理網路卡可以上網,那麼橋接的軟網路卡也沒有問題了,這就是橋接上網的原理了。
 使用橋接的時候,虛擬的伺服器和膝上型電腦共用一臺實在的物理交換機/路由器,所以這個時候不需要VMware的虛擬網路卡和虛擬路由器了。膝上型電腦就直接用物理網路卡與路由器連線。在VMware的網路卡選擇的時候也不再是VMnet8而是VMnet0,虛擬的linux伺服器都直接和虛擬的VMnet0相連,而VMnet0實際上是個網橋(共用同一個IP段,而且要注意,即使是Windows內部的網路請求也要經過網橋,再通過物理網路卡),VMnet0再和筆記本的物理網路卡相連,並且不做地址轉換。這種情況下,配置IP地址只需要配置linux伺服器的就可以了,而物理網路卡的是路由器自動配置的。
缺點:這個時候的linux配置IP的時候要注意,不要和外部的筆記本的衝突!而且,當筆記本移動換了路由器的時候,相應的linux伺服器的地址也要重新變化。

2.聯網方式:
  這一種聯網方式最簡單,在區域網內,你的主機是怎麼聯網的,你在虛擬機器裡就怎麼連網。把虛擬機器看成區域網內的另一臺電腦就行了!
提示:主機網路卡處在一個可以訪問Internet的區域網中,虛擬機器才能通過Bridge訪問Internet。

NAT——網路地址轉換 :預設使用VMnet8

這裡寫圖片描述  

1.原理:
  NAT 是 Network address translate的簡稱。NAT技術應用在internet閘道器和路由器上,比如192.168.0.123這個地址要訪問internet,它的資料包就要通過一個閘道器或者路由器,而閘道器或者路由器擁有一個能訪問internet的ip地址,這樣的閘道器和路由器就要在收發資料包時,對資料包的IP協議層資料進行更改(即 NAT),以使私有網段的主機能夠順利訪問internet。此技術解決了IP地址稀缺的問題。同樣的私有IP可以閘道器NAT 上網。
VMWare的NAT上網也是同樣的道理,它在主機和虛擬機器之間用軟體偽造出一塊網路卡,這塊網路卡和虛擬機器的ip處於一個地址段。同時,在這塊網路卡和主機的網路介面之間進行NAT。虛擬機器發出的每一塊資料包都會經過虛擬網路卡,然後NAT,然後由主機的介面發出。
  虛擬網路卡和虛擬機器處於一個地址段,虛擬機器和主機不同一個地址段,主機相當於虛擬機器的閘道器,所以虛擬機器能ping到主機的IP,但是主機ping不到虛擬機器的IP。
  多臺伺服器通過連線同一臺路由器/交換機來實現互聯(屬於一個網段)。伺服器的IP地址是根據閘道器配置的。通常情況下:
  
- 閘道器(GATEWAY):閘道器的IP地址一般最後一位為1,例如:192.168.22.1 如果最後一個是0的話,代表的是網段。
- 子網掩碼(NETMASK):255.255.255.0 通過將IP地址的二進位制與這個做與運算,得到的前三個一樣的話就代表是一個網段的。也就是用來判斷屬於哪個網段的。

域名解析流程:
1.從本地hosts檔案中去尋找是否有該域名->IP對映資訊。
2.如果本地hosts中沒有該域名,那麼向外部的DNS伺服器提出請求解析域名。

NAT的連線和物理連線的幾乎是一致的,其中VMware給膝上型電腦生成了一個虛擬的網路卡——VMnet8,但是實際上筆記本本身還有一塊真實的物理網路卡,連線的是正常的網路,比如連的是實驗室的路由器。同時每臺虛擬機器上的linux都有一塊虛擬的網路卡(用來進行地址轉換),比如eth0;VMware會生成一個虛擬路由器,這樣的話,這些虛擬網路卡就連線在這個虛擬路由器上了。配置IP地址的時候,不僅要配置linux伺服器的,還要配置虛擬路由器的。
域名解析過程如下: 
這裡寫圖片描述 
所以,如果在網段內部,不使用IP地址進行訪問,而是採用名稱,那麼不需要在DNS公網註冊域名,直接在本地的hosts檔案中進行配置即可,注意,每臺都要配置!。linux的hosts的路徑為/etc/hosts。
2.聯網方式:
方法1——動態IP地址。
  主機是靜態IP或動態IP,都無所謂,將虛擬機器設定成使用DHCP方式上網,Windows下選擇“自動獲取IP“,linux下開啟DHCP服務即可。(這種方法最簡單,不用過多的設定,但要在VMware中進行“編輯→虛擬網路設定”,將NAT和DHCP都開啟了。一般NAT預設開啟,DHCP預設關閉)  
方法2——靜態IP地址。
  如果不想使用DHCP,也可以手動設定: 
  IP設定與vmnet1同網段,閘道器設定成vmnet8的閘道器(在“虛擬網路設定”裡的Net選項卡里能找到Gateway)通常是xxx.xxx.xxx.2。
子網掩碼設定與VMnet8相同(設定好IP地址後,子網掩碼自動生成)
DNS設定與主機相同。
例如:主機IP是10.70.54.31,設定虛擬機器IP為10.70.54.22。Netmask,Gateway,DNS都與主機相同即可實現 虛擬機器 —主機 虛擬機器<—->網際網路 通訊。
提示:使用NAT技術,主機能上網,虛擬機器就可以訪問Internet,但是主機不能訪問虛擬機器。

Host-Only——私有網路共享主機:預設使用VMnet1

1、原理:
  提供的是主機和虛擬機器之間的網路互訪。只想讓虛擬機器和主機之間有資料交換,而不想讓虛擬機器訪問Internet,就要採用這個設定了。
Host-only的條件下,VMWare在真正的Windows系統中,建立一塊軟網路卡。這塊網路卡可以在網路連線中看到,一般是VMNET1,這塊網路卡的作用就是使Windows看到虛擬機器的IP。
2、聯網方法:
方法1——動態IP地址。
  像上面那樣開啟DHCP後,虛擬機器直接自動獲取IP地址和DNS。就可以和主機相連了。當然,還要進行一些區域網共享的操作,這裡不再贅述。
方法2——靜態IP地址。
  也可以手動設定,將虛擬機器IP設定與VMnet1同網段,閘道器設定成VMnet1的閘道器相同,其餘設定與VMnet1相同,DNS設定與主機相同。
例如:VMnet1 IP:172.16.249.1 Gateway :172.16.249.2
那麼虛擬機器 IP:172.16.249.100 Gateway: 172.16.249.2
這樣、 虛擬機器<—>主機 可以通訊
但是、 虛擬機器<—>網際網路 無法通訊
提示:Host-only技術只用於主機和虛擬機器互訪,於訪問internet無關。
HOST only使用的是VMnet1,所有的linux伺服器都連線到VMnet1這塊虛擬網路卡上並且作為閘道器,根據這個來配置,配置的時候只要讓他們在同一個網段即可。(這種方式不建議使用)
缺點:是完全不能訪問外網。

相關文章