NAT的兩種模式SNAT和DNAT介紹


一.簡單介紹

NAT(Network Address Translation):網絡地址轉換,是將IP數據包頭中的IP地址轉換為另一個IP地址的過程。在實際的應用中,NAT主要用於實現私有網絡訪問公共網絡的功能。這種通過使用少量的公網IP地址代表較多的私有IP地址的方式,將有助於減緩可用IP地址空間的枯竭。
簡單來說,NAT就是在內部專有網絡使用內部地址(不可路由),而當內部節點要與外界網絡發生聯系時,就在邊緣路由器或者防火牆處,將內部的地址替換成全局地址(合法地址,可路由),從而在外部公共網上正常使用。
這里說明一下,內部地址是指在內部網絡中分配給節點的私有IP地址,這個地址只能在內部網絡中使用,不能被路由。雖然內部地址可以隨機挑選,但是通常使用的是RFC 1918中定義的專用地址:10.0.0.010.255.255.255、172.16.0.0172.16.255.255,192.168.0.0~192.168.255.255。全局地址,是指合法的IP地址,它是由NIC或者網絡服務提供商分配的地址,對外代表一個或多個內部局部地址,是全局統一的可尋址的地址。
NAT的作用:NAT的主要作用是節省地址空間,在任一時刻,如果內部網絡中只有少數節點與外界建立連接,那么就只有少數的內部地址需要被轉換成全局地址,可以減少對合法地址的需求。同時,還可以使用多個內部地址共享一個外部地址,使用端口進行區分。這樣就能更有效的節約合法地址。除了節約地址,NAT還能簡化配置,增加網絡規划的靈活性,使用NAT,可以在規划地址時有更大的靈活性,從而簡化內部網的涉及。另外,當兩個有地址重疊的私有網要連接在一起時,可以使用NAT來防止地址沖突,而避免逐個改變節點的地址這個繁雜的工作。

網絡地址轉換主要有兩種:SNAT和DNAT,下面對這兩種地址轉換進行詳細說明。

二.SNAT

SNAT(Source Network Address Translation):源網絡地址轉換,內部地址要訪問公網上的服務時,內部地址會主動發起連接,將內部地址轉換為公網IP。有關這個地址轉換稱為SNAT。
具體示例說明:
公司內部的主機A想訪問互聯網上的主機C,首先將請求數據包(源:ipA,目標:ipC)發送到防火牆所在的主機B,B收到后將數據包源地址改為本機公網網卡的ip(源:ipA,目標:ipB),然后經互聯網發送給C,C收到后將回應包(源:ipC,目標:ipB)轉發給C的路由器,經互聯網將回應包轉給B,B收到回應包后修改其目的地址,將回應包(源:ipC,目標:ipA)然后將數據包轉發給A。

比如,多個PC機使用ADSL路由器共享上網,每個PC機都配置了內網IP。PC機訪問外部網絡的時候,路由器將數據包的報頭中的源地址替換成路由器的ip。當外部網絡的服務器比如網站web服務器接到訪問請求的時候,他的日志記錄下來的是路由器的ip地址,而不是pc機的內網ip。

三.DNAT

DNAT(Destination Network Address Translation):目標地址轉換,內部需要對外提供服務時,外部主動發起連接,路由器或者防火牆的網絡接收到這個連接,然后將連接轉換到內部,此過程是由帶公網ip的網關代替內部服務來接收外部的連接,然后在內部做地址轉換。此轉換成為DNAT,主要用於內部服務對外發布。
互聯網主機C想訪問企業內部的web服務器A,但A的地址是私有地址,無法直接訪問。此時,C可以訪問防火牆的公網地址,C的請求數據包(源:ipC,目標:ipB)到達防火牆B后,在B的PREROUTING上將請求數據包的目標地址進行修改,並將數據包(源:ipC,目標:ipA)發送給A。A收到后進行回復發送響應包(源:ipA,目的ipC)到防火牆,防火牆收到后對數據包源地址進行修改,並將響應包(源:ipB,目標:ipC)給C。利用這種機制可以將企業內部的服務發布到互聯網。
典型的應用
有個web服務器放在內網,配置內網ip,前端有個防火牆,配置公網ip,互聯網上的訪問者使用公網ip來訪問這個網站。當訪問的時候,客戶端發出一個數據包,這個數據包的報頭里邊,目標地址寫的是防火牆的公網ip。防火牆會把這個數據包的報頭改寫一次,將目標地址改寫成web服務器的內網ip,然后再把這個數據包發送到內網的web服務器上這樣,數據包就穿透了防火牆,並從公網ip變成了一個對內網地址的訪問了,即DNAT,基於目標的網絡地址轉換 。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM