標簽:
NAT概述
網絡地址轉換(NAT)通過將內部網絡的私有IP地址翻譯成全球唯一的公網IP地址,使內部網絡可以連接到互聯網等外部網絡上,廣泛應用于各類型的互聯網接入方式和各種類型的網絡中。
NAT的實現方式有一下三種
1,靜態(tài)地址轉換:將內部網絡的私有IP地址轉換為公有的合法的IP地址,IP地址的對應關系是一對一的,而且是不變的,即某個私有的IP地址只能轉換為某個固定的公有IP地址。
2,動態(tài)地址轉換:將內部網絡的私有地址轉換為公有地址時,IP地址的對應關系式不確定的,而是隨機的,所有被授權訪問互聯網的私有地址可隨機轉換為任何指定的合法外部IP地址(注意:動態(tài)地址轉換需要配置私有IP地址池和公有IP地址池,并且私有IP地址的數量不可以大于公有IP地址的數量)。
3,端口多路復用:改變外出數據包的源IP地址和源端口并進行端口轉換,即端口地址轉換采用端口多路復用方式。內部網絡的所有主機均可共享一個合法的外部IP地址實現互聯網的訪問,從而可以最大限度地節(jié)約IP地址資源。
配置三種NAT的語法如下
1、配置靜態(tài)NAT
在內部地址和路由器的外部接口地址之間建立靜態(tài)地址轉換的語法如下:
Router(config)#ip nat inside source static local-ip global-ip [extendable]
各參數解釋如下
inside source:表示從inside口進入的流量將源地址(source)進行靜態(tài)轉換。
local-ip:內部IP地址
global-ip:外部IP地址
extendable:(可選)表示允許同一個內部地址映射到多個外部地址。
列如:配置將內部服務器192.168.1.100映射到路由器的公有IP地址202.106.123.1上。
Router(config)#ip nat inside source static 192.1681.100 202.106.123.1
2、配置NAT端口映射
將內部地址的TCP或UDP端口映射到外部地址的語法如下:
Router(config)#ip nat inside source static protocol local-ip UDP/TCP-port global-ip UDP/TCP-port [extendable]
各參數解釋如下
inside source:表示從inside口進入的流量將源地址(source)進行靜態(tài)轉換。
local-ip UDP/TCP-port:內部IP地址和端口號。
global-ip UDP/TCP-port:外部IP地址和端口號。
extendable:(可選)表示允許同一個內部地址映射到多個外部地址。
列如:將內部web服務器192.168.2.200的8080端口隱射到外部202.106.123.2的80端口上。
Router(config)#ip nat inside source static tcp 192.1681.100 8080 202.106.123.1 80
3、配置動態(tài)NAT
在配置動態(tài)的NAT時,需要創(chuàng)建允許訪問外網的內部地址池和需要映射的外部地址池,注意:內部IP地址數不可以大于外部IP地址數。
創(chuàng)建內部允許訪問外網的地址池,這里我們可以結合上一章我所學的ACL。
列如:使用ACL定義一個允許訪問外網的網段。
Router(config)#access-list 1 permit 192.168.10.0 0.0.0.255
定義外部地址池的語法如下:
Router(config)#ip nat pool pool-name start-ip end-ip {netmask netmask | prefix-length prefix-length} [type rotary]
各參數解釋如下:
pool-name:放置外部地址的地址池名稱。
start-ip/end-ip:地址池內起始和終止IP地址。
netmask netmask:子網掩碼,以點分十進制數表示。
prefix-length prefix-length:子網掩碼,以掩碼中1的數量表示(如:prefix-length 24等同于 netmask 255.255.255.0)。
type rotary:(可選)地址池的地址為循環(huán)使用。
列如:創(chuàng)建一個外部地址池。
Router(config)#ip nat pool test 61.159.62.131 61.159.62.190 netmask 255.255.255.192
將創(chuàng)建好的內部地址池和外部地址池進行地址轉換語法如下:
Router(config)#ip nat inside source list access-list-number pool poo-name [overload]
overload:(可選)表示使用地址復用。
列如:將上面創(chuàng)建好的內部地址池和外部地址池進行地址轉換。
Router(config)#ip nat inside source list 1 pool test
配置端口多路復用(PAT)
端口多路復用可以針對外部地址進行轉換,也可以直接使用路由器的外部接口IP地址進行轉換。
配置端口多路復用也需要創(chuàng)建內部地址池和外部地址池,方法和動態(tài)NAT一樣。
列如:配置端口多路復用,允許192.168.100.0/24網段的內部IP通過202.106.123.1這個外部地址上網。
1、創(chuàng)建內部地址池
Router(config)#access-list 2 permit 192.168.100.0 0.0.0.255
2、創(chuàng)建外部地址池
Router(config)#ip nat pool test1 202.106.123.1 202.106.123.1 netmask 255.255.255.192
3、設置復用動態(tài)地址轉換
Router(config)#ip nat inside source list 2 pool test1 overload
也可以不創(chuàng)建外部地址池,而直接使用路由器的外部接口。
Router(config)#ip nat inside source list 2 int f0/0 overload
不管配置的是那種類型的NAT,最后都不要在路由器接口上啟用NAT,否則配置無效。
在路由器的接口上啟用NAT。
Router(config)#int f0/0
Router(config-if)#ip nat outside
Router(config)#int f1/0
Router(config-if)#ip nat inside
設置NAT功能的路由器需要有一個內部端口(inside)和一個外部端口(outside)。內部端口連接的網絡使用的是內部IP地址,外部端口連接的是外部的網絡,如互聯網。
|