一、NAT的由來
NAT即網絡地址轉換。NAT通常部署在一個組織的網絡出口位置,通過將內部網絡IP地址替換為出口的IP地址提供公網可達性和上層協議的連接能力。
內部網絡使用的IP地址大部分均為私有地址,A類私有地址為:10.0.0.0-10.255.255.255;B類私有地址為:172.16.0.0-172.31.255.255;C類私有地址為:192.168.0.0-192.168.255.255。這些地址可以在任何組織或企業(yè)內部使用,不能作為全球路由地址。
而對于有Internet訪問需求而內部又使用私有地址的網絡,就要在組織的出口位置部署NAT網關,在報文離開私網進入Internet時,將源IP替換為公網地址,通常是出口設備的接口地址。
二、NAT的工作原理
在實際應用中,NAT主要用于實現私有網絡訪問外部網絡的功能。這種通過允許使用少量的公有IP地址代表多數私有IP地址的方式將有助于減緩可用IP地址空間站枯竭的速度。
NAT服務器處于私有網絡和公有網絡的連接處。當內部PC(192.168.1.3)向外部服務器(202.120.10.2)發(fā)送一個數據報1時,數據報將通過NAT服務器。NAT進程查看報頭內容,發(fā)現該數據報是發(fā)往外部網絡的,那么它將數據報1源地址字段的私有地址192.168.1.3換成一個可在互聯網上選路的公有地址201.169.10.1,并將該數據報發(fā)送到外部服務器,同時在網絡地址轉換表中記錄這一映射;外部服務器給內部PC發(fā)送應答報文2(其初始目的地址為202.169.10.1),到達NAT服務器后,NAT進程再次查看報頭內容,然后查找當前網絡地址轉換表的記錄,用原來的內部PC私有地址192.168.1.3替換目的地址。
三、地址轉換協議NAT的優(yōu)缺點
1.NAT技術的優(yōu)點。
(1)NAT技術極大的節(jié)省了合法的IP地址。
(2)NAT技術能夠處理地址重復情況,避免了地址的重新編號,增加了編址的靈活性。
(3)NAT技術隱藏了內部網絡地址,增強了安全性。
(4)NATJIS可以使多個使用TCP負載特性的服務器之間實現基本的數據包負載均衡。
2.NAT技術的缺點:
(1)由于NAT要在邊界路由器上進行地址的轉換,增大了傳輸的延遲。
(2)由于NAT改動了IP地址,失去了跟蹤端到端IP流量的能力。當出現惡意流量時,會使故障排除和流量跟蹤變的更加棘手。
(3)不支持一些特定的應用程序。如早期版本的MSN。
(4)增大了資源開銷。處理NAT進程增加了CPU的負荷,并需要更多內存來存儲NAT表項。
四、NAT的工作流程
在整個NAT的轉換中,最關鍵的流程有以下幾點。
1.網絡被分為私網和公網兩個部分,NAT網關設置在私網到公網的路由出口位置,雙向流量必須都要經過NAT網關。
2.網絡訪問只能先由私網側發(fā)起,公網無法主動訪問私網主機;
3.NAT網關在兩個訪問方向上完成兩次地址的轉換或翻譯,出方向做源信息替換,入方向做目的信息替換;
4.NAT網關的存在對通信雙方是保持透明的;
5.NAT網關為了實現雙向翻譯的功能,需要維護一張關聯表,把會話的信息保存下來。
五、NAT的基本分類情況
1.靜態(tài)NAT技術
(1)工作原理
靜態(tài)轉換是指將內部網絡的私有IP地址轉換為公有IP地址,IP地址對是一對一的,是一成不變的,某個私有IP地址只轉換為某個公有IP地址。借助于靜態(tài)轉換,可以實現外部網絡對內部網絡中某些特定設備(如服務器)的訪問。
(2)配置命令
inside|outside local和inside|outside global的一對一映射
R1(config)#ip nat {inside|outside} source static< inside global>
這樣就在NAT表中創(chuàng)建了一個永久表項。
(3)配置案例
R1(config)#ip nat inside source static 192.168.1.1 210.83.202.1
R1(config)#ip nat outside source static 210.83.202.2 192.168.2.3
2.動態(tài)NAT技術
(1)基本概念
動態(tài)NAT是指將內部網絡的私有IP地址轉換為公用IP地址時,IP地址對是不確定的,是隨機的,所有被授權訪問Internet的私有IP地址可隨機轉換為任何指定的合法IP地址。也就是說,只要指定哪些內部地址可以進行轉換,以及用哪些合法地址作為外部地址時,就可以進行動態(tài)轉換。
(2)配置命令
R1(config)#ip nat poolnetmask xxxx
R1(config)#ip nat poolprefix-length xx //掩碼長度
(3)配置案例
R1(config)#ip nat pool dyn-nat-pool 211.10.121.1 211.10.121.254 netmask 255.255.255.0
R1(config)#ip nat pool dyn-nat-pool 211.10.121.1 211.10.121.254 prefix-length 24
3.端口多路復用(port address translation,)PAT
(1)基本概念
端口多路復用(Port address Translation,PAT)是指改變外出數據包的源端口并進行端口轉換,即端口地址轉換(PAT,Port Address Translation).采用端口多路復用方式。內部網絡的所有主機均可共享一個合法外部IP地址實現對Internet的訪問,從而可以最大限度地節(jié)約IP地址資源。同時,又可隱藏網絡內部的所有主機,有效避免來自internet的攻擊。因此,目前網絡中應用最多的就是端口多路復用方式。
(2)靜態(tài)PAT的配置命令
R1(config)#ip nat {inside|outside} source static< port> < inside global> < port>
配置示例:
R1(config)#ip nat inside source static tcp 10.1.1.1 80 214.118.21.121 80
(3)動態(tài)PAT的配置命令
路由器為每個轉換表項添加第四層協議和端口信息
R1(config)#ip nat inside source list 1 pool in-out overload
如果不知道出站IP地址,可在命令中指定出站接口
R1(config)#ip nat inside source list 1 e0 overload
六、NAT術語
Inside network:需要翻譯成外部地址的內部網絡。
Outside network:使用合法地址進行通信的外部網絡。
Local address:內部網絡使用的地址。
Global address:外部網絡使用的地址。
Inside local address:內部本地地址。數據在內部網絡使用的地址,一般為private ip address。
Inside global address:內部全局地址。數據為了到達外部網絡,用來代表inside local address的地址,一般為ISP提供的合法地址。
Outside local address:外部本地地址,不必是合法地址。當外部網絡數據到達內部網絡,外部網絡中的主機IP地址與內部網絡中的主機處在同一網段時,為防止內部主機誤認外部主機與自己在同一網段而廣播ARP請求,造成無法通信,將外部主機的地址轉換成外部本地地址之后再與內部主機進行通信。
Outside global address:數據在外部網絡使用的地址,是個合法地址。
聯系客服