登錄

網(wǎng)絡(luò)地址轉(zhuǎn)換

百科 > 互聯(lián)網(wǎng) > 網(wǎng)絡(luò)地址轉(zhuǎn)換

1.什么是網(wǎng)絡(luò)地址轉(zhuǎn)換[1]

網(wǎng)絡(luò)地址轉(zhuǎn)換是用于將一個專用地址域(局域網(wǎng)內(nèi)部或Intranet)與另一個地址域(如Internet)建立起對應(yīng)關(guān)系的技術(shù)。這種對應(yīng)關(guān)系稱為映射。NAT允許一個機構(gòu)的專用Intranet或局域網(wǎng)中的主機透明地連接到公共域中的主機,不用內(nèi)部主機擁有注冊的Internet地址。使用內(nèi)部地址的主機在訪問Internet時,或者被Internet上的主機訪問時,數(shù)據(jù)包均需要進行內(nèi)部專用地址與Internet公用地址之問的轉(zhuǎn)換。

2.網(wǎng)絡(luò)地址轉(zhuǎn)換的特點[2]

(1)將內(nèi)部網(wǎng)絡(luò)連接到Internet。NAT可以用少數(shù)幾個甚至一個合法的IP地址映射多個內(nèi)部主機地址,這樣就可大大減緩合法IP地址耗盡的問題。而且NAT修改了數(shù)據(jù)包的源地址,使外部設(shè)備看不到內(nèi)部設(shè)備的地址,因此網(wǎng)絡(luò)的安全性也得到了一定的保障。

(2)當變更ISP時,雖然ISP分配給用戶的地址變了,但是用戶仍無須改變內(nèi)部設(shè)備的地址,只需在NAT路由器上做出相應(yīng)的修改就可以輕松完成網(wǎng)絡(luò)的升級,并且NAT在網(wǎng)絡(luò)合并方面也有著很大的應(yīng)用場合。

(3)支持TCP負載均衡。通過使用NAT,可以把內(nèi)部的幾臺服務(wù)器捆綁成一臺虛擬服務(wù)器,這些服務(wù)器在外部設(shè)備看來只是一臺服務(wù)器。當流量進入內(nèi)部網(wǎng)絡(luò)時,NAT可以在這幾臺服務(wù)器之間自動進行分流,這樣就增加了網(wǎng)絡(luò)的可靠性。

3.網(wǎng)絡(luò)地址轉(zhuǎn)換的工作原理[2]

Image:服務(wù)和端口選項卡.jpg

圖1“服務(wù)和端口”選項卡

如圖1所示,NAT將網(wǎng)絡(luò)分為內(nèi)、外兩部分,位于內(nèi)部網(wǎng)絡(luò)和外部網(wǎng)絡(luò)邊界的NAT路由器執(zhí)行著地址翻譯的操作。

顧名思義,NAT是一種把內(nèi)部私有網(wǎng)絡(luò)地址翻譯成合法網(wǎng)絡(luò)地址的技術(shù)。簡單地說,NAT就是在局域網(wǎng)內(nèi)部使用私有IP地址,當需要與外部網(wǎng)絡(luò)進行通信時,就在網(wǎng)關(guān)處將內(nèi)部地址替換成公用地址。通過使用NAT技術(shù),可以只申請一個合法IP地址,就把整個局域網(wǎng)中的計算機接人Internet中。這時,NAT屏蔽了內(nèi)部網(wǎng)絡(luò),所有內(nèi)網(wǎng)資源對于公共網(wǎng)絡(luò)來說是不可見的,而內(nèi)部用戶通常也不會意識到NAT的存在。

NAT功能通常被集成到路由器、防火墻、ISDN路由器或者單獨的NAT設(shè)備中。網(wǎng)絡(luò)管理員只需在路由器的IOS中設(shè)置NAT功能,就可以實現(xiàn)對內(nèi)部網(wǎng)絡(luò)的屏蔽。另外,對小型企業(yè)來說,通過軟件也可以實現(xiàn)這一功能,例如5.1.5節(jié)中介紹的WindowsServer2003接人服務(wù)中也包含了這一功能。

4.網(wǎng)絡(luò)地址轉(zhuǎn)換的過程[3]

(1)內(nèi)部主機x用本地地址IPX和因特網(wǎng)上主機Y通信所發(fā)送的數(shù)據(jù)報必須經(jīng)過NAT路由器。

(2)NAT路由器將數(shù)據(jù)報的源地址IP轉(zhuǎn)換成全球地址IPG,但目的地址IPY保持不變,然后發(fā)送到因特網(wǎng)。

(3)NAT路由器收到主機Y發(fā)回的數(shù)據(jù)報時,知道數(shù)據(jù)報中的源地址是IPY,而目的地址是IPG。

(4)根據(jù)NAT轉(zhuǎn)換表,NAT路由器將目的地址IPG轉(zhuǎn)換為IPx,轉(zhuǎn)發(fā)給最終的內(nèi)部主機X。

5.網(wǎng)絡(luò)地址轉(zhuǎn)換的實現(xiàn)方式[3]

NAT的實現(xiàn)方式有三種,即靜態(tài)轉(zhuǎn)換StaticNat、動態(tài)轉(zhuǎn)換DynamicNat和端口多路復(fù)用PAT。

靜態(tài)轉(zhuǎn)換是指將內(nèi)部網(wǎng)絡(luò)的私有IP地址轉(zhuǎn)換為公有IP地址,口地址對是一對一的,是一成不變的,某個私有IP地址只轉(zhuǎn)換為某個公有IP地址。借助于靜態(tài)轉(zhuǎn)換,可以實現(xiàn)外部網(wǎng)絡(luò)對內(nèi)部網(wǎng)絡(luò)中某些特定設(shè)備(如服務(wù)器)的訪問。

動態(tài)轉(zhuǎn)換是指將內(nèi)部網(wǎng)絡(luò)的私有Ip地址轉(zhuǎn)換為公用IP地址時,IP地址是不確定的,而是隨機的,所有被授權(quán)訪問上Internet的私有IP地址可隨機轉(zhuǎn)換為任何指定的合法IP地址。也就是說,只要指定哪些內(nèi)部地址可以進行轉(zhuǎn)換,以及用哪些合法地址作為外部地址時,就可以進行動態(tài)轉(zhuǎn)換。動態(tài)轉(zhuǎn)換可以使用多個合法外部地址集。當ISP提供的合法IP地址略少于網(wǎng)絡(luò)內(nèi)部的計算機數(shù)量時,可以采用動態(tài)轉(zhuǎn)換的方式。

端口多路復(fù)用是指改變外出數(shù)據(jù)包的源端口并進行端口轉(zhuǎn)換,即端口地址轉(zhuǎn)換。它采用端口多路復(fù)用方式。內(nèi)部網(wǎng)絡(luò)的所有主機均可共享一個合法外部口地址實現(xiàn)對Intemet的訪問,從而可以最大限度地節(jié)約Ⅲ地址資源。同時,又可隱藏網(wǎng)絡(luò)內(nèi)部的所有主機,有效避免來自Intemet的攻擊。因此,目前網(wǎng)絡(luò)中應(yīng)用最多的就是端口多路復(fù)用方式。

6.網(wǎng)絡(luò)地址轉(zhuǎn)換NAT配置[1]

按轉(zhuǎn)換方式的不同,NAT包括靜態(tài)NAT和動態(tài)NAT兩種方式,動態(tài)NAT又分為地址池轉(zhuǎn)換(PoolNAT)和端口地址轉(zhuǎn)換(PortNAT),分別介紹如下。

1.靜態(tài)NAT

靜態(tài)NAT用于在專用IP地址與公用IP地址之間進行一對一的轉(zhuǎn)換。其配置過程如下:

!指定參與轉(zhuǎn)換的專用地址與公用地址

Router(config)#ip nat inside soure static local—ip global—ip

!指定參與轉(zhuǎn)換的局域網(wǎng)接口

Route(config)#interface E 0

Router(config—if)#ip address ip—address submask

!定義此為網(wǎng)絡(luò)的內(nèi)部接口

Router(config—if)# ip nat inside

!指定參與轉(zhuǎn)換的廣域網(wǎng)接口

Router(config)#interface S 0

Router(config—if)#ip address ip—address submask

!定義此為網(wǎng)絡(luò)的外部接口

Router(COnfig-if)#ip nat outside

2.動態(tài)地址轉(zhuǎn)換

(1)PoolNAT配置

PoolNAT執(zhí)行專用地址與公用地址的一對一轉(zhuǎn)換,但是公用地址與專用地址的對應(yīng)關(guān)系不是一成不變的,它是從公用地址池(Pool)中動態(tài)地選擇一個公用地址與一個內(nèi)部專用地址相對應(yīng)。

定義公用地址池(申請到的合法IP地址的范圍)的命令格式為

IP nat pool name start—ip end—ip netmask

定義一個標準訪問列表,指定哪些專用地址被允許進行轉(zhuǎn)換,其命令格式為

access—list access—list-number permit source—ip—address [source—wildcard]

其中,access—list—number取值為1~99;通配符掩碼的作用與子網(wǎng)掩碼類似,但它是子網(wǎng)掩碼的反碼。例如,若允許202.173.96.o/24網(wǎng)絡(luò)的全部主機進行動態(tài)地址轉(zhuǎn)換,則可以使用下列命令:

access—list 1 permit 202.173.96.00.0.0.255

在專用地址與公用地址之間建立動態(tài)地址轉(zhuǎn)換pool NAT,可以使用下列命令:

ip nat inside soure list access一list—number pool pool一name

若地址池名稱為aaa,則命令“ip nat inside source list 1 pool aaa”表示把“access—list l”允許的內(nèi)部地址映射為地址池aaa定義的公用地址。

(2)Port NAT配置

Port NAT是把專用地址映射到公用地址的不同端口上,因為一個IP地址的端口數(shù)有65535個,即一個公用地址可以和最多達65535個內(nèi)部地址建立映射,故從理論上說,一個公用地址可以供六萬多個內(nèi)部地址通過NAT連接Internet。

這里仍需要使用ip nat pool命令定義一個公用地址池,然后利用access—list命令配置訪問列表,指定哪些專用地址被允許進行轉(zhuǎn)換。最后使用ip nat inside命令,在專用地址與公用地址之間建立端口地址轉(zhuǎn)換,但是其格式與pool NAT有所不同,格式為:

ip nat inside source list access—list—number pool pool—name over load

;3.NAT配置示例

企業(yè)網(wǎng)Intranet通過DDN專線共享公用地址訪問Internet。已知Intranet內(nèi)部采用網(wǎng)絡(luò)地址192.168.1.0 255.255.255.0,申請到的公用Internet地址為202.128.62.33~202.128.62.62,子網(wǎng)掩碼為255.255.255.224,廣域網(wǎng)口地址為201.6.2.5,子網(wǎng)掩碼為255.255.255.252,廣域網(wǎng)口封裝HDLC協(xié)議。要求通過動態(tài)地址轉(zhuǎn)換,使內(nèi)網(wǎng)的主機可以訪問Internet。

根據(jù)要求,對Intranet和Internet之間連接的路由器的動態(tài)PortNAT配置如下:

!配置局域網(wǎng)口IP地址

Router(config)#interface E 0

Router(config—if)# ip address 192.168.1.1255.255.255.0

!配置廣域網(wǎng)口IP地址

Router(config)#interfaceS 0

Router(config—if)#ip201.6.2.5255.255.255.252

!封裝HDLC協(xié)議

Router(config—if)#encapsulation hdlc

!設(shè)置keepalive時延為10s

Router(config—if)# keepalire10

Router(config—if)# no shutdown

!設(shè)置允許訪問的內(nèi)部IP地址列表

Router(config)#access一1ist 1 permit 192.168.1.00.0.0.255

!配置公用IP地址池aaa

Router(config)#ip nat pool aaa 202.128.62.33202.128.62.62255.255.255.224

!配置端口地址轉(zhuǎn)換

Router(config)#ip nat inside source list 1 pool aaa overload

!啟用RIP版本2,配置RIP路由

Router(config)# router rip

Router(config—router)# version 2

Router(config—router)#network 192.168.1.0

Router(config—router)#network 201.6.2.4

!配置默認IP路由

Router(config)#iproute0.0.0.00.0.0.0serial 0

7.網(wǎng)絡(luò)地址轉(zhuǎn)換的作用[1]

NAT有兩個主要的作用:首先,多個內(nèi)部地址可以共享一個公用地址上網(wǎng),從而節(jié)約了公用地址的使用。另外,因為采用NAT的內(nèi)部主機不直接使用公用地址,所以,在Internet上不直接可見,可以在一定程度上減少被攻擊的風(fēng)險,增強網(wǎng)絡(luò)的安全性。

8.網(wǎng)絡(luò)地址轉(zhuǎn)換功能存在的不足[2]

雖然NAT為網(wǎng)絡(luò)帶來了不少好處,但是NAT也存在一些不足,主要表現(xiàn)為:

(1)NAT路由器必須保持對每個連接狀態(tài)的記錄。對于每次翻譯的流量,NAT都必須記住其轉(zhuǎn)換的地址和端口,所以當NAT設(shè)備出現(xiàn)故障或NAT鄰近的鏈路出現(xiàn)故障時,路由難以快速收斂。NAT也會耗盡大量的CPU和內(nèi)存資源,進而影響網(wǎng)絡(luò)的性能和數(shù)據(jù)包的處理,大大增加了網(wǎng)絡(luò)的延時,這對于部分網(wǎng)絡(luò)應(yīng)用程序也是不可接受的。

(2)在進行一些網(wǎng)絡(luò)安全的設(shè)計和實施時,一些加密方法必須對IP包頭的完整性進行校驗,這樣就要求包頭在從源到目的地址之間傳輸時不能被改變。任何在路途中對包頭部分的轉(zhuǎn)換都會破壞完整性檢查,而NAT重寫了第三層包頭信息,很難實現(xiàn)IP包頭的完整性。因此在做IPSecVPN時,IPSec不能對NAT流量實施端到端的安全保護。

(3)NAT只能支持有限的程序,NAT支持的IP業(yè)務(wù)和應(yīng)用有H1vrP、TFTP、Telnet、NTP、NFS、RCP、RSH、ACHIE、FTP、ICMP、DNS等。NAT不支持的IP業(yè)務(wù)和應(yīng)用有BOOTP、SNMP、NETSHOW等,特別是各種動態(tài)路由協(xié)議的路由表更新和DNS數(shù)據(jù)庫的相互更新。

評論  |   0條評論