顧名思義,NAT是一種把內(nèi)部私有IP地址翻譯成外網(wǎng)IP地址的技術(shù)。NAT技術(shù)的出現(xiàn),主要是用于解決公網(wǎng)IP地址的不足,一直到今天,在解決內(nèi)部局域網(wǎng)共享上網(wǎng)、保護內(nèi)部服務(wù)器和網(wǎng)絡(luò)、網(wǎng)絡(luò)負載均衡等方面仍有著重要的應(yīng)用。
路由器、網(wǎng)絡(luò)防火墻、出口網(wǎng)關(guān)等網(wǎng)絡(luò)設(shè)備均有網(wǎng)絡(luò)NAT功能。
NAT有三種轉(zhuǎn)換類型:靜態(tài)NAT(Static NAT)、動態(tài)地址NAT(Pooled NAT)、網(wǎng)絡(luò)地址端口轉(zhuǎn)換NAPT(Port-Level NAT)。
其中靜態(tài)NAT設(shè)置起來最為簡單和最容易實現(xiàn)的一種,內(nèi)部網(wǎng)絡(luò)中的每個主機都被永久映射成外部網(wǎng)絡(luò)中的某個合法的地址。
而動態(tài)地址NAT則是在外部網(wǎng)絡(luò)中定義了一系列的合法地址,采用動態(tài)分配的方法映射到內(nèi)部網(wǎng)絡(luò)。NAPT則是把內(nèi)部地址映射到外部網(wǎng)絡(luò)的一個IP地址的不同端口上。NAT技術(shù)根據(jù)NAT的轉(zhuǎn)換方向不同,又可分為:源NAT和目的NAT。
源NAT:將經(jīng)過設(shè)備的IP數(shù)據(jù)包的源IP地址或端口進行轉(zhuǎn)換。通常用于局域網(wǎng)訪問外部網(wǎng)絡(luò)。
目的NAT:將經(jīng)過設(shè)備的IP數(shù)據(jù)包的目的IP地址或端口進行轉(zhuǎn)換。
通常用于外部網(wǎng)絡(luò)訪問內(nèi)部局域網(wǎng)。
NAT轉(zhuǎn)換類型和轉(zhuǎn)換方向間的對應(yīng)關(guān)系如表1所示。
表1 NAT轉(zhuǎn)換類型和轉(zhuǎn)換方向的對應(yīng)關(guān)系
局域網(wǎng)一般在網(wǎng)絡(luò)出口處通過路由器、網(wǎng)絡(luò)防火墻和網(wǎng)關(guān)等網(wǎng)絡(luò)設(shè)備實現(xiàn)與外網(wǎng)或Internet互聯(lián),在設(shè)備上啟用NAT,實現(xiàn)相應(yīng)的轉(zhuǎn)換功能。下面結(jié)合具體的應(yīng)用場景,介紹具體的應(yīng)用。
這是NAT技術(shù)的典型應(yīng)用,通過NAT技術(shù)來解決公網(wǎng)IP地址短缺,實現(xiàn)多用戶通過一個或少量的公網(wǎng)IP地址來上網(wǎng)。只要在局域網(wǎng)的出口網(wǎng)關(guān)或者防火墻上啟用NAT,這樣局域網(wǎng)用戶就能共享互聯(lián)網(wǎng)接入上網(wǎng)了。
企事業(yè)單位很少采用純路由器上啟用NAT的方式共享上網(wǎng),因為相關(guān)的訪問控制比較有限,而且配置操作比較麻煩,一般都會選用專門的安全網(wǎng)關(guān)或者網(wǎng)絡(luò)防火墻來部署。
圖1 場景1網(wǎng)絡(luò)拓撲圖
圖2 場景2網(wǎng)絡(luò)拓撲圖
應(yīng)用需求:某單位服務(wù)器上部署了對外網(wǎng)站和辦公平臺,網(wǎng)站和辦公平臺通過Web方式訪問。出于加強服務(wù)器的安全考慮,要求只對外網(wǎng)用戶開放Web服務(wù)。
解決方案:將服務(wù)器部署到局域網(wǎng)內(nèi)部,通過目的NAT的網(wǎng)絡(luò)地址端口轉(zhuǎn)換NAPT對外網(wǎng)映射網(wǎng)絡(luò)端口的方式,只開放特定端口(本例中只開放80端口),起到對外屏蔽其他需要屏蔽的服務(wù)。
網(wǎng)絡(luò)拓撲圖和NAT轉(zhuǎn)換對應(yīng)如圖1所示。這樣局域網(wǎng)中的服務(wù)器很好的隱藏了起來。
當(dāng)黑客依據(jù)IP地址進行攻擊時,起實質(zhì)攻擊的是NAT轉(zhuǎn)換平臺(網(wǎng)關(guān)、防火墻或路由器)而非真實的服務(wù)器,而要攻破NAT轉(zhuǎn)換平臺那絕對不是一件容易的事。
應(yīng)用需求:有些單位有多條互聯(lián)網(wǎng)接入線路,通過不同的寬帶接入線路能訪問到各自特定的或有優(yōu)勢的資源。一般會考慮一條電信的線路、一條聯(lián)通的線路。訪問電信網(wǎng)里的資源就走電信的線路,訪問聯(lián)通網(wǎng)里的資源就走聯(lián)通的線路,以改善訪問資源的速度體驗,這就需要通過源NAT進行上網(wǎng)分流。
某學(xué)校有兩條互聯(lián)網(wǎng)接入線路,一條電信的線路,一條是教育網(wǎng)城域網(wǎng)的線路,訪問教育城域網(wǎng)的資源就只能走教育網(wǎng)城域網(wǎng)的線路,走電信的線路是無法訪問的。如圖2所示。
解決方案:以學(xué)校的接入需求為例。教育城域網(wǎng)的線路接在防火墻的ethernet0/2口上,電信的線路接在ethernet0/4口上。
在防火墻上新建兩條源NAT信息,任意源地址到任意目的地址的訪問走ethernet0/4(電信通道訪問外網(wǎng));任意源地址到“教育城域網(wǎng)資源”(“教育城域網(wǎng)資源”是一個IP地址集合,可根據(jù)需要創(chuàng)建)目的地址的訪問走ethernet0/2(教育城域網(wǎng)通道訪問外網(wǎng)),如圖3所示。
圖3 源NAT列表
圖4 場景4網(wǎng)絡(luò)拓撲圖
圖5 新建源NAT信息
應(yīng)用需求:有多條互聯(lián)網(wǎng)接入線路的局域網(wǎng),會遇到通過域名訪問自己局域網(wǎng)內(nèi)的對外服務(wù)器時會出現(xiàn)繞路問題。所謂繞路,如圖4所示,服務(wù)器10.0.0.2的80端口通過NAT映射到公網(wǎng)IP地址201.102.X.X的80端口,由線路1與互聯(lián)網(wǎng)互聯(lián),局域網(wǎng)用戶通過域名訪問服務(wù)器,域名被解析成公網(wǎng)IP地址201.102.X.X,當(dāng)局域網(wǎng)用戶通過線路2上網(wǎng)時,訪問服務(wù)器10.0.0.2需要經(jīng)線路1進入互聯(lián)網(wǎng),然后再通過線路2訪問回來。這種繞路,一般情況下察覺不到,如果兩條線路擁堵時或者外網(wǎng)線路故障,都將造成服務(wù)器無法訪問。能否不用繞路,直接訪問服務(wù)器10.0.0.2呢?
解決方案:解決繞路問題,一種方法就是通過增加內(nèi)部DNS服務(wù)器,在內(nèi)部的DNS上將域名解析成內(nèi)部IP地址10.0.0.2,同時要修改所有局域網(wǎng)內(nèi)的上網(wǎng)用戶的DNS設(shè)置為內(nèi)部DNS服務(wù)器,這種方法比較繁雜。其實可以通過源NAT進行指定通道上網(wǎng)。如圖5所示,新建一條源NAT信息,任意源地址到201.102.X.X的訪問走線路2,即可避免不必要的繞路。
總結(jié):
除了有專門的網(wǎng)絡(luò)設(shè)備提供NAT功能,也可以在普通PC上安裝多張網(wǎng)卡,并安裝上相應(yīng)的NAT軟件,部署在局域網(wǎng)出口處,連接內(nèi)網(wǎng)和外網(wǎng),實現(xiàn)內(nèi)外網(wǎng)間的數(shù)據(jù)轉(zhuǎn)換。不同的支持NAT功能的設(shè)備,在配置NAT的方式或者界面,甚至命令會有所不同,但基本的原理和思想是一樣的。NAT技術(shù)一種是用于局域網(wǎng)出口實現(xiàn)內(nèi)網(wǎng)和外網(wǎng)間進行網(wǎng)絡(luò)地址及端口轉(zhuǎn)換的技術(shù)。深入了解NAT技術(shù),有助于解決在局域網(wǎng)出口與外網(wǎng)連接中出現(xiàn)的各種需求。由于篇幅限制,筆者在此就不再多作贅述。