一、 NAT簡介
NAT(Network Address Translation)的功能,就是指在一個網絡内部,根據需要可以随意自定義的IP位址,而不需要經過申請。在網絡内部,
各計算機間通過内部的IP位址進行通訊。而當内部的計算機要與外部internet網絡進行通訊時,具有NAT功能的裝置(比如:路由器)負責将其内部的IP位址轉換為合法的IP位址(即經過申請的IP位址)進行通信。
二、 關于NAT的幾個概念:
1、 内部本地位址(Inside Local Address)
配置設定給内部網絡中的PC機的私有IP位址,一般都是我們常見的10.0.0.0/172.16.0.0/192.168.0.0
2、 内部全局位址(Inside Global Address)
對外進行IP通信時,代表一個或多個内部本地位址的合法IP位址
3、 外部本地位址(Outside Local Address)
由主機的擁有者配置設定給在外部網上的主機的IP位址.該位址不一定是屬于合法的IP位址,但一定是可以路由的IP位址.
4、 外部全局位址 (outside global address)
外部網絡使用的位址.它是一個公有的IP位址
三、 優點與缺點
1、節省IP。有了NAT技術,我們可以讓一個企業内部的PC機共用少量的公網IP來連上Internet,而不需要為每一台PC都申請一個IP。這樣做太浪費了,大家都知道,私有位址是不能在公網上路由的,如果要想拿到公網IP,有一個辦法就是花錢申請,對外部網絡屏蔽了内部的網絡拓撲。
2、内部網絡中的PC機和外部通信的時候,在邊緣經過NAT轉換才把資料包交出去,速度上會稍微慢一些
實驗一:配置靜态NAT
用途:可以把企業内某一台伺服器或計算機内部IP位址單獨映射到外網位址,
使其可以對外提供服務。
拓撲如下<b>:</b>
<b></b><b></b>
<b>具體配置:</b><b></b>
R1:
Router>en
Router#conf t
Router(config)#hostname R1
R1(config)#interface f0/0
R1(config-if)#ip address 192.168.1.254 255.255.255.0
R1(config-if)#no sh
R1(config-if)#exit
R1(config)#interface f0/1
R1(config-if)#ip address 218.87.18.23 255.255.255.0
R1(config)#ip nat inside source static 192.168.1.1 218.87.18.23
--這條語句說明把内部本地位址192.168.1.1靜态映射内部全局位址218.87.18.23 (也就是下面那台PC的位址)
R1(config-if)#ip nat inside --使用NAT辨別内部接口
R1(config-if)#interface f0/1
R1(config-if)#ip nat outside --使用NAT辨別外部接口
R1(config-if)#end
R1#
ISP:
Router(config)#hostname ISP
ISP(config)#interface f0/1
ISP(config-if)#ip address 218.87.18.24 255.255.255.0
ISP(config-if)#no sh
ISP(config-if)#end
ISP#
<b>驗證在PC拼ISP:</b><b></b>
PC>ping 218.87.18.24
Pinging 218.87.18.24 with 32 bytes of data:
Reply from 218.87.18.24: bytes=32 time=73ms TTL=254
Reply from 218.87.18.24: bytes=32 time=41ms TTL=254
Reply from 218.87.18.24: bytes=32 time=36ms TTL=254
Reply from 218.87.18.24: bytes=32 time=39ms TTL=254
Ping statistics for 218.87.18.24:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 36ms, Maximum = 73ms, Average = 47ms
PC>
<b>檢視NAT轉換表:</b><b></b>
R1#show ip nat translations
/協定 /内部全局位址 /内部本地位址 /外部全局位址
Pro Inside global Inside local Outside local Outside global
icmp 218.87.18.23:3 192.168.1.1:3 218.87.18.24:3 218.87.18.24:3
icmp 218.87.18.23:4 192.168.1.1:4 218.87.18.24:4 218.87.18.24:4
icmp 218.87.18.23:5 192.168.1.1:5 218.87.18.24:5 218.87.18.24:5
icmp 218.87.18.23:6 192.168.1.1:6 218.87.18.24:6 218.87.18.24:6
--- 218.87.18.23 192.168.1.1 --- ---
實驗二:配置動态NAT
用途:如果企業當中向服務提供商申請了多個或者一串公網位址,使企業内成員都能通路網際網路或者提供服務
拓撲如下:
Router>
R1(config-if)#int f0/1
R1(config)#access-list 1 permit 192.168.1.0 0.0.0.255 --定義允許的流量
R1(config)#ip nat pool lab 218.87.18.21 218.87.18.23 netmask 255.255.255.0
--定義名為lab的公網IP位址池,範圍為:218.87.18.21 – 218.87.18.23
R1(config)#ip nat inside source list 1 pool lab overload
--定義允許通路控制清單1的流量從lab位址池中轉發出去,overload表示多路複用
R1(config-if)#ip nat inside --使用NAT辨別内部接口
R1(config-if)#interface f0/1 --使用NAT辨別外部接口
R1(config-if)#ip nat outside
Reply from 218.87.18.24: bytes=32 time=53ms TTL=254
Reply from 218.87.18.24: bytes=32 time=21ms TTL=254
Minimum = 36ms, Maximum = 73ms, Average = 47ms
icmp 218.87.18.21:30 192.168.1.1:30 218.87.18.24:30 218.87.18.24:30
icmp 218.87.18.21:31 192.168.1.1:31 218.87.18.24:31 218.87.18.24:31
icmp 218.87.18.21:32 192.168.1.1:32 218.87.18.24:32 218.87.18.24:32
icmp 218.87.18.21:33 192.168.1.1:33 218.87.18.24:33 218.87.18.24:33
icmp 218.87.18.21:34 192.168.1.1:34 218.87.18.24:34 218.87.18.24:34
icmp 218.87.18.21:35 192.168.1.1:35 218.87.18.24:35 218.87.18.24:35
icmp 218.87.18.21:36 192.168.1.1:36 218.87.18.24:36 218.87.18.24:36
<b>注:由于下面隻有一台PC,從以上表中不能看出所有的公網IP都被使用,大家用實驗時可以下面挂兩台或多台計算機.</b><b></b>
實驗三:配置PAT(端口位址轉換) ----拓撲為實驗一拓撲
用途:這種方式是最普遍,也是最常用的方法,當企業僅隻有申請了一個公網IP位址的情況下,我們可以使用PAT方式來實作企業内部能夠通路網際網路.
R1(config)#ip nat inside source list 1 interface f0/1 overload
--定義所有符合通路控制清單1的流量,全部從F0/1接口轉發出去.
R1(config-if)#ip nat inside
Reply from 218.87.18.24: bytes=32 time=86ms TTL=254
Reply from 218.87.18.24: bytes=32 time=45ms TTL=254
Reply from 218.87.18.24: bytes=32 time=49ms TTL=254
Reply from 218.87.18.24: bytes=32 time=35ms TTL=254
Minimum = 35ms, Maximum = 86ms, Average = 53ms
icmp 218.87.18.23:43 192.168.1.1:43 218.87.18.24:43 218.87.18.24:43
icmp 218.87.18.23:44 192.168.1.1:44 218.87.18.24:44 218.87.18.24:44
icmp 218.87.18.23:45 192.168.1.1:45 218.87.18.24:45 218.87.18.24:45
icmp 218.87.18.23:46 192.168.1.1:46 218.87.18.24:46 218.87.18.24:46
<b>總結:</b><b></b>
<b>網絡位址轉換就是将一個IP位址用另一個IP位址代替。盡管最初設計網絡位址轉換的目的是為了增加在專用網絡中可使用的IP位址數,但是它有一個隐蔽的安全特性,如内部主機隐蔽等,保證了網絡的一定安全。網絡位址轉換主要用在兩個方面:</b>
<b>(1)網絡管理者希望隐藏内部網絡的IP位址。這樣,網際網路上的主機無法判斷内部網絡的情況; </b>
(2内部網絡的IP位址是無效的。這種情況主要是因為現在的IP位址不夠用,要申請到足夠多的合法IP位址很難辦到,是以需要轉換IP位址。
<b> </b><b>在上面兩種情況下,内部網對外面是不可見的,網際網路不能通路内部網,但是内部網主機之間可以互相通路。</b>
本文轉自 meiyanaa 51CTO部落格,原文連結:http://blog.51cto.com/justim/240713,如需轉載請自行聯系原作者