李秀峰
摘 ? 要:網(wǎng)絡(luò)的快速發(fā)展給人們的生活帶來(lái)了諸多便利,但是由于接入設(shè)備的數(shù)量大幅上升,給本來(lái)就捉襟見肘的IP地址存量帶來(lái)沖擊。現(xiàn)存IPv4版本的地址數(shù)量已經(jīng)接近告罄,雖然新一代的IPv6已在試驗(yàn)運(yùn)行,但其普及還需要較長(zhǎng)的一段時(shí)間。為了解決版本更替期間IPv4地址數(shù)量不足的問題,引入了NAT技術(shù)。文章介紹了3種類型NAT技術(shù),闡述了其工作原理和應(yīng)用,最后分析了不同NAT技術(shù)的優(yōu)缺點(diǎn)及產(chǎn)生的一些問題。
關(guān)鍵詞:網(wǎng)絡(luò)地址轉(zhuǎn)換技術(shù);網(wǎng)絡(luò)地址;網(wǎng)絡(luò)安全
1 ? ?網(wǎng)絡(luò)地址轉(zhuǎn)換技術(shù)簡(jiǎn)要介紹
現(xiàn)如今,世界已經(jīng)步入了信息技術(shù)高速發(fā)展的時(shí)代,例如5G網(wǎng)絡(luò)的商用,使得更多的電子設(shè)備(如Pad、手機(jī)及其他移動(dòng)終端等)可以接入網(wǎng)絡(luò)。這一爆發(fā)式的網(wǎng)絡(luò)發(fā)展導(dǎo)致IP地址越發(fā)緊缺,互聯(lián)網(wǎng)通信協(xié)議第4版(Internet Protocol Version 4,IPv4)的地址面臨被全部分發(fā)完畢的風(fēng)險(xiǎn)[1]。為了解決這一難題,引入了網(wǎng)絡(luò)地址轉(zhuǎn)換技術(shù)(Network Address Translation,NAT),可以在很大程度上緩解地址數(shù)量不足的問題,其工作方式是:將某個(gè)子網(wǎng)中的一個(gè)或多個(gè)IP地址從一個(gè)網(wǎng)絡(luò)轉(zhuǎn)變?yōu)榱硪粋€(gè)不同的網(wǎng)絡(luò),為的是變換網(wǎng)絡(luò)身份的同時(shí),變相增加可用地址數(shù)量。這樣做的好處在于:
(1)將一些公網(wǎng)IP留出來(lái)供私有網(wǎng)絡(luò)重復(fù)使用,因?yàn)椴⒉皇敲總€(gè)用戶都是時(shí)刻在線的狀態(tài),所以多個(gè)用戶可以采用輪換的方式用同一個(gè)地址在不同的時(shí)間段對(duì)外訪問。
(2)允許一個(gè)單位或部門的所有主機(jī)以同一個(gè)IP地址的身份同時(shí)對(duì)外訪問,各主機(jī)之間沒有沖突,不受時(shí)間限制。
可以看出,這樣的工作機(jī)制使得內(nèi)網(wǎng)地址以另一種公開身份被外界認(rèn)知,從而外部網(wǎng)絡(luò)無(wú)法直接訪問內(nèi)部網(wǎng)絡(luò)。在解決IP地址數(shù)量不足的同時(shí),提高了網(wǎng)絡(luò)的安全性,降低了真實(shí)內(nèi)部主機(jī)被攻擊的風(fēng)險(xiǎn)。
1.1 ?基本原理
NAT可以將一個(gè)機(jī)構(gòu)或部門以一個(gè)或多個(gè)公有IP地址的身份在互聯(lián)網(wǎng)上活動(dòng)[2]。與外部互聯(lián)時(shí),將局域網(wǎng)內(nèi)設(shè)備節(jié)點(diǎn)的地址轉(zhuǎn)換成一個(gè)可以在互聯(lián)網(wǎng)上被承認(rèn)的公網(wǎng)IP;反之亦然。同時(shí),可以結(jié)合防火墻技術(shù),把一些重要的內(nèi)網(wǎng)地址隱藏起來(lái),如:數(shù)據(jù)庫(kù)服務(wù)器地址、文件服務(wù)器地址,使內(nèi)網(wǎng)和外網(wǎng)隔離,從而保障內(nèi)網(wǎng)安全。另外,它可以通過配置,合理安排整個(gè)園區(qū)網(wǎng)絡(luò)的IP地址設(shè)置,使得私有地址充分發(fā)揮自己的作用,各部門之間分割清晰,對(duì)外又統(tǒng)一分配IP。下面介紹NAT技術(shù)使用到的4種IP類型:
(1)內(nèi)部局部地址,可以由管理員手動(dòng)配置,也可以由DHCP服務(wù)器分配給客戶機(jī),主要由私網(wǎng)地址構(gòu)成。
(2)內(nèi)部全局地址,由園區(qū)網(wǎng)絡(luò)中心或網(wǎng)絡(luò)運(yùn)營(yíng)商分配的公網(wǎng)IP地址,是對(duì)應(yīng)到外部網(wǎng)絡(luò)的一個(gè)或多個(gè)合法IP地址,主要用于在互聯(lián)網(wǎng)上識(shí)別發(fā)送端身份。
(3)外部局部地址,目的端內(nèi)網(wǎng)主機(jī)地址,與第一類地址相似,大部分由局域網(wǎng)內(nèi)的私網(wǎng)地址構(gòu)成,可以由目的端內(nèi)網(wǎng)DHCP設(shè)備分配或手工配置。
(4)外部全局地址:目的端主機(jī)的公網(wǎng)IP地址,由ISP進(jìn)行分配。
例如,在某個(gè)集團(tuán)公司中,有A,B兩個(gè)分公司,分別向網(wǎng)絡(luò)運(yùn)營(yíng)商申請(qǐng)了公網(wǎng)IP,假設(shè)A的地址為11.11.11.11,B的地址為22.22.22.22,兩公司均在網(wǎng)絡(luò)拓?fù)渲惺褂肗AT技術(shù),A的內(nèi)部網(wǎng)絡(luò)為192.168.0.0/24,B的內(nèi)部網(wǎng)絡(luò)為10.0.0.0/24。那么在雙方通信過程中,相對(duì)于A來(lái)說(shuō),A的內(nèi)部局部地址(網(wǎng)絡(luò))是192.168.0.0/24,內(nèi)部全局地址便是11.11.11.11,而外部局部地址(網(wǎng)絡(luò))是10.0.0.0/24,而外部全局地址就是22.22.22.22。
1.2 ?工作流程
NAT技術(shù)很大程度上緩解了當(dāng)前IP地址緊缺的狀況,同時(shí),它將內(nèi)網(wǎng)和外網(wǎng)進(jìn)行隔離,無(wú)形之中形成一道“防火墻”。具體的工作流程為:當(dāng)私網(wǎng)內(nèi)的主機(jī)需要訪問公網(wǎng)時(shí),產(chǎn)生的數(shù)據(jù)包源IP地址會(huì)被替換為一個(gè)公網(wǎng)地址及相應(yīng)的端口,同時(shí),產(chǎn)生一個(gè)Session;同理,當(dāng)數(shù)據(jù)返回時(shí),會(huì)將返回?cái)?shù)據(jù)包中的目標(biāo)地址改為對(duì)應(yīng)Session中的私網(wǎng)IP[3]。
例如,內(nèi)網(wǎng)中的主機(jī)PCA(假設(shè)為:192.168.1.1)需要與外網(wǎng)通信。PCA從7000端口發(fā)送請(qǐng)求消息至NAT設(shè)備。若經(jīng)過辨別發(fā)現(xiàn)此IP地址在ACL列表中屬于permit范圍內(nèi),便會(huì)在地址池里剩余的IP中選擇一個(gè)可用的公網(wǎng)IP(如198.172.1.1),并從空閑的端口中挑出一個(gè)可用端口(如8000端口),建立192.168.1.1:7000和198.172.1.1:8000之間的映射,形成一個(gè)Session。當(dāng)網(wǎng)關(guān)返回消息到NAT設(shè)備的8000端口時(shí),會(huì)將數(shù)據(jù)包中的目的地址修改為192.168.1.1:5000,最終完成數(shù)據(jù)通信。若NAT Session沒有形成前,外網(wǎng)主機(jī)向地址198.172.1.1:8000發(fā)送消息,由于Session中還沒有形成對(duì)應(yīng)的映射關(guān)系,此數(shù)據(jù)包在沒有默認(rèn)路由的情況下,會(huì)被路由器丟棄。
2 ? ?NAT技術(shù)的類型
目前,NAT技術(shù)分為3種類型:靜態(tài)地址轉(zhuǎn)換、動(dòng)態(tài)地址轉(zhuǎn)換和端口復(fù)用。(1)靜態(tài)NAT技術(shù),是一種類似綁定的轉(zhuǎn)換方式,即將內(nèi)網(wǎng)需要連接互聯(lián)網(wǎng)的每臺(tái)主機(jī)分別映射為合法的公網(wǎng)IP,形成一種人為指定的一對(duì)一關(guān)系。(2)動(dòng)態(tài)NAT技術(shù),采用地址池的方式,池中定義了一段連續(xù)的公網(wǎng)地址,需要轉(zhuǎn)換時(shí)從中按順序選擇一個(gè)未使用的公網(wǎng)IP,形成Session,這是一種多對(duì)多的映射關(guān)系,由于隨機(jī)性較高,這種方法可以起到防御網(wǎng)絡(luò)攻擊的作用。(3)端口復(fù)用技術(shù),其實(shí)是動(dòng)態(tài)NAT中的一種,不同的是,它將所有需要轉(zhuǎn)換的地址映射到同一個(gè)公網(wǎng)IP的不同端口上,使得每個(gè)申請(qǐng)地址轉(zhuǎn)換的主機(jī)對(duì)外身份看起來(lái)都是一樣的,只是在端口號(hào)上有所不同。在實(shí)際應(yīng)用中可以根據(jù)不同的需要及申請(qǐng)得到的外網(wǎng)IP地址數(shù)量,選擇合適的NAT技術(shù)類型。
2.1 ?靜態(tài)地址轉(zhuǎn)換
靜態(tài)地址轉(zhuǎn)換是將內(nèi)部局部地址與內(nèi)部全局地址形成一對(duì)一的映射,在沒有釋放之前,這種關(guān)系將一直存在。例如內(nèi)部網(wǎng)絡(luò)中需要為外網(wǎng)提供公共服務(wù)的服務(wù)器可以采用靜態(tài)地址轉(zhuǎn)換技術(shù),避免被黑客獲取到真實(shí)IP而使這些設(shè)備受到網(wǎng)絡(luò)攻擊[4]。
靜態(tài)地址轉(zhuǎn)換配置步驟(采用Cisco類型設(shè)備):
(1)建立內(nèi)部局部地址與內(nèi)部全局地址之間的轉(zhuǎn)換。在路由設(shè)備的全局配置模式下輸入:ip nat inside source static 內(nèi)部局部地址、內(nèi)部全局地址。
(2)應(yīng)用在網(wǎng)絡(luò)的內(nèi)部端口,一般為某個(gè)網(wǎng)絡(luò)的內(nèi)部網(wǎng)關(guān)。在端口設(shè)置模式下輸入:ip nat inside。
(3)應(yīng)用在網(wǎng)絡(luò)的外部端口,在端口設(shè)置模式下輸入:ip nat outside。
以上就是靜態(tài)NAT的設(shè)置,可根據(jù)實(shí)際需要在多個(gè)內(nèi)部端口和多個(gè)外部端口進(jìn)行應(yīng)用。
2.2 ?動(dòng)態(tài)NAT
動(dòng)態(tài)NAT和靜態(tài)NAT最大的不同之處在于使用了地址池,池中存放了多個(gè)可訪問外網(wǎng)或被外網(wǎng)訪問的內(nèi)部全局地址,在需要網(wǎng)絡(luò)連接時(shí)自動(dòng)完成映射。這種動(dòng)態(tài)分配的方法使得多個(gè)內(nèi)部局部地址共享少數(shù)幾個(gè)公網(wǎng)IP,在建立連接后它們之間依然是一對(duì)一的關(guān)系,只是這種對(duì)應(yīng)關(guān)系不是永久的,隨著每次連接的請(qǐng)求和釋放會(huì)發(fā)生變化。需要明確的一點(diǎn)是:當(dāng)?shù)刂烦刂械娜縄P地址都被占用后,后續(xù)的轉(zhuǎn)換請(qǐng)求將會(huì)失敗。解決這一問題的方法是:可以使用超時(shí)釋放功能。如Cisco路由器在當(dāng)前進(jìn)程15 min后無(wú)流量通過的情況下,自動(dòng)刪除當(dāng)前的NAT進(jìn)程,當(dāng)前使用的內(nèi)部全局地址重新收回放入地址池中。
當(dāng)然,地址池的使用也有一定的不足之處:會(huì)妨礙到管理系統(tǒng)跟蹤設(shè)備的運(yùn)行情況。倘若被監(jiān)管IP在NAT地址池之中,隨著網(wǎng)絡(luò)進(jìn)程的申請(qǐng)和釋放,這些地址對(duì)應(yīng)的內(nèi)部局部地址是不斷變化的,這就引起了網(wǎng)絡(luò)管理的不確定性。目前的解決方法是:在網(wǎng)絡(luò)管理平臺(tái)上把這些地址標(biāo)記出來(lái),然后對(duì)這些地址不進(jìn)行任何處理。
動(dòng)態(tài)地址轉(zhuǎn)換基本配置步驟:
(1)在全局配置模式下,配置地址池格式為:ip nat pool 地址池名稱 起始IP地址 終止IP地址 子網(wǎng)掩碼,其中,地址池的名稱可以自行設(shè)定。
(2)在全局配置模式下,設(shè)置一個(gè)標(biāo)準(zhǔn)訪問控制列表,列出所有可以被轉(zhuǎn)換的內(nèi)部局部地址。格式為:Access-list 標(biāo)號(hào)permit源地址 通配符掩碼。
(3)在全局配置模式下,將前兩步的設(shè)置內(nèi)容進(jìn)行綁定,也就是把地址池和ACL列表中的地址進(jìn)行對(duì)接。格式為:ip nat inside source list訪問列表標(biāo)號(hào)pool地址池名稱。
(4)指定需要被應(yīng)用的內(nèi)部端口:在端口配置模式下,輸入ip nat inside。
(5)指定需要被應(yīng)用的外部端口:在端口配置模式下,輸入ip nat outside。
2.3 ?PAT端口復(fù)用
端口復(fù)用技術(shù)也是一種動(dòng)態(tài)NAT技術(shù)[5],不同于前面的是,它將地址池中的所有地址對(duì)應(yīng)到一個(gè)公網(wǎng)地址的不同端口上。當(dāng)多個(gè)主機(jī)同時(shí)使用一個(gè)IP地址時(shí),互聯(lián)網(wǎng)通過傳輸層的端口號(hào)等信息來(lái)標(biāo)識(shí)某臺(tái)計(jì)算機(jī),這樣一來(lái),從ISP處申請(qǐng)一個(gè)可用的公網(wǎng)IP就可以通過PAT將多個(gè)內(nèi)網(wǎng)主機(jī)接入互聯(lián)網(wǎng),使得傳輸層的信息流看起來(lái)仿佛都來(lái)源于同一個(gè)源地址。這樣做有利也有弊,PAT會(huì)引起一定程度的信道擁塞,但可以大大減少上網(wǎng)開支。另外,根據(jù)空閑端口的數(shù)量限制,PAT可形成64 500個(gè)Session連接。
其配置步驟與上文中提到的動(dòng)態(tài)NAT十分相似,只在第1步和第3步有一些區(qū)別:第1步中的地址池內(nèi),只有一個(gè)內(nèi)部全局地址;第3步中,在全局配置模式下,配置語(yǔ)句改為:ip nat inside source list訪問列表標(biāo)號(hào)pool地址池名稱 overload,其中,關(guān)鍵字overload就是端口復(fù)用的意思。
3 ? ?結(jié)語(yǔ)
NAT基于ISO/OSI 7層模型中的網(wǎng)絡(luò)層和傳輸層實(shí)現(xiàn),分為3種類型。由于私網(wǎng)地址的使用不受限制,使其網(wǎng)絡(luò)配置更加靈活、方便。不僅很大程度上緩解了IP地址緊缺的問題,提高了網(wǎng)絡(luò)安全性。同時(shí),用戶不需要因?yàn)楦鼡QISP而對(duì)內(nèi)部網(wǎng)絡(luò)重新進(jìn)行編址,減少網(wǎng)絡(luò)了變化引起的代價(jià)。NAT技術(shù)也存在一些不足:由于路由器需要對(duì)每次的地址翻譯進(jìn)行響應(yīng),所以要對(duì)每個(gè)數(shù)據(jù)包進(jìn)行檢查,增大了路由器的工作負(fù)荷;此外,由于隱藏了主機(jī)的真正標(biāo)識(shí),增大了對(duì)此類主機(jī)訪問互聯(lián)網(wǎng)跟蹤管理和審計(jì)工作的難度。
[參考文獻(xiàn)]
[1]陳杰.IPv6過渡的NAT技術(shù)[D].南京:南京郵電大學(xué),2013.
[2]賀抒,梁昔明.NAT技術(shù)分析及其在防火墻中的應(yīng)用[J].信息安全,2004(8):167-168.
[3]劉昊東.基于P2P網(wǎng)絡(luò)中UDP穿透NAT技術(shù)的研究[J].計(jì)算機(jī)與數(shù)字工程,2009(12):112-113.
[4]張永平.VPN網(wǎng)絡(luò)中IPSec穿越NAT的研究[J].計(jì)算機(jī)與應(yīng)用與軟件,2008(1):250-251.
[5]姚正.NAT技術(shù)原理探究及在校園網(wǎng)上的應(yīng)用實(shí)例[J].網(wǎng)絡(luò)通訊及安全,2008(3):457-458.
Abstract:The rapid development of the network has brought a lot of convenience to peoples life, however, due to the sharp increase in the number of access devices, the already stretched stock of IP addresses has an impact. The number of addresses in the existing IPv4 version is close to running out, and although the new generation of IPv6 is already running on a trial basis, it will take a long time for this version to become popular. In order to solve the problem of insufficient number of IPv4 addresses during version replacement, NAT technology is introduced. This paper introduces three types of NAT technology, expounds their working principle and application, and finally analyzes the advantages and disadvantages of different NAT technologies and some problems arising from them.
Key words:network address translation; network address; network security