NAT模式
NAT模式概述
NAT是「Network Address Translation」的縮寫,中文意思是「網絡地址轉換」,它允許一個整體機構以一個公用IP(Internet Protocol)地址出現在Internet上。顧名思義,它是一種把內部私有網絡地址(IP地址)翻譯成合法網絡IP地址的技術。
為什麼要這樣干呢?因為IP數據段由於位元組數目一定,所以資源是有限的,如果為每一個設備分配一個IP地址,那麼極其消耗IP資源,所以NAT起到的作用是,對外只暴露一個IP地址,當有內部連接要通訊的時候,通過NAT將內網IP轉換成對外的IP,充當了網關的作用。
NAT在外部公網(internet)上正常使用可以使多台計算機共享Internet連接。通過這種方法,申請一個合法IP地址,就把整個局域網中的計算機通過NAT接入到了Internet中。這時NAT屏蔽了內部網絡,所有內部網計算機對於公共網絡來說是不可見的,而內部網計算機用戶通常不會意識到NAT的存在。這裡提到的內部地址,是指在內部網絡中分配給節點的私有IP地址,這個地址只能在內部網絡中使用,不能被路由(一種網絡技術,可以實現不同路徑轉發)。
路由:
以太網交換機工作在第二層(數據鏈路層),用於在同一網絡內部轉發以太網幀。但是,當源和目的IP地址位於不同網絡時,以太網幀必須發送給路由器。路由器負責在不同網絡間傳輸報文,通過路由表來決定最佳轉發路徑。當主機將報文發送至不同IP地址時,由於主機無法直接與本地網絡以外的設備通信,報文被轉發至默認網關。默認網關就是數據流從本地網絡路由至遠端設備的目的地。它通常用來連接本地網與公共網。
IP地址中專門保留了三個區域作為私有地址,其地址範圍如下:
10.0.0.0/8:10.0.0.0~10.255.255.255
172.16.0.0/12:172.16.0.0~172.31.255.255
192.168.0.0/16:192.168.0.0~192.168.255.255
NAT將這些無法在互聯網上使用的保留IP地址翻譯成可以在互聯網上使用的合法IP地址。而全局地址是指合法的IP地址,它是由NIC(網絡信息中心)或者ISP(網絡服務提供商,比如常說的中國移動、中國電信)分配的地址,對外代表一個或多個內部局部地址,是全球統一的可尋址的地址。
NAT模式圖示

NAT技術類型
NAT有三種類型:靜態NAT(Static NAT)、動態地址NAT(Pooled NAT)、網絡地址端口轉換NAPT(Port-Level NAT)。
其中靜態NAT設置起來最為簡單和最容易實現的一種,內部網絡中的每個主機都被永久映射成外部網絡中的某個合法的地址。而動態地址NAT則是在外部網絡中定義了一系列的合法地址,採用動態分配的方法映射到內部網絡。NAPT則是把內部地址映射到外部網絡的一個IP地址的不同端口上。根據不同的需要,三種NAT方案各有利弊。
動態地址NAT只是轉換IP地址,它為每一個內部的IP地址分配一個臨時的外部IP地址,主要應用於撥號,對於頻繁的遠程聯接也可以採用動態NAT。當遠程用戶聯接上之後,動態地址NAT就會分配給他一個IP地址,用戶斷開時,這個IP地址就會被釋放而留待以後使用。
網絡地址端口轉換NAPT(Network Address Port Translation)是人們比較熟悉的一種轉換方式。NAPT普遍應用於接入設備中,它可以將中小型的網絡隱藏在一個合法的IP地址後面。NAPT與動態地址NAT不同,它將內部連接映射到外部網絡中的一個單獨的IP地址上,同時在該地址上加上一個由NAT設備選定的TCP端口號。
在Internet中使用NAPT時,所有不同的信息流看起來好像來源於同一個IP地址。這個優點在小型辦公室內非常實用,通過從ISP處申請的一個IP地址,將多個連接通過NAPT接入Internet。實際上,許多SOHO遠程訪問設備支持基於PPP的動態IP地址。這樣,ISP甚至不需要支持NAPT,就可以做到多個內部IP地址共用一個外部IP地址上Internet,雖然這樣會導致信道的一定擁塞,但考慮到節省的ISP上網費用和易管理的特點,用NAPT還是很值得的。
NAT模式總結
我們知道家用路由器一般都是NAT模式,內網用戶默認都是192.168.1.x網段,而路由器充當默認網關的角色,所有內網發出的包都將經過路由器,路由器在公網有唯一的IP,所有的包經過路由器修改其源IP都改為了公網IP了,並且會隨機映射一個對外端口。當應答回到路由器時,路由器會根據此前的映射關係,將目標IP和PORT改為原先發送請求的內網用戶的IP和PORT,這樣對於內網用戶來說是感知不到路由器的存在的,大家共用路由器的對外IP訪問外網。當然,因為大家都在內網同一個網段(路由器基於DHCP分配),所以內網用戶互相通訊也沒有問題。
DHCP:
DHCP(動態主機配置協議)是一個局域網的網絡協議。指的是由服務器控制一段IP地址範圍,客戶機登錄服務器時就可以自動獲得服務器分配的IP地址和子網掩碼。
當NAT用在虛擬機領域的時候,原理是類似的。只不過一台PC上的若干虛擬機相當於若干內網用戶,而宿主機PC充當路由器的角色,虛擬機會在PC上虛擬化一個網絡環境:也就是每個虛擬機通過一個無形的網線連接到了無形的路由器上,僅此而已。每個虛擬機實例會通過PC上的虛擬路由器獲取DHCP分配的局域網IP,但是這只是本機虛擬出來的局域網,並不是物理局域網。那麼,現在虛擬機想訪問外網,只需要配置默認網關為PC上虛擬路由器,那麼數據包經過虛擬路由器的時候,會將源IP修改為PC的物理網卡的物理局域網IP,發送給物理路由器,之後的事情和之前描述的一樣。
上面的虛擬路由器其實是宿主機上一張虛擬的網卡,而虛擬機則將默認網關指向了這張網卡,從而有機會進行IP篡改。
如果你理解了上面這段描述,那麼我們可以分析出這樣的結論:
- 1個PC上的若干虛擬機之間,可以互相通訊,中介就是虛擬路由器。
- 虛擬機可以訪問外網,也可以訪問物理局域網,但是無法訪問其他PC上的虛擬機。
- 外人(物理局域網其他PC)無法直接訪問虛擬機,這和物理路由器外網的用戶無法直接訪問內網用戶一個道理。(反向進入內網需要DNAT)
- 虛擬機可以訪問宿主機的物理IP,流程是先經過宿主NAT修改源IP和源PORT,通過物理網卡發出到局域網絡中,又被物理網卡接收處理。
- 宿主機無法訪問虛擬機,這是因為宿主機的物理網卡和內網其他網卡的角色一樣,對於虛擬路由器來說都是」外人」,不可能進入到虛擬局域網的內網用戶。
橋接模式
橋接模式簡單說明
橋接模式下,VMWare虛擬出來的操作系統就像是局域網中的一台獨立的主機,它可以訪問網內任何一台機器。 在橋接模式下,你需要手工為虛擬系統配置IP地址、子網掩碼,而且還要和宿主機器處於同一網段,這樣虛擬系統才能和宿主機器進行通信。同時,由 於這個虛擬系統是局域網中的一個獨立的主機系統,那麼就可以手工配置它的TCP/IP配置信息,以實現通過局域網的網關或路由器訪問互聯網。
使用橋接模式的虛擬系統和宿主機器的關係,就像連接在同一個Hub上的兩台電腦。想讓它們相互通訊,你就需要為虛擬系統配置IP地址和子網掩碼,否則就無法通信。
橋接模式圖示

圖示一

圖示二
橋接模式總結
橋接和NAT可以說是大不相同,在圖中的br0相當於虛擬交換機,物理網卡eth0和虛擬機網卡vnet0都通過虛擬的網線連接到br0上,這樣eth0和vnet0之間可以互相交換數據。
我們把br0叫做橋,其實在宿主機上也是一張虛擬的網卡,作為虛擬交換機角色,而傳統交換機本身就是按mac目標地址的將數據轉發到正確的網線出口上,並不會做什麼事情。
配置虛擬機採用橋接模式並指定br0後,數據從虛擬機的網卡vnet0發出到br0,br0會將數據轉發給另一端的eth0,源mac是虛擬機的隨機MAC地址,源IP是虛擬機的IP地址,橋並沒有做中間修改,數據僅僅通過eth0網卡直接發到鏈路上,eth0只是充當一個發送的物理介質。
當應答回來的時候,物理網卡eth0會在混雜模式捕獲包並交給br0處理,如果目標mac地址等於eth0或者vnet0,則進一步處理。如果是eth0的包那麼直接宿主機處理,如果是vnet0的包則轉發給虛擬機處理,整個過程無需對包做出修改,因為br0僅僅是一個交換機,而eth0和vnet0是連在上面的2個網卡而已。
更加簡單的去理解的話,br0是一個交換機,eth0是連在br0交換機上某個插槽的另外一台特殊交換機(它在混雜模式工作,監聽的是來自物理交換機發來的各類包),而vnet0是連在br0交換機上的一台普通服務器。
根據上述描述,可以得知:
- 無論是虛擬機還是物理機,大家都在一個網段里,都指向同一個默認網關(物理路由器)。
- 虛擬機通過橋,可以向物理路由器申請dhcp,分配得到局域網IP。
- 掛在橋上的虛擬機,可以直接被局域網其他用戶訪問,因為eth0混雜模式+橋可以轉發到虛擬機。
- 混雜模式的網卡只是一個物理介質,它監聽所有的包,只留下自己關注的包(比如目的mac地址是eth0h或者vnet0的包),也可以發送任意的包,無論包的源mac地址到底是不是物理網卡自身的(vnet0的假mac地址)
可見,橋接更加適合於虛擬機對外提供服務,因為它是可以被外部訪問到的,和一個正常的局域網用戶沒有什麼區別。
很多網絡的結構圖喜歡把一個局域網的用戶關聯到一條線上,體現出大家都在一個鏈路上的感覺,其實這是很大的誤導,真實的局域網用戶都是接在一個交換機上面的,交換機知道每個插槽上有哪些mac地址,一般來說一個插槽就一個mac地址,但是對於我們說的橋接就可能是多個,另外也可能是接了另外一個交換機,也就是交換機可以級聯,仍舊是一個局域網
HOST-ONLY模式
host-only模式,也叫主機模式,在某些特殊的網絡調試環境中,要求將真實環境和虛擬環境隔離開,這時就可採用Host-only模式,在Host-only模式中,所有的虛擬系統是可以相互通信的,但虛擬系統和真實的網絡是被隔離開的可以利用Windows XP裏面自帶的Internet連接共享(實際上是一個簡單的路由NAT)來讓虛擬機 通過主機真實的網卡進行外網的訪問虛擬系統的TCP/IP配置信息(如IP地址網關地址DNS服務器等),都是由VMnet1(Host-only)虛擬 網絡的DHCP服務器來動態分配。
HOST-ONLY模式圖示

HOST-ONLY總結
HOST-ONLY模式其實就是NAT模式去除了虛擬NAT設備,然後使用VMware Network Adapter VMnet1虛擬網卡連接VMnet1虛擬交換機來與虛擬機通信的,Host-Only模式將虛擬機與外網隔開,使得虛擬機成為一個獨立的系統,只與主機相互通訊。
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/212665.html