随着網際網路的飛速發展,越來越多的使用者加入網際網路,是以IP位址短缺已成為十分突出的問題。NAT(Network Address Translation)是解決IP位址短缺的重要手段。
NAT分為三種類型:靜态NAT、動态NAT和端口位址轉換PAT
1、 靜态NAT
靜态NAT中内部網絡中的每一個主機都被永久映射成外部網絡中某個合法的位址,靜态NAT将内部本地位址與外部合法位址進行一對一的轉換,且需要制定和哪個合法位址進行轉換;
2、 動态NAT
動态NAT首先要定義合法位址池,然後采用動态配置設定的方法映射到内部網絡,動态NAT是一對一的映射;
3、 端口位址轉換PAT
PAT則是把内部位址映射到外部網絡的IP位址的不同端口上,進而實作多對一的映射,可以優先節省IP位址;
實驗一、靜态NAT 配置
實驗拓撲圖
<a href="http://linuxtro.blog.51cto.com/attachment/201009/10/1239505_1284112800EwWo.jpg"></a>
實驗步驟:
配置 路由器R1提供NAT服務;
R1(config)#ip nat inside source static 92.168.1.1 202.96.12.3
R1(config)#ip nat inside source static 92.168.2.1 202.96.12.4
//配置靜态NAT位址映射
R1(config)#interface fastEthernet 1/0
R1(config-if)#ip nat inside
//配置内部接口映射
R1(config)#interface Serial0/0
R1(config-if)#ip nat outside
//配置外部接口映射
R1和R2使用RIPv2路由協定,
實驗調試
“debug ip nat”指令可以檢視位址轉換過程
在PC1上ping 2.2.2.2(R2路由器的環回測試接口)此時應該是通的,路由器R1的輸出資訊如下:
<a href="http://linuxtro.blog.51cto.com/attachment/201009/10/1239505_1284112808WteR.jpg"></a>
以上輸出顯示了NAT的轉換過程。首先把私有位址192.168.1.1轉換成公網位址202.96.12.3
,然後來通路2.2.2.2 ,然後回來的時候把公網位址202.96.12.3轉換成私有位址192.168.1.1
我們可以使用“show ip nat translation”指令來檢視NAT表
<a href="http://linuxtro.blog.51cto.com/attachment/201009/10/1239505_12841128131za5.jpg"></a>
以上輸出表明内部全局位址和内部局部位址的對應關系
【注】:
内部局部位址:在内部網絡使用的位址
内部全局位址:用來代替一個或多個本地IP位址的、對外的位址
外部局部位址:一個外部主機相對于内部網絡所用的位址,不一定是合法位址
外部全局位址:外部網絡主機的合法IP位址
實驗二、動态NAT
實驗拓撲圖如實驗一
配置路由器R1提供NAT服務
R1(config)#ip nat pool NAT 202.96.12.10 202.96.12.20 netmask 255.255.255.0
R1(config)#ip nat inside source list 1 pool NAT
//配置動态NAT轉換的位址池
<a href="http://linuxtro.blog.51cto.com/attachment/201009/10/1239505_1284112816MTIy.jpg"></a>
如果動态NAT中沒有足夠的位址做動态映射,則會出現類似下面的資訊,提示NAT轉換失敗,并丢棄資料包。
*Mar 1 04:09:21.666: NAT: translation failed (A), dropping packet s=192.168.1.1 d=2.2.2.2
可以使用“show ip nat statistics”指令用來檢視 NAT 轉換的統計資訊。
<a href="http://linuxtro.blog.51cto.com/attachment/201009/10/1239505_128411282349un.jpg"></a>
R1#show ip nat statistics
Total active translations: 2 (0 static, 2 dynamic; 0 extended)
//有兩個是動态轉換
Outside interfaces:
Serial0/0 //NAT外部接口
Inside interfaces:
FastEthernet1/0 //NAT内部接口
Hits: 12 Misses: 12
CEF Translated packets: 24, CEF Punted packets: 0
Expired translations: 12 //NAT轉換中過期的轉換
Dynamic mappings: //動态映射
-- Inside Source
[Id: 2] access-list 1 pool NAT refcount 2
pool NAT: netmask 255.255.255.0 //位址池名字和掩碼
start 202.96.12.10 end 202.96.12.20 //位址池範圍
type generic, total addresses 11, allocated 2 (18%), misses 0 //共11個位址,分出去2個
-- Inside Destination
[Id: 1] access-list 1 pool NAT refcount 0
pool NAT: netmask 255.255.255.0
start 202.96.12.10 end 202.96.12.20
type generic, total addresses 11, allocated 2 (18%), misses 0
Queued Packets: 0
本文轉自 linuxtro 51CTO部落格,原文連結:http://blog.51cto.com/linuxtro/390017,如需轉載請自行聯系原作者