NAT/PAT

NAT/PAT

NAT就是網路地址翻譯的英文縮寫,在路由器上配置NAT服務,可提供公司內100~200人同時上網的服務。不需要Proxy Server,所有的服務都可順利使用(除Netmeeting之類的服務),客戶端無需做複雜設定,與應用程式無關。解決了使用Proxy Server帶來的煩復的設定工作。

簡介

nat與pat
網路地址翻譯 (1)
隨著Internet的飛速發展,網上豐富的資源產生著巨大的吸引力。接入Internet已成為當今信息業最為迫切的需求。
但這受到IP位址的許多限制。首先,許多區域網路在未聯入Internet之前,就已經運行許多年了,區域網路上有了許多現成的資源和應用程式,但它的IP位址分配不符合Internet的國際標準,因而需要重新分配區域網路的IP位址,這無疑是勞神費時的工作;其二,隨著Internet的膨脹式發展,其可用的IP位址越來越少,要想在ISP處申請一個新的IP位址已不是很容易的事了。這不僅僅是費用的問題,而是IP位址的現行標準IPv4決定的。當然,隨著IPv6的出台,這個問題應當能夠得到解決。但從IPv4到IPv6的升級不是一兩天就能完成的 。
NAT(網路地址翻譯)能解決不少令人頭疼的問題。它解決問題的辦法是:在內部網路中使用內部地址,通過NAT把內部地址翻譯成合法的IP位址,在Internet上使用。其具體的做法是把IP包內的地址域用合法的IP位址來替換。
NAT功能通常被集成到路由器、防火牆、ISDN路由器或者單獨的NAT設備中。NAT設備維護一個狀態表,用來把非法的IP位址映射到合法的IP位址上去。每個包在NAT設備中都被翻譯成正確的IP位址發往下一級,這意味著給處理器帶來了一定的負擔。但這對於一般的網路來說是微不足道的,除非是有許多主機的大型網路
需要注意的是,NAT並不是一種有安全保證的方案,它不能提供類似防火牆、包過濾、隧道等技術的安全性,僅僅在包的最外層改變IP位址。這使得黑客可以很容易地竊取網路信息,危及網路安全。
網路地址翻譯(2)
NAT有三種類型:靜態NAT(staticNAT)、NAT池(pooledNAT)和連線埠NAT(PAT)。其中靜態NAT設定起來最為簡單,內部網路中的每個主機都被永久映射成外部網絡中的某個合法的地址。而NAT池則是在外部網路中定義了一系列的合法地址,採用動態分配的方法映射到內部網路。PAT則是把內部地址映射到外部網路的一個IP位址的不同連線埠上。根據不同的需要,各種NAT方案都是有利有弊。 ■使用靜態轉換 使用靜態轉換是指將內部網路的私有ip地址轉換為公有IP位址,IP位址對是一對一的,是一成不變的,某個私有IP位址只轉換為某個公有IP位址。藉助於靜態轉換,可以實現外部網路對內部網路中某些特定設備(如伺服器)的訪問。
■使用NAT池
使用NAT池,可以從未註冊的地址空間中提供被外部訪問的服務,也可以從內部網路訪問外部網路,而不需要重新配置內部網路中的每台機器的IP位址。例如,建立在NT+IIS伺服器上的內部試驗子網192.168.0.0,其網路地址屬於C類保留地址。作為企業網的一個子網,其IP位址不分配給企業網上的設備而僅僅局限在試驗子網的設備上。為了使企業網能訪問到這個內部網,在網路上增加一條靜態路徑,使信息能回傳給Cisco4700路由器。其中的路由器可以把內部網和企業網連線起來,使之能相互訪問。在內部網中不要使用RIP協定,因為使用RIP後,內部網路相對外部來說變得不可見了。
這樣,本地信息可以相互訪問了,但由於192.168.0.0屬於保留地址,故不能直接訪問Internet。所以在路由器中設定一個NAT池,用來翻譯來自內部網路的IP包,把它的IP位址映射成地址池(pooledaddresses)中的合法IP位址。那么,內部網可以訪問Internet上的任何伺服器,Internet上的任何主機也能通過TCP或UDP訪問到內部網。
採用NAT池意味著可以在內部網中定義很多的內部用戶,通過動態分配的辦法,共享很少的幾個外部IP位址。而靜態NAT則只能形成一一對應的固定映射方式。該引起注意的是,NAT池中動態分配的外部IP位址全部被占用後,後續的NAT翻譯申請將會失敗。慶幸的是, 許多有NAT功能的路由器有逾時配置功能。例如在上述的Cisco4700中配置成開始15分鐘後刪除當前的NAT進程,為後續的NAT申請預留出外部IP位址。通過試驗表明,一般的外部連線不會很長,所以短的時間閾值也可以接受。當然用戶可以自行調節時間閾值,以滿足各自的需求。
NAT池提供很大靈活性的同時,也影響到網路原有的一些管理功能。例如,SNMP管理站利用IP位址來跟蹤設備的運行情況。但使用NAT之後,意味著那些被翻譯的地址對應的內部地址是變化的,今天可能對應一台工作站,明天就可能對應一台伺服器。這給SNMP管理帶來了麻煩。一個可行的解決方案就是把劃分給NAT池的那部分地址在SNMP管理平台上標記出來,對於這些不回響管理信號的地址不予報警,如同它們被關掉了一樣。
■使用PAT
PAT在遠程訪問產品中得到了大量的套用,特別是在遠程撥號用戶使用的設備中。PAT可以把內部的TCP/IP映射到外部一個註冊IP位址的多個連線埠上。PAT可以支持同時連線64500個TCP/IP、UDP/IP,但實際可以支持的工作站個數會少一些。因為許多Internet套用如HTTP,實際上由許多小的連線組成。
在Internet中使用PAT時,所有不同的TCP和UDP信息流看起來仿佛都來源於同一個IP位址。這個優點在小型辦公室(SOHO)內非常實用,通過從ISP處申請的一個IP位址,將多個連線通過PAT接入Internet。實際上,許多SOHO遠程訪問設備支持基於PPP的動態IP位址。
這樣,ISP甚至不需要支持PAT,就可以做到多個內部IP位址共用一個外部IP位址上Internet。雖然這樣會導致信道的一定擁塞,但考慮到節省的ISP上網費用和易管理的特點,用PAT還是很值得的。
網路地址翻譯(3)
■基於NAT的負載平衡
以上所談論的均是關於使用NAT和PAT來把內部IP位址轉換成外部合法的IP位址使用。下面介紹NAT的另一個運用:作為用於負載平衡的DNS系列伺服器(DNS round-robin)的一個替代品。DNS系列伺服器解決了多個IP位址共用一個域名的問題。它會在回響DNS申請時跳躍式地尋找可用的IP位址。達到的效果就是一個域名可以對應多個IP位址。這種功能可以套用在一個HTTP伺服器群中,利用它可以平衡多個伺服器的負載。但是這裡還有一個問題,IP客戶端會在本地緩衝DNS/IP位址解析,從而使它的後續的申請都會到達同一個IP位址,減弱了DNS系列伺服器的作用。
使用基於NAT的負載平衡方案,則可以避免這個問題。路由器或其它NAT設備把需要負載平衡的多個IP位址翻譯成一個公用的IP位址,每個TCP連線被NAT送到一個IP位址,而後續的TCP連線則被NAT送到下一個IP位址。真正實現了負載平衡。當然,基於NAT的負載平衡只能在NAT上實現,而不能在PAT上實現。

安全相關

■安全問題
當NAT改變包的IP位址後,需要認真考慮這樣做對安全設施帶來的影響。
對於防火牆,它利用IP位址、TCP連線埠、目標地址以及其它在IP包內的信息來決定是否干預網路的連線。當使用了NAT之後,可能就不得不改變防火牆的規則,因為NAT改變了源地址和目的地址。
在許多配置中,NAT被集成在防火牆系統之中,提供訪問控制和地址翻譯的功能。不要把NAT設在防火牆之外,因為黑客可以輕易地騙過NAT,讓NAT認為它是一個授權用戶,從而進入網路。
若企業網中使用了VPN(虛擬專用網),並用IPSec進行加密安全保證,那么錯誤地設定NAT將會破壞VPN的功能。把NAT放在受保護的VPN內部,而不是在中間。因為NAT改變IP包內的地址域,而IPSec規定一些信息是不能被改變的。若IP位址被改變了,IPSec就會認為這個包是偽造的,拒絕使用。
雖然NAT帶來了許多優越性,例如使現有網路不必重新編址、減少了ISP接入費用,還可以起平衡負載的作用,但NAT潛在地影響到一些網路管理功能和安全設施,這就需要謹慎地使用它。

相關搜尋

熱門詞條

聯絡我們