地址轉換出現的背景
IANA
(The Internet Assigned Numbers Authority
,互聯網數字分配機構)向超大型企業/組織分配A
類網絡地址,一次一段。向中型企業或教育機構分配B
類網絡地址,一次一段。這樣一種分配策略使得IP
地址浪費很嚴重,很多被分配出去的地址沒有真實被利用,地址消耗很快。以至於二十世紀90
年代初,網絡專家們意識到,這樣大手大腳下去,IPv4
地址很快就要耗光了。於是,人們開始考慮IPv4
的替代方案,同時採取一系列的措施來減緩IPv4
地址的消耗。正是在這樣一個背景之下,本期的主角閃亮登場,它就是網絡地址轉換——NAT
。
NAT的工作原理
NAT
(Network Address Translation
,網絡地址轉換),就是替換IP
報文頭部的地址信息。NAT
通常部署在一個組織的網絡出口位置,通過將內部網絡IP地址替換爲出口的IP
地址提供公網可達性和上層協議的連接能力。
NAT實現方式
- 靜態轉換(
Static Translation
) - 動態轉換(
Dynamic Translation
) - 端口多路複用(
Port Address Translation, PAT
)
NAT的術語與轉換表
NAT包含的4類地址
- 內部局部地址(源IP:192.168.1.3)
- 外部局部地址(目的IP:202.120.10.2)
- 內部全局地址(源IP:202.169.10.1)
- 外部全局地址(目的IP:202.120.10.2)
NAT的轉換條目
- 簡單轉換條目
- 擴展轉換條目
NAT實現方法的工作過程
- 靜態轉換和動態轉換
- PAT
NAT的特性
NAT的優點
- 節省公有合法IP地址
- 處理地址重疊
- 增強靈活性
- 安全性
NAT的缺點
- 延遲增大
- 配置和維護的複雜性
- 不支持某些應用,可以通過靜態NAT映射來避免
NAT配置步驟
- 接口IP地址配置
- 使用訪問控制列表定義哪些內部主機能做NAT
- 決定採用什麼共有地址,靜態或地址池
Router(config)#ip nat pool pool-name star-ip end-ip {netmask netmask | prefix-length prefix-length} [type rotary]
- 指定地址轉換映射
Router(config)#ip nat inside source static local-ip [extendable]
Router(config)#ip nat inside source list access-list-number pool pool-name [overload]
- 在內部和外部端口上啓用NAT
靜態NAT配置
- 將內網地址192.168.100.2、192.168. 100.3靜態轉換爲合法的外部地址61.159.62.131、61.159.62.132,以便訪問外部網絡或被外部網絡訪問
- 設置外部端口的IP地址:
Router(config)#interface FastEthernet 0/0
Router(config-if)#ip address 61.159.62.130 255.255.255.248
Router(config-if)#no shut
- 設置內部端口的IP地址:
Router(config)#interface FastEthernet 1/0
Router(config-if)#ip address 192.168.100.1 255.255.255.0
Router(config-if)#no shut
- 建立靜態地址轉換:
Router(config)#ip nat inside source static 192.168.100.2 61.159.62.130
Router(config)#ip nat inside source static 192.168.100.3 61.159.62.131
- 在內部和外部端口上啓用NAT:
Router(config )#interface FastEthernet 0/0
Router(config-if)#ip nat outside
Router(config)#interface FastEthernet 1/0
Router(config-if)#ip nat inside
- 配置默認路由:
Router(config)#ip route 0.0.0.0 0.0.0.0 61.159.62.129
NAT端口映射
- 建立NAT端口映射關係
Router(config)#ip nat inside source static protocol local-ip UDP/TCP-port global-ip UDP/TCP-port [extendable]
- 配置實例
Router(config)#ip nat inside source static tcp 192.168.100.2 80 61.159.62.131 8080 extendable
動態NAT配置
- 將內部地址192.168.100.2~192.168.100.254轉換爲合法地址61.1 59.62.131~61.159.62.190,以便訪問Internet
- 設置外部端口的IP地址:
Router(config)#interface FastEthernet 0/0
Router(config-if)#ip address 61.159.62.130 255.255.255.192
Router(config-if)#no shut
- 設置內部端口的IP地址:
Router(config)#interface FastEthernet 1/0
Router(config-if)#ip address 192.168.100.1 255.255.255.0
Router(config-if)#no shut
- 定義訪問控制列表
Router(config)#access-list 1 permit 192.168.100.0 0.0.0.255 //此處子網掩碼反寫
- 定義合法IP地址池
Router(config)#ip nat poo[test061.159.62.131 61.159.62.190 netmask 255.255.255.192 //正常書寫掩碼
- 實現網絡地址轉換
Router(config)#ip nat inside source list 1 pool test0
- 在內部和外部端口上啓用NAT,以及配置默認路由
- 與靜態NAT配置相同
PAT配置
- 將內部網絡地址10.1.1.1~10.1.1.254轉換爲合法的地址61.159.62.131/29,以便訪問Internet
- 設置外部端口的IP地址:
Router(config)#interface FastEthernet 0/0
Router(config-if)#ip address 61.159.62.130 255.255.255.192
Router(config-if)#no shu
- 設置內部端口的IP地址:
Router(config)#interface FastEthernet 1/0
Router(config-if)#ip address 10.1.1.1 255.255.255.0
Router(config-if)#no shu
- 定義訪問控制列表:
Router(config)#access-list 1 permit 10.1.1.0 0.0.0.255
- 定義合法IP地址池:
Router(config)#ip nat pool onlyone 61.159.62.131 61.159.62.131 netmask 255.255.255.248
- 實現網絡地址轉換:
Router(config )#ip nat inside source list 1 pool onlyone overload //進行端口複用
- 在內部和外部端口.上啓用NAT,以及配置默認路由
- 與靜態NAT配置相同
複用路由器外部接口地址
- 定義內部訪問列表
Router(config)#access-list 1 permit 10.1.1.0 0.0.0.255
-
定義合法的IP地址池
- 由於直接使用外部接口地址,所以不再定義IP地址池
- 設置複用動態IP地址轉換
Router(config)#ip nat inside source list 1 interface FastEthernet 0/0 overload
- 在內部和外部端口.上啓用NAT,以及配置默認路由
- 與靜態NAT配置相同