前言:隨着Internet技術的不斷以指數級速度增加,珍貴的網絡地址分配給專用網絡終於被視做是一種對寶貴的虛擬房地產的浪費。所以出現了網絡地址轉換(NAT)標準,就是將某些IP地址留出來供專用網絡重複使用。本文將詳細告訴你如何正確應用網絡地址轉換NAT技術。 1、NAT技術的定義 NAT英文全稱是Network Address Translation,稱是網絡地址轉換,它是一個IETF標準,容許一個機構以一個地址出如今Internet上。NAT將每一個局域網節點的地址轉換成一個IP地址,反之亦然。它也能夠應用到防火牆技術裏,把個別IP地址隱藏起來不被外界發現,使外界沒法直接訪問內部網絡設備,同時,它還幫助網絡能夠超越地址的限制,合理地安排網絡中的公有Internet 地址和私有IP地址的使用。 2、NAT技術的基本原理和類型 一、NAT技術基本原理 NAT技術能幫助解決使人頭痛的IP地址緊缺的問題,並且能使得內外網絡隔離,提供必定的網絡安全保障。它解決問題的辦法是:在內部網絡中使用內部地址,經過NAT把內部地址翻譯成合法的IP地址在Internet上使用,其具體的作法是把IP包內的地址域用合法的IP地址來替換。 NAT功能一般被集成到路由器、防火牆、ISDN路由器或者單獨的NAT設備中。NAT設備維護一個狀態表,用來把非法的IP地址映射到合法的IP地址上去。每一個包在NAT設備中都被翻譯成正確的IP地址,發往下一級,這意味着給處理器帶來了必定的負擔。但對於通常的網絡來講,這種負擔是微不足道的。 二、NAT技術的類型 NAT有三種類型:靜態NAT(Static NAT)、動態地址NAT(Pooled NAT)、網絡地址端口轉換NAPT(Port-Level NAT)。其中靜態NAT設置起來最爲簡單和最容易實現的一種,內部網絡中的每一個主機都被永久映射成外部網絡中的某個合法的地址。而動態地址NAT則是在外部網絡中定義了一系列的合法地址,採用動態分配的方法映射到內部網絡。NAPT則是把內部地址映射到外部網絡的一個IP地址的不一樣端口上。根據不一樣的須要,三種NAT方案各有利弊。 動態地址NAT只是轉換IP地址,它爲每個內部的IP地址分配一個臨時的外部IP地址,主要應用於撥號,對於頻繁的遠程聯接也能夠採用動態NAT。當遠程用戶聯接上以後,動態地址NAT就會分配給他一個IP地址,用戶斷開時,這個IP地址就會被釋放而留待之後使用。 網絡地址端口轉換NAPT(Network Address Port Translation)是人們比較熟悉的一種轉換方式。NAPT廣泛應用於接入設備中,它能夠將中小型的網絡隱藏在一個合法的IP地址後面。NAPT與動態地址NAT不一樣,它將內部鏈接映射到外部網絡中的一個單獨的IP地址上,同時在該地址上加上一個由NAT設備選定的TCP端口號。 在Internet中使用NAPT時,全部不一樣的TCP和UDP信息流看起來好像來源於同一個IP地址。這個優勢在小型辦公室內很是實用,經過從ISP處申請的一個IP地址,將多個鏈接經過NAPT接入Internet。實際上,許多SOHO遠程訪問設備支持基於PPP的動態IP地址。這樣,ISP甚至不須要支持NAPT,就能夠作到多個內部IP地址共用一個外部IP地址上Internet,雖然這樣會致使信道的必定擁塞,但考慮到節省的ISP上網費用和易管理的特色,用NAPT仍是很值得的。 3、在Internet中使用NAT技術 NAT技術可讓你區域網路中的全部機器經由一臺通往Internet的server 線出去,並且只須要註冊該server的一個IP就夠了。 在以往沒有NAT技術之前,咱們必須在server上安裝sockd,而且全部的clients都必需要支援sockd,纔可以通過server的sockd連線出去。這種方式最大的問題是,一般只有telnet/ftp/www-browser支援sockd,其它的程式都不能使用;並且使用sockd的速度稍慢。所以咱們使用網絡地址轉換NAT技術,這樣client不須要作任何的更動,只須要把gateway設到該server上就能夠了,並且全部的程式(例如kali/kahn等等) 均可以使用。最簡單的NAT設備有兩條網絡鏈接:一條鏈接到Internet,一條鏈接到專用網絡。專用網絡中使用私有IP地址(有時也被稱作Network 10地址,地址使用留作專用的從10.0.0.0開始的地址)的主機,經過直接向NAT設備發送數據包鏈接到Internet上。與普通路由器不一樣NAT設備實際上對包頭進行修改,將專用網絡的源地址變爲NAT設備本身的Internet地址,而普通路由器僅在將數據包轉發到目的地前讀取源地址和目的地址。 4、應用NAT技術的安全策略 一、應用NAT技術的安全問題 在使用NAT時,Internet上的主機表面上看起來直接與NAT設備通訊,而非與專用網絡中實際的主機通訊。輸入的數據包被髮送到NAT設備的IP地址上,而且NAT設備將目的包頭地址由本身的Internet地址變爲真正的目的主機的專用網絡地址。而結果是,理論上一個全球惟一IP地址後面能夠鏈接幾百臺、幾千臺乃至幾百萬臺擁有專用地址的主機。可是,這實際上存在着缺陷。例如,許多Internet協議和應用依賴於真正的端到端網絡,在這種網絡上,數據包徹底不加修改地從源地址發送到目的地址。好比,IP安全架構不能跨NAT設備使用,由於包含原始IP 源地址的原始包頭採用了數字簽名。若是改變源地址的話,數字簽名將再也不有效。 NAT還向咱們提出了管理上的挑戰。儘管NAT 對於一個缺乏足夠的全球惟一Internet地址的組織、分支機構或者部門來講是一種不錯的解決方案,可是當重組、 合併或收購須要對兩個或更多的專用網絡進行整合時,它就變成了一種嚴重的問題。甚至在組織結構穩定的狀況下,NAT系統不能多層嵌套,從而形成路由噩夢。 二、應用NAT技術的安全策略 當咱們改變網絡的IP地址時,都要仔細考慮這樣作會給網絡中已有的安全機制帶來什麼樣的影響。如,防火牆根據IP報頭中包含的TCP端口號、信宿地址、信源地址以及其它一些信息來決定是否讓該數據包經過。能夠依NAT設備所處位置來改變防火牆過濾規則,這是由於NAT改變了信源或信宿地址。若是一個NAT設備,如一臺內部路由器,被置於受防火牆保護的一側,將不得不改變負責控制NAT設備身後網絡流量的全部安全規則。在許多網絡中,NAT機制都是在防火牆上實現的。它的目的是使防火牆可以提供對網絡訪問與地址轉換的雙重控制功能。除非能夠嚴格地限定哪種網絡鏈接能夠被進行NAT轉換,不然不要將NAT設備置於防火牆以外。任何一個淘氣的***,只要他可以使NAT誤覺得他的鏈接請求是被容許的,均可以以一個受權用戶的身份對你的網絡進行訪問。若是企業正在邁向網絡技術的前沿,並正在使用IP安全協議(IPSec)來構造一個虛擬專用網(×××)時,錯誤地放置NAT設備會毀了計劃。原則上,NAT設備應該被置於×××受保護的一側,由於NAT須要改動IP報頭中的地址域,而在IPSec報頭中該域是沒法被改變的,這使能夠準確地獲知原始報文是發自哪一臺工做站的。若是IP地址被改變了,那麼IPSec的安全機制也就失效了,由於既然信源地址均可以被改動,那麼報文內容就更不用說了。那麼NAT技術在系統中咱們應採用如下幾個策略: ①網絡地址轉換模塊 NAT技術模塊是本系統核心部分,並且只有本模塊與網絡層有關,所以,這一部分應和Unix系統自己的網絡層處理部分緊密結合在一塊兒,或對其直接進行修改。本模塊進一步可細分爲包交換子模塊、數據包頭替換子模塊、規則處理子模塊、鏈接記錄子模塊與真實地址分配子模塊及傳輸層過濾子模塊。 ②集中訪問控制模塊 集中訪問控制模塊可進一步細分爲請求認證子模塊和鏈接中繼子模塊。請求認證子模塊主要負責和認證與訪問控制系統經過一種可信的安全機制交換各類身份鑑別信息,識別出合法的用戶,並根據用戶預先被賦予的權限決定後續的鏈接形式。鏈接中繼子模塊的主要功能是爲用戶創建起一條最終的無中繼的鏈接通道,並在須要的狀況下向內部服務器傳送鑑別過的用戶身份信息,以完成相關服務協議中所需的鑑別流程。 ③臨時訪問端口表 爲了區分數據包的服務對象和防止***者對內部主機發起的鏈接進行非受權的利用,網關把內部主機使用的臨時端口、協議類型和內部主機地址登記在臨時端口使用表中。因爲網關不知道內部主機可能要使用的臨時端口,故臨時端口使用表是由網關根據接收的數據包動態生成的。對於入向的數據包,防火牆只讓那些訪問控制表許可的或者臨時端口使用表登記的數據包經過。 ④認證與訪問控制系統 認證與訪問控制系統包括用戶鑑別模塊和訪問控制模塊,實現用戶的身份鑑別和安全策略的控制。其中用戶鑑別模塊採用一次性口令(One-Time Password)認證技術中Challenge/Response機制實現遠程和當地用戶的身份鑑別,保護合法用戶的有效訪問和限制非法用戶的訪問。它採用Telnet和WEB兩種實現方式,知足不一樣系統環境下用戶的應用需求。訪問控制模塊是基於自主型訪問控制策略(DAC),採用ACL的方式,按照用戶(組)、地址(組)、服務類型、服務時間等訪問控制因素決定對用戶是否受權訪問。 ⑤網絡安全監控系統 監控與***檢測系統做爲系統端的監控進程,負責接受進入系統的全部信息,並對信息包進行分析和歸類,對可能出現的***及時發出報警信息;同時如發現有合法用戶的非法訪問和非法用戶的訪問,監控系統將及時斷開訪問鏈接,並進行追蹤檢查。 ⑥基於WEB的防火牆管理系統 管理系統主要負責網絡地址轉換模塊、集中訪問控制模塊、認證與訪問控制系統、監控系統等模塊的系統配置和監控。它採用基於WEB的管理模式,因爲管理系統所涉及到的信息大部分是關於用戶賬號等敏感數據信息,故應充分保證信息的安全性,咱們採用JAVA APPLET技術代替CGI技術,在信息傳遞過程當中採用加密等安全技術保證用戶信息的安全性。 結尾:儘管NAT技術能夠給咱們帶來各類好處,例如無需爲網絡重分IP地址、減小ISP賬號花費以及提供更完善的負載平衡功能等,NAT技術對一些管理和安全機制的潛在威脅仍在,看你如何正確應用好網絡地址轉換NAT技術.