NAT地址轉換——緩解IP地址緊缺,有效隱藏內部主機,處理地址重疊,但延遲增大,配置和維護複雜,不支持某些應用
NAT轉換方式:
只更改源地址
只更改目的地址
同時更改源地址和目的地址
NAT轉換方式:靜態轉換、動態轉換、端口轉換
NAT對應用是透明的
動態端口地址轉換(DynamicPAT)--當多個本地地址映射到同一個全局地址時,用端口號來區別不同的本地地址
協議類型--TCP/UDP
協議端口號
PAT表項包含內部全局地址和端口號、內部本地地址和端口號、外部本地地址和端口號以及外部全局地址和端口號
本地地址——主機發送的數據包所含
全局地址——經路由器轉換後的數據包所含,全局可路由
內部本地地址——內部主機實際地址
內部全局地址——內部地址經路由器轉換後在外部顯示的地址,代替一個或多個本地IP地址,對外的,合法主機地址
外部本地地址——外部地址經路由器轉換後在內部顯示的地址,不一定是合法地址
外部全局地址——外部主機實際地址,合法主機地址
inside和outside指設備所在的真實位置
local指設備在inside時的標識
global指設備在outside時的標識
inside接口收到IP包,先路由,若包要由inside到outside,就再NAT
outside接口收到IP包,先查NAT表看是否有對應條目,有就進行NAT並再路由,沒有就直接查看路由表
靜態NAT將一個內部地址轉換爲全局的、唯一地外部地址,可以訪問外部又能爲外部所訪問
動態NAT地址轉換本質上與靜態是一致的,只是先定義一個轉換地址池,當PC有一個向外的連接請求時,從地址池中取出一個IP地址,當連接斷開時將把取出的IP重新放入池中,以供其他PC向外連接時使用
動態轉換可以讓一個公網IP地址被不同的站點使用多次,比靜態只能讓一個特定站點使用跟高效
雖然動態地址轉換高效且利於管理,但外部用戶不能訪問內部特定的地址,因爲他們之間沒有靜態映射,當每個會話結束後,主機再次發起連接,很可能分配不同於上次的本地全局地址,所以不可能用一個本地全局地址訪問內部特定的地址
NAT配置步驟:
1.接口IP地址配置
2.使用訪問控制列表定義能做NAT的主機
3.定義可用的公有地址、靜態地址池或者端口地址
4.關聯地址轉換映射
5.在內部和外部端口上啓用NAT
實驗1配置靜態NAT轉換
如圖,R2爲NAT路由器,連接內網R1和外網R3,環回口和直連均已配好,R1與R2之間運行RIP,R2有一條前往R3的默認路由,R3上也有一條回R2的默認路由。
R1(config)# router rip
R1(config-router)# network 10.0.0.0
R1(config-router)# network 192.168.1.0
R1(config-router)# no auto-summary
R2(config)#router rip
R2(config-router)# network 10.0.0.0
R2(config-router)# no auto-summary
R2(config-router)# default-information originate
//RIP產生默認路由,使R1無路由匹配時可通過該條路由到達R2
R2(config-router)# exit
R2(config)#ip route 0.0.0.0 0.0.0.0 23.1.1.3
//前往R3的默認路由
R3(config)# ip route 0.0.0.0 0.0.0.0 23.1.1.2
//前往R2的默認路由
現有一臺內網的主機如R1環回口lo0:192.168.1.1,想要訪問外網的一臺服務器如R3環回口lo0:33.1.1.1,而R2連接外網的接口e0/1配置一公網地址:23.1.1.2,此時需要在NAT路由器R2上做靜態NAT來實現,如下:
R2(config)# ip nat inside source static 192.168.1.1 23.1.1.2
//將內部本地地址映射爲內部全局地址
R2(config)# interface e0/0//在接口下啓用NAT
R2(config-if)# ip nat inside
R2(config-if)# interface e0/1
R2(config-if)# ip nat outside
配置好後,在R2上顯示下NAT地址轉換表的情況(靜態映射時,地址轉換表一直存在)如圖:
在NAT路由器R2上打開對NAT轉換情況的監視:debug ip nat
然後在R1上用環回口地址192.168.1.1去ping下外網地址33.1.1.1,ping通後,在R2查看到的情況如下:
可以看到,192.168.1.1前往33.1.1.1的ping包,其源地址經過NAT轉換成23.1.1.2後再到達目的地址33.1.1.1的
再在R3上用33.1.1.1ping一下地址23.1.1.2(外網主機是不知道內網地址192.168.1.1存在的),ping通後,在R2查看到的情況如下:
可以看到由33.1.1.1前往23.1.1.2的ping包中目的地址23.1.1.2到NAT路由器R2時被轉化爲192.168.1.1,之後再傳到內網lo0口上。
由此可知,配置靜態NAT,可使得單一內網地址轉化爲一個可路由的公有地址,再直接與外網地址連通,即實現了內部主機與外部服務器的資源互訪。
歡迎來羣一起交流:166684620