顧名思義,NAT是一種把內部私有IP地址翻譯成外網IP地址的技術。NAT技術的出現,主要是用于解決公網IP地址的不足,一直到今天,在解決內部局域網共享上網、保護內部服務器和網絡、網絡負載均衡等方面仍有著重要的應用。
路由器、網絡防火墻、出口網關等網絡設備均有網絡NAT功能。
NAT有三種轉換類型:靜態NAT(Static NAT)、動態地址NAT(Pooled NAT)、網絡地址端口轉換NAPT(Port-Level NAT)。
其中靜態NAT設置起來最為簡單和最容易實現的一種,內部網絡中的每個主機都被永久映射成外部網絡中的某個合法的地址。
而動態地址NAT則是在外部網絡中定義了一系列的合法地址,采用動態分配的方法映射到內部網絡。NAPT則是把內部地址映射到外部網絡的一個IP地址的不同端口上。NAT技術根據NAT的轉換方向不同,又可分為:源NAT和目的NAT。
源NAT:將經過設備的IP數據包的源IP地址或端口進行轉換。通常用于局域網訪問外部網絡。
目的NAT:將經過設備的IP數據包的目的IP地址或端口進行轉換。
通常用于外部網絡訪問內部局域網。
NAT轉換類型和轉換方向間的對應關系如表1所示。

表1 NAT轉換類型和轉換方向的對應關系
局域網一般在網絡出口處通過路由器、網絡防火墻和網關等網絡設備實現與外網或Internet互聯,在設備上啟用NAT,實現相應的轉換功能。下面結合具體的應用場景,介紹具體的應用。
這是NAT技術的典型應用,通過NAT技術來解決公網IP地址短缺,實現多用戶通過一個或少量的公網IP地址來上網。只要在局域網的出口網關或者防火墻上啟用NAT,這樣局域網用戶就能共享互聯網接入上網了。
企事業單位很少采用純路由器上啟用NAT的方式共享上網,因為相關的訪問控制比較有限,而且配置操作比較麻煩,一般都會選用專門的安全網關或者網絡防火墻來部署。

圖1 場景1網絡拓撲圖

圖2 場景2網絡拓撲圖
應用需求:某單位服務器上部署了對外網站和辦公平臺,網站和辦公平臺通過Web方式訪問。出于加強服務器的安全考慮,要求只對外網用戶開放Web服務。
解決方案:將服務器部署到局域網內部,通過目的NAT的網絡地址端口轉換NAPT對外網映射網絡端口的方式,只開放特定端口(本例中只開放80端口),起到對外屏蔽其他需要屏蔽的服務。
網絡拓撲圖和NAT轉換對應如圖1所示。這樣局域網中的服務器很好的隱藏了起來。
當黑客依據IP地址進行攻擊時,起實質攻擊的是NAT轉換平臺(網關、防火墻或路由器)而非真實的服務器,而要攻破NAT轉換平臺那絕對不是一件容易的事。
應用需求:有些單位有多條互聯網接入線路,通過不同的寬帶接入線路能訪問到各自特定的或有優勢的資源。一般會考慮一條電信的線路、一條聯通的線路。訪問電信網里的資源就走電信的線路,訪問聯通網里的資源就走聯通的線路,以改善訪問資源的速度體驗,這就需要通過源NAT進行上網分流。
某學校有兩條互聯網接入線路,一條電信的線路,一條是教育網城域網的線路,訪問教育城域網的資源就只能走教育網城域網的線路,走電信的線路是無法訪問的。如圖2所示。
解決方案:以學校的接入需求為例。教育城域網的線路接在防火墻的ethernet0/2口上,電信的線路接在ethernet0/4口上。
在防火墻上新建兩條源NAT信息,任意源地址到任意目的地址的訪問走ethernet0/4(電信通道訪問外網);任意源地址到“教育城域網資源”(“教育城域網資源”是一個IP地址集合,可根據需要創建)目的地址的訪問走ethernet0/2(教育城域網通道訪問外網),如圖3所示。

圖3 源NAT列表

圖4 場景4網絡拓撲圖

圖5 新建源NAT信息
應用需求:有多條互聯網接入線路的局域網,會遇到通過域名訪問自己局域網內的對外服務器時會出現繞路問題。所謂繞路,如圖4所示,服務器10.0.0.2的80端口通過NAT映射到公網IP地址201.102.X.X的80端口,由線路1與互聯網互聯,局域網用戶通過域名訪問服務器,域名被解析成公網IP地址201.102.X.X,當局域網用戶通過線路2上網時,訪問服務器10.0.0.2需要經線路1進入互聯網,然后再通過線路2訪問回來。這種繞路,一般情況下察覺不到,如果兩條線路擁堵時或者外網線路故障,都將造成服務器無法訪問。能否不用繞路,直接訪問服務器10.0.0.2呢?
解決方案:解決繞路問題,一種方法就是通過增加內部DNS服務器,在內部的DNS上將域名解析成內部IP地址10.0.0.2,同時要修改所有局域網內的上網用戶的DNS設置為內部DNS服務器,這種方法比較繁雜。其實可以通過源NAT進行指定通道上網。如圖5所示,新建一條源NAT信息,任意源地址到201.102.X.X的訪問走線路2,即可避免不必要的繞路。
總結:
除了有專門的網絡設備提供NAT功能,也可以在普通PC上安裝多張網卡,并安裝上相應的NAT軟件,部署在局域網出口處,連接內網和外網,實現內外網間的數據轉換。不同的支持NAT功能的設備,在配置NAT的方式或者界面,甚至命令會有所不同,但基本的原理和思想是一樣的。NAT技術一種是用于局域網出口實現內網和外網間進行網絡地址及端口轉換的技術。深入了解NAT技術,有助于解決在局域網出口與外網連接中出現的各種需求。由于篇幅限制,筆者在此就不再多作贅述。