亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

NAT地址轉換原理全攻略

發布時間:2020-07-04 08:29:19 來源:網絡 閱讀:25728 作者:茶鄉浪子 欄目:系統運維

以下內容摘自正在全面熱銷的最新網絡設備圖書“豪華四件套”之一《Cisco路由器配置與管理完全手冊》(第二版(其余三本分別是:《Cisco交換機配置與管理完全手冊》(第二版《H3C交換機配置與管理完全手冊》(第二版《H3C路由器配置與管理完全手冊》(第二版 )。目前在京東網、當當網、卓越網、互動出版網等書店全面熱銷中,購買該套裝將直減30元http://book.dangdang.com/20130730_aifehttp://item.jd.com/11299332.html http://www.china-pub.com/STATIC/zt_mb/zt_huodong_2013_1.asp?filename=2013_slwd_0801

在NAT進行IP地址轉換中,許多讀者朋友對幾種IP地址轉換方式所對應的轉換原理總是搞不清楚,更不清分不清內/外部地址轉換的區別,在讀者QQ群中經常有人提出有方面的問題,為此筆者這次從最新的“四件套”圖書中全面摘出這部分內容供大家分享。至于其中所涉及的網絡通信原理方面大家可通過廣受好評的
《深入理解計算機網絡一書全面得到深入理解,可在這里查看本書相關信息:http://product.dangdang.com/23166396.html


6.2 NAT轉換方式及原理

NAT的應用中,可以僅需要轉換內部地址(就是內部本地址轉換成內部全局地址),這是最典型的應用,如內部網絡用戶通過NAT轉換共享上網;也可以是僅需要轉換外部地址(就是外部全局地址轉換外部本地地址之間的轉換),如外部用戶要訪問位于內部網絡中的服務器;當然還可以同時轉換內部地址和外部地址。

為了方便理解本節后面所介紹的一些配置,現簡單介紹NAT的基本配置思路:

1)使用ip nat inside source(定義內部本地地址內部全局地址的映射),或者ip nat outside source(定義外部全局地址外部本地地址的映射),或者ip nat pool(定義一個內部全局地址池,或者一個外部本地地址池)命令定義一個IP地址映射。具體要使用哪個命令,如何配置地址映射要視所就用的NAT類型和地址轉換類型而定。可以是靜態地址映射,也可以是動態地址映射,或者端口地址映射(PAT);可以是內部地址轉換,也可以是外部地址轉換,或者內、外部地址同時轉換。

本節為了方便介紹,僅以靜態NAT轉換為例進行介紹,所以在下面各小節中僅使用了ip nat inside source static,或者ip nat outside source static命令。

2)使用ip nat inside命令指定內部接口,使用ip nat outside命令指定外部網絡接口。

6.2.1 NAT基本IP地址轉換原理

總體來說,NAT進行地址轉換的過程就是“本地地址”與“全局地址”之間的轉換過程,無論數據包是從內部網絡發往外部網絡,還是從外部網絡發往內部網絡。不同的只是本地地址和全局地址所對應的網絡不同,以及數據包重新封裝的源和目的地址不同。具體如圖6-8所示。這個過程是通過NAT中的本地址與全局地址映射條目來實現的,所以事先要在NAT路由器上配置這樣的映射條目。

NAT地址轉換原理全攻略


6-8 NAT基本地址轉換原理

當內部網絡用戶訪問外部網絡時,所進行的是“內部本地地址”和“內部全局地址”之間的轉換

NAT路由器接收到來自內部網絡主機發送的數據包時,其源IP地址(SA)為“內部本地地址”,目的IP地址(DA)為“外部本地地址”。當數據包被轉發到外部網絡時,數據包的源IP地址(SA)就會轉變為“內部全局地址”,而目的IP地址(DA)被轉變為“外部全局地址”。也就是把數據包的所有源IP地址(SA)和目的IP地址(DA)全部由本地地址轉換為全局地址。如圖6-9上部分數據包IP地址轉換示意圖。

相反,當外部網絡用戶訪問內部網絡時,所進行的是“外部本地地址”和“外部全局地址”之間的轉換

NAT路由器接收到來自外部網絡主機發送的數據包時,其源IP地址(SA)就是“外部全局地址”,目的IP地址(DA)就是“內部全局地址”。相當于由內部網絡向外部網絡發送數據包時數據包中的源IP地址(SA)和目的IP地址(DA)的互換。而當數據包被路由器轉發到本地網絡時,源IP地址(SA)被轉變為“外部本地地址”,目的IP地址(DA)被轉變為“內部本地地址,也相當于由內部網絡向外部網絡發送數據包時數據包中的源IP地址(SA)和目的IP地址(DA)的互換。如圖6-9下部分數據包IP地址轉換示意圖。

NAT地址轉換原理全攻略

6-9 NAT基本IP地址轉換原理

以上是從總體上介紹NATIP地址轉換原理的,實際NAT應用有時并不需要對源IP地址和IP地址進行全面替換,僅需要對源IP地址或者僅需要對目的IP地址進行轉換即可達到所需的目的。下面予以介紹。

6.2.2 內部地址NAT轉換原理

多數情況下使用NAT的目的就是為了使內部網絡中的多個用戶能使用一個注冊IP地址訪問外部網絡,所以僅需要配置內部地址NAT轉換。即通過ip nat inside source命令實現“內部本地地址”到“內部全局地址”之間的轉換(既可以采用靜態NAT方式實現,也可以采取動態NAT方式實現),只需要定義內部本地址與內部本局地址的映射。

6-10是一個簡單的NAT轉換示例。要實現以下目的:當NAT路由器的內部網絡s0接口上接收到一個源地址為內部本地地址10.10.10.1,目的IP地址為外部本地地址171.16.68.1的數據包時,在轉發到s1接口時,原來數據包源地址的內部本地地址10.10.10.1被轉換成內部全局地址171.16.68.5,但目的地址不變,然后繼續發送。在這個過程中,所進行的只是數據包中源IP地址的轉換,由內部本地地址向內部全局地址轉換,且只是內部地址之間的轉換。

NAT地址轉換原理全攻略

6-10 簡單的NAT轉換示例

相反,當在NAT路由器的外部網絡接口s1上接收源地址為172.16.68.1外部本地地址,目的地址為內部全局地址172.16.68.5的外部服務器響應數據包時,目的地址將被轉換成10.10.10.1這個內部本地地址,然后繼續發送。在這個過程中,所進行的只是數據包中目的IP地址的轉換,由內部全局地址向內部本地地址轉換,也只是內部地址之間的轉換。

下面僅以靜態NAT轉換方式為例介紹內部地址轉換的配置步驟,詳細的NAT配置方法將在本章后面具體介紹。

1)使用ip nat inside source static全局配置命令啟用基于內部源IP地址的靜態NAT IP地址轉換。也就是定義內部本地地址和內部全局地址,使它們之間形成一一對應的映射關系。

Router(config)#ip nat inside source static 10.10.10.1 171.16.68.5 !--- 在內部本地地址10.10.10.1與內部全局地址171.16.68.5之間建立靜態NAT映射關系,使內部網絡主機知道要以171.16.68.5這個地址到達外部網絡主機

2)使用以下兩條語句配置路由器的s0NAT的內部網絡接口。

Router(config)#interface s0 !--- 進入s0串口配置模式

Router(config-if)#ip nat inside !--- s0串口指定為內部網絡接口

3)使用以下兩條語句配置路由器的s1NAT的外部網絡接口。

Router(config)#interface s1 !--- 進入s1串口配置模式

Router(config-if)#ip nat outside !--- s1串口指定為外部網絡接口

4)使用show ip nat translations特權模式命令驗證上述進行的路由器NAT配置。輸出信息中顯示以上配置的NAT條目配置為:內部本地地址為10.10.10.1,內部全局地址為171.16.68.5。這與上面的配置是一致的,證明配置是成功的。

Router#show ip nat translations !--- 在特權模式下顯示當前路由器NAT配置

Pro Inside global Inside local Outside local Outside global

--- 171.16.68.5 10.10.10.1 --- ---

此時如果對外部網絡目的主機進行ping操作,就會有數據包從內部網絡轉發到外部網絡。然后再在路由器特權模式下執行show ip nat translations命令,顯示的NAT信息如下。多了一條icmp協議類型數據包(執行ping操作后加的)顯示,但因為此時沒有配置外部網絡的本地地址和全局地址,所以顯示的外部本地地址和外部全局地址都是一樣的,都是ping操作目的主機地址171.16.68.1

Router#show ip nat translations

Pro Inside global Inside local Outside local Outside global

icmp 171.16.68.5:15 10.10.10.1:15 171.16.68.1:15 171.16.68.1:15

--- 171.16.68.5 10.10.10.1 --- ---

通過以上配置后,從內部網絡發往外部網絡的數據包只是源地址(SA)將在經過路由器后進行轉換(由內部本地地址10.10.10.1轉換成內部全局地址171.16.68.5),但目標地址(DA)不變,但從外部網絡發往內部網絡的應答數據包的源地址沒有改變,只是經過路由器后的數據包目的地址發生了轉換(由內部全局地址172.16.68.5轉換成內部本地地址10.10.10.1),但源地址(SA)不變。因為此時還沒有為NAT路由器配置外部網絡的本地地址和全局地址轉換。

此時,數據包在內、外部網絡中的源地址、目的地址的轉換方式參如圖6-11所示。

NAT地址轉換原理全攻略

6-11內部地址NAT轉換示例

【經驗之談】在內部地址的NAT轉換中,無論數據包來自哪里,數據包中地址變化的只是內部地址之間的轉換。但要注意,地址變化所對應的是源地址,還是目的地址是要看數據包是來自內部網絡,還是來自外部網絡:如果是來自內部網絡,轉換是源地址;如果是來自外部網絡,轉換的是目的地址。

6.2.3 外部地址NAT轉換原理

當公司服務器位于內部網絡,使用內部網絡私有IP地址,為了方便外部網絡用戶對內部網絡服務器進行訪問,則需要使用ip nat outside source命令配置“外部全局地址”與“外部本地地址”之間的轉換(既可以采用靜態NAT方式實現,也可以采取動態NAT方式實現)。外部地址NAT轉換與上節介紹的內部地址NAT轉換是相反的,它僅需要定義外部地址(包括外部本地地址和外部全局地址)。

下面同樣以圖6-10所示的示例進行介紹。本示例要實現的目的是:當NAT路由器外部網絡接口s1接收到來自外部網絡用戶發送的源IP地址為外部全局地址171.16.68.1,目的地址為外部本地地址10.10.10.1的數據包在被路由器轉發到s0接口時,數據包中的源IP地址轉變為外部本地地址10.10.10.5(即由外部全局地址轉換成外部本地地址),目的IP地址不變,即也只是源IP地址的轉換;而由內部網絡用戶發送的響應數據包中,卻只是目的IP地址(即由外部本地地址轉換為外部全局地址)的轉換,源IP地址不變。

下面僅以靜態NAT轉換方式為例介紹外部地址NAT轉換的配置步驟,詳細的NAT配置方法將在本章后面具體介紹。

1)使用ip nat outside source static全局配置命令啟用基于外部源IP地址的靜態NAT IP地址轉換。也就是定義外部全局地址和外部本地地址之間的映射關系。

Router(config)#ip nat outside source static 171.16.68.1 10.10.10.5 !--- 在外部全局地址171.16.68.1與外部本地地址10.10.10.5之間建立靜態NAT轉換關系,使外部網絡主機知道要以10.10.10.1這個地址到達內部網絡主機

(2)使用以下兩條語句配置路由器的s0作為NAT的內部網絡接口。

Router(config)#interface s0

Router(config-if)#ip nat inside

3)使用以下兩條語句配置路由器的s1作為NAT的外部網絡接口。

Router(config)#interface s1

Router(config-if)#ip nat outside

【注意】對于特定的NAT網絡來說,路由器上的內、外部網絡接口是固定的,不會隨著通信方向的改變而改變。如在上節介紹的內部地址的NAT轉換示例中,我們同樣是把s0接口作為內部網絡接口,s1接口作為外部網絡接口。

4)使用show ip nat translations特權模式命令驗證上述進行的路由器NAT配置。從中可以看出,此時NAT的外部本地地址為10.10.10.5,外部全局地址為171.16.68.1。這與上面的配置是一致的,證明配置是成功的。

Router#show ip nat translations

Pro Inside global Inside local Outside local Outside global

--- --- --- 10.10.10.5 171.16.68.1

同樣,如果此時執行一個從外部網絡主機(171.16.68.1)到內部網絡主機(10.10.10.1)的ping操作,然后再在路由器特權模式下執行show ip nat translations命令,則顯示如下結果。因為此時僅配置了外部本地地址和外部全局地址,所以結果中顯示的內部本地地址和全局地址都是一樣的,都是ping操作目的主機地址10.10.10.1

Router#show ip nat translations

Pro Inside global Inside local Outside local Outside global

--- --- --- 10.10.10.5 171.16.68.1

icmp 10.10.10.1:37 10.10.10.1:37 10.10.10.5:37 171.16.68.1:37

與上節介紹的僅配置內部地址相反,此處從外部網絡發往內部網絡的數據包的源IP地址(SA)將在經過路由器后進行轉換(由外部全局地址171.16.68.1轉換成外部本地地址10.10.10.5),但目標地址(DA)不變;但從內部網絡發往外部網絡的響應數據包的源IP地址沒有改變,只是經過路由器后的數據目的IP地址發生了改變(由外部本地地址10.10.10.5轉換成外部全局地址171.16.68.1)。因為此時還沒有為NAT路由器配置內部本地地址和內部全局地址轉換。此時,數據包在內、外部網絡中的源IP地址、目的IP地址的轉換方式如圖6-12所示。

【經驗之談】在僅進行外部地址NAT轉換時,無論數據包來自哪里,數據包中地址變化的只是外部地址之間的轉換。同樣也需注意,地址變化所對應的是源IP地址,還是目的IP地址是要看數據包是來自內部網絡,還是來自外部網絡:如果來自內部網絡,轉換是目的IP地址;如果來自外部網絡,轉換的是源IP地址。這與前面的內部地址NAT轉換是對應相反的。

NAT地址轉換原理全攻略

6-12外部地址NAT轉換示例

6.2.4 內/外部地址NAT轉換原理

下面介紹同時進行內、外部地址NAT轉換原理及基本配置步驟。它需要同時使用ip nat inside source命令定義“內部全局地址”與“內部本地地址”之間的轉換,及使用ip nat outside source命令定義“外部全局地址”和“外部本地地址”之間的轉換(既可以采用靜態NAT方式實現,也可以采取動態NAT方式實現)。這樣,無論數據包是從哪個方向發送的,數據包中的源地址和目的地址都將同時發生變化。主要應用于重疊網絡(Overloading Network)中的NAT應用中。具體配置方法將在本章6.6節介紹。

同樣以圖6-10所示的基本網絡結構為例進行介紹。在下面的示例中,通過配置可以實現:當NAT路由器內部網絡接口s0接收到來自內部網絡,源IP地址為內部本地地址10.10.10.1,目的IP地址為外部本地地址10.10.10.5的數據包,在轉發到s1接口前,將這個數據包中的源IP地址將轉換成內部全局地址171.16.68.5,目的IP地址將被轉換成外部全局地址171.16.68.1

NAT路由器外部接口s1接收到來自外部網絡,源IP地址為外部全局地址171.16.68.1,目的地址為內部全局地址172.16.68.5的數據包時,將源IP地址轉換成外部本地地址10.10.10.5,將目的IP地址將被轉換成內部本地址10.10.10.1

下面僅以靜態NAT轉換方式(可以采用動態NAT轉換方式)為例介紹內、外部地址同時轉換的配置步驟,詳細的靜態,或者動態NAT轉換配置方法將在本章后面具體介紹。

Router(config)#ip nat inside source static 10.10.10.1 171.16.68.5 !--- 在內部本地地址10.10.10.1與內部全局地址171.16.68.5之間建立靜態NAT映射關系,使內部網絡主機知道要以171.16.68.5這個地址到達外部網絡主機

Router(config)#ip nat outside source static 171.16.68.1 10.10.10.5 !--- 在外部全局地址171.16.68.1與外部本地地址10.10.10.5之間建立靜態NAT映射關系,使外部網絡主機知道要以10.10.10.5這個地址到達內部網絡主機

Router(config)#interface s 0

Router(config-if)#ip nat inside

Router(config-if)#end

Router(config)#interface s 1

Router(config-if)#ip nat outside

Router(config-if)#end

Router(config)# end

Router#show ip nat translations

Pro Inside global Inside local Outside local Outside global

--- --- --- 10.10.10.5 171.16.68.1

171.16.68.5 10.10.10.1 --- ---

同樣,如果此時分別執行一個從內部主機到外部主機,以及從外部主機到內部主機的ping操作,然后再在路由器特權模式下執行show ip nat translations命令,則顯示如下結果。因為此時同時配置了內、外部本地地址和全局地址,所以結果中顯示了兩條NAT配置項,分別顯示了與外部網絡和內部網絡中的本地地址和全局地址轉換對應的ping操作icmp消息:與外部本地地址和全局地址對應的Ping操作ICMP消息中顯示內部網絡中的本地地址和全局地址是一樣的,而與內部網絡本地地睛和全局地址對應的Ping操作ICMP消息中顯示外部網絡中的本地地址和全局地址是一樣的,都是對應的Ping操作目的主機地址。

Router#show ip nat translations

Pro Inside global Inside local Outside local Outside global

--- --- --- 10.10.10.5 171.16.68.1

icmp 10.10.10.1:4 10.10.10.1:4 10.10.10.5:4 171.16.68.1:4

icmp 171.16.68.5:39 10.10.10.1:39 171.16.68.1:39 171.16.68.1:39

--- 171.16.68.5 10.10.10.1 --- ---

經過以上配置后,數據包發送(無論是從哪個方面發送的)時不僅源IP地址會發生變化,目標IP地址也會同時發生變化,如圖6-13所示。

在由內部網絡向外部網絡發送的數據包中,源IP地址是由內部本地地址10.10.10.1)轉換成內部全局地址172.16.68.5),目的IP地址由外部本地地址10.10.0.5)轉換成外部全局地址171.16.68.1);在由外部網絡向內部網絡發送的數據包中,源IP地址是由外部全局地址171.16.68.1)轉換成外部本地地址10.10.0.5),目的IP地址由內部全局地址172.16.68.5)轉換成內部本地地址10.10.10.1)。兩個方向的數據包中的源IP地址和目的IP地址的轉換分別如圖6-14和圖6-15所示。

NAT地址轉換原理全攻略

6-13 同時配置了內、外部地址轉換后的NAT轉換示例

NAT地址轉換原理全攻略NAT地址轉換原理全攻略

6-14 數據包從內部網絡發到外部網絡時的地址轉換方式 圖6-15 數據包從外部網絡發到內部網絡時的地址轉換方式

從圖6-14和圖6-15可以看出,圖6-14中的源IP地址轉換過程恰好是圖6-15中的目的地址轉換的反過程。同理,圖6-14中的目的IP地址轉換過程恰好是圖6-15中的源IP地址轉換的反過程

另外,經過細心分析我們可以發現,在由內部網絡發往外部網絡的數據包中所進行的地址轉換都是由本地地址轉換為全局地址,也就是都是由內部網絡一側的地址向外部網絡一側的地址轉換;相反,在由外部網絡發往內部網絡的數據包中所進行的地址轉換都是由全局地址轉換為本地地址,也就是都是由外部網絡一側的地址向內部網絡一側的地址轉換。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

襄汾县| 金湖县| 峨边| 申扎县| 曲水县| 石首市| 米易县| 石渠县| 乌兰察布市| 建水县| 开平市| 潞城市| 钟祥市| 石狮市| 潼南县| 渭源县| 克拉玛依市| 惠来县| 凯里市| 瓦房店市| 上犹县| 错那县| 民丰县| 克东县| 进贤县| 翼城县| 大姚县| 仪陇县| 阿合奇县| 彭水| 鹤庆县| 金门县| 中卫市| 潮州市| 栾城县| 南川市| 邳州市| 房产| 郑州市| 汽车| 固阳县|