溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

NAT技術(shù)怎么實現(xiàn)

發(fā)布時間:2022-01-05 17:33:33 來源:億速云 閱讀:109 作者:iii 欄目:云計算

這篇文章主要介紹“NAT技術(shù)怎么實現(xiàn)”,在日常操作中,相信很多人在NAT技術(shù)怎么實現(xiàn)問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”NAT技術(shù)怎么實現(xiàn)”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

NAT

NAT簡介

NAT(Network Address Translation,網(wǎng)絡(luò)地址轉(zhuǎn)換)是將IP數(shù)據(jù)報文頭中的IP地址轉(zhuǎn)換為另一個IP地址的過程。在實際應(yīng)用中,NAT主要用于實現(xiàn)私有網(wǎng)絡(luò)訪問公共網(wǎng)絡(luò)的功能。這種通過使用少量的公網(wǎng)IP地址代表較多的私網(wǎng)IP地址的方式,將有助于減緩可用IP地址空間的枯竭。

NAT技術(shù)怎么實現(xiàn)

私網(wǎng)IP地址是指內(nèi)部網(wǎng)絡(luò)或主機的IP地址,公網(wǎng)IP地址是指在因特網(wǎng)上全球唯一的IP地址。

RFC 1918為私有網(wǎng)絡(luò)預(yù)留出了三個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

(上述三個范圍內(nèi)的地址不會在因特網(wǎng)上被分配,因此可以不必向ISP或注冊中心申請而在公司或企業(yè)內(nèi)部自由使用。)

NAT最初的設(shè)計目的是用于實現(xiàn)私有網(wǎng)絡(luò)訪問公共網(wǎng)絡(luò)的功能,后擴展到實現(xiàn)任意兩個網(wǎng)絡(luò)間進行訪問時的地址轉(zhuǎn)換應(yīng)用,本文中將這兩個網(wǎng)絡(luò)分別稱為內(nèi)部網(wǎng)絡(luò)(內(nèi)網(wǎng))和外部網(wǎng)絡(luò)(外網(wǎng)),通常私網(wǎng)為內(nèi)部網(wǎng)絡(luò),公網(wǎng)為外部網(wǎng)絡(luò)。

圖1描述了一個基本的NAT應(yīng)用。

圖1 地址轉(zhuǎn)換的基本過程

NAT技術(shù)怎么實現(xiàn)

(1)        內(nèi)網(wǎng)用戶主機(192.168.1.3)向外網(wǎng)服務(wù)器(1.1.1.2)發(fā)送的IP報文通過NAT設(shè)備。

(2)        NAT設(shè)備查看報頭內(nèi)容,發(fā)現(xiàn)該報文是發(fā)往外網(wǎng)的,將其源IP地址字段的私網(wǎng)地址192.168.1.3轉(zhuǎn)換成一個可在Internet上選路的公網(wǎng)地址20.1.1.1,并將該報文發(fā)送給外網(wǎng)服務(wù)器,同時在NAT設(shè)備的網(wǎng)絡(luò)地址轉(zhuǎn)換表中記錄這一映射。

(3)        外網(wǎng)服務(wù)器給內(nèi)網(wǎng)用戶發(fā)送的應(yīng)答報文(其初始目的IP地址為20.1.1.1)到達NAT設(shè)備后,NAT設(shè)備再次查看報頭內(nèi)容,然后查找當前網(wǎng)絡(luò)地址轉(zhuǎn)換表的記錄,用內(nèi)網(wǎng)私有地址192.168.1.3替換初始的目的IP地址。

上述的NAT過程對終端(如圖中的Host和Server)來說是透明的。對外網(wǎng)服務(wù)器而言,它認為內(nèi)網(wǎng)用戶主機的IP地址就是20.1.1.1,并不知道有192.168.1.3這個地址。因此,NAT“隱藏”了企業(yè)的私有網(wǎng)絡(luò)。

地址轉(zhuǎn)換的優(yōu)點在于,在為內(nèi)部網(wǎng)絡(luò)主機提供了“隱私”保護的前提下,實現(xiàn)了內(nèi)部網(wǎng)絡(luò)的主機通過該功能訪問外部網(wǎng)絡(luò)的資源。但它也有一些缺點:

l              由于需要對數(shù)據(jù)報文進行IP地址的轉(zhuǎn)換,涉及IP地址的數(shù)據(jù)報報文的報頭不能被加密。在應(yīng)用協(xié)議中,如果報文中有地址或端口需要轉(zhuǎn)換,則報文不能被加密。例如,不能使用加密的FTP連接,否則FTP協(xié)議的port命令不能被正確轉(zhuǎn)換。

l              網(wǎng)絡(luò)調(diào)試變得更加困難。比如,某一臺內(nèi)部網(wǎng)絡(luò)的主機試圖攻擊其它網(wǎng)絡(luò),則很難指出究竟哪一臺主機是惡意的,因為主機的IP地址被屏蔽了。

地址轉(zhuǎn)換控制

在實際應(yīng)用中,我們可能希望某些內(nèi)部網(wǎng)絡(luò)的主機可以訪問外部網(wǎng)絡(luò),而某些主機不允許訪問,即當NAT設(shè)備查看IP數(shù)據(jù)報文的報頭內(nèi)容時,如果發(fā)現(xiàn)源IP地址屬于禁止訪問外部網(wǎng)絡(luò)的內(nèi)部主機,它將不進行地址轉(zhuǎn)換。另外,也希望只有指定的公網(wǎng)地址才可用于地址轉(zhuǎn)換。

設(shè)備可以利用ACL(Access Control Limit,訪問控制列表)和地址池來對地址轉(zhuǎn)換進行控制。

l              訪問控制列表可以有效地控制地址轉(zhuǎn)換的使用范圍,只有滿足訪問控制列表規(guī)則的數(shù)據(jù)報文才可以進行地址轉(zhuǎn)換。

l              地址池是用于地址轉(zhuǎn)換的一些連續(xù)的公網(wǎng)IP地址的集合,它可以有效地控制公網(wǎng)地址的使用。用戶可根據(jù)自己擁有的合法IP地址數(shù)目、內(nèi)部網(wǎng)絡(luò)主機數(shù)目以及實際應(yīng)用情況,定義合適的地址池。在地址轉(zhuǎn)換的過程中,NAT設(shè)備將會從地址池中挑選一個IP地址做為數(shù)據(jù)報文轉(zhuǎn)換后的源IP地址。

NAT實現(xiàn)

基本地址轉(zhuǎn)換

從的地址轉(zhuǎn)換過程可見,當內(nèi)部網(wǎng)絡(luò)訪問外部網(wǎng)絡(luò)時,地址轉(zhuǎn)換將會選擇一個合適的外部地址,來替代內(nèi)部網(wǎng)絡(luò)數(shù)據(jù)報文的源地址。在圖1中是選擇NAT設(shè)備出接口的IP地址(公網(wǎng)IP地址)。這樣所有內(nèi)部網(wǎng)絡(luò)的主機訪問外部網(wǎng)絡(luò)時,只能擁有一個外部網(wǎng)絡(luò)的IP地址,因此,這種情況同時只允許最多有一臺內(nèi)部網(wǎng)絡(luò)主機訪問外部網(wǎng)絡(luò)。

當內(nèi)部網(wǎng)絡(luò)的多臺主機并發(fā)的要求訪問外部網(wǎng)絡(luò)時,NAT也可實現(xiàn)對并發(fā)性請求的響應(yīng),允許NAT設(shè)備擁有多個公有IP地址。當?shù)谝粋€內(nèi)網(wǎng)主機訪問外網(wǎng)時,NAT選擇一個公有地址IP1,在地址轉(zhuǎn)換表中添加記錄并發(fā)送數(shù)據(jù)報;當另一內(nèi)網(wǎng)主機訪問外網(wǎng)時,NAT選擇另一個公有地址IP2,以此類推,從而滿足了多臺內(nèi)網(wǎng)主機訪問外網(wǎng)的請求。

NAT技術(shù)怎么實現(xiàn)

NAT設(shè)備擁有的公有IP地址數(shù)目要遠少于內(nèi)部網(wǎng)絡(luò)的主機數(shù)目,因為所有內(nèi)網(wǎng)主機并不會同時訪問外網(wǎng)。公有IP地址數(shù)目的確定,應(yīng)根據(jù)網(wǎng)絡(luò)高峰期可能訪問外網(wǎng)的內(nèi)網(wǎng)主機數(shù)目的統(tǒng)計值來確定。

NAPT

NAPT(Network Address Port Translation,網(wǎng)絡(luò)地址端口轉(zhuǎn)換)是基本地址轉(zhuǎn)換的一種變形,它允許多個內(nèi)部地址映射到同一個公有地址上,也可稱之為“多對一地址轉(zhuǎn)換”。

NAPT同時映射IP地址和端口號:來自不同內(nèi)部地址的數(shù)據(jù)報文的源地址可以映射到同一外部地址,但它們的端口號被轉(zhuǎn)換為該地址的不同端口號,因而仍然能夠共享同一地址,也就是“私網(wǎng)IP地址+端口號”與“公網(wǎng)IP地址+端口號”之間的轉(zhuǎn)換。

圖2 NAPT基本原理示意圖

NAT技術(shù)怎么實現(xiàn)

圖2所示,三個帶有內(nèi)部地址的數(shù)據(jù)報文到達NAT設(shè)備,其中報文1和報文2來自同一個內(nèi)部地址但有不同的源端口號,報文1和報文3來自不同的內(nèi)部地址但具有相同的源端口號。通過NAPT映射,四個數(shù)據(jù)報的源IP地址都被轉(zhuǎn)換到同一個外部地址,但每個數(shù)據(jù)報都被賦予了不同的源端口號,因而仍保留了報文之間的區(qū)別。當各報文的回應(yīng)報文到達時,NAT設(shè)備仍能夠根據(jù)回應(yīng)報文的目的IP地址和目的端口號來區(qū)別該報文應(yīng)轉(zhuǎn)發(fā)到的內(nèi)部主機。

采用NAPT可以更加充分地利用IP地址資源,實現(xiàn)更多內(nèi)部網(wǎng)絡(luò)主機對外部網(wǎng)絡(luò)的同時訪問。

目前,NAPT支持兩種不同的地址轉(zhuǎn)換模式:

l              Endpoint-Independent Mapping(不關(guān)心對端地址和端口轉(zhuǎn)換模式)

該模式下,NAT設(shè)備通過建立三元組(源地址、源端口號、協(xié)議類型)表項來進行地址分配和報文過濾。即,只要是來自相同源地址和源端口號的報文,不論其目的地址是否相同,通過NAPT映射后,其源地址和源端口號都被轉(zhuǎn)換為同一個外部地址和端口號,并且NAT設(shè)備允許外部網(wǎng)絡(luò)的主機通過該轉(zhuǎn)換后的地址和端口來訪問這些內(nèi)部網(wǎng)絡(luò)的主機。這種模式可以很好得支持位于不同NAT設(shè)備之后的主機間進行互訪。

l              Address and Port-Dependent Mapping(關(guān)心對端地址和端口轉(zhuǎn)換模式)

該模式下,NAT設(shè)備通過建立五元組(源地址、源端口號、協(xié)議類型、目的地址、目的端口號)表項為依據(jù)進行地址分配和報文過濾。即,對于來自相同源地址和源端口號的報文,若其目的地址和目的端口號不同,通過NAPT映射后,相同的源地址和源端口號將被轉(zhuǎn)換為不同的外部地址和端口號,并且NAT設(shè)備只允許這些目的地址對應(yīng)的外部網(wǎng)絡(luò)的主機才可以通過該轉(zhuǎn)換后的地址和端口來訪問這些內(nèi)部網(wǎng)絡(luò)的主機。這種模式安全性好,但是不便于位于不同NAT設(shè)備之后的主機間進行互訪。

內(nèi)部服務(wù)器

NAT隱藏了內(nèi)部網(wǎng)絡(luò)的結(jié)構(gòu),具有“屏蔽”內(nèi)部主機的作用,但是在實際應(yīng)用中,可能需要給外部網(wǎng)絡(luò)提供一個訪問內(nèi)網(wǎng)主機的機會,如給外部網(wǎng)絡(luò)提供一臺Web服務(wù)器,或是一臺FTP服務(wù)器。

NAT設(shè)備提供的內(nèi)部服務(wù)器功能,就是通過靜態(tài)配置“公網(wǎng)IP地址+端口號”與“私網(wǎng)IP地址+端口號”間的映射關(guān)系,實現(xiàn)公網(wǎng)IP地址到私網(wǎng)IP地址的“反向”轉(zhuǎn)換。例如,可以將20.1.1.1:8080配置為內(nèi)網(wǎng)某Web服務(wù)器的外部網(wǎng)絡(luò)地址和端口號供外部網(wǎng)絡(luò)訪問。

圖3所示,外部網(wǎng)絡(luò)用戶訪問內(nèi)部網(wǎng)絡(luò)服務(wù)器的數(shù)據(jù)報文經(jīng)過NAT設(shè)備時,NAT設(shè)備根據(jù)報文的目的地址查找地址轉(zhuǎn)換表項,將訪問內(nèi)部服務(wù)器的請求報文的目的IP地址和端口號轉(zhuǎn)換成內(nèi)部服務(wù)器的私有IP地址和端口號。當內(nèi)部服務(wù)器回應(yīng)該報文時,NAT設(shè)備再根據(jù)已有的地址映射關(guān)系將回應(yīng)報文的源IP地址和端口號轉(zhuǎn)換成公網(wǎng)IP地址和端口號。

圖3 內(nèi)部服務(wù)器基本原理示意圖

NAT技術(shù)怎么實現(xiàn)

DNS mapping

NAT技術(shù)怎么實現(xiàn)

本特性的支持情況與設(shè)備的型號有關(guān),請以設(shè)備的實際情況為準。

一般情況下,DNS服務(wù)器和訪問私網(wǎng)服務(wù)器的用戶都在公網(wǎng),通過在NAT設(shè)備的公網(wǎng)接口上配置內(nèi)部服務(wù)器,可以將公網(wǎng)地址、端口等信息映射到私網(wǎng)內(nèi)的服務(wù)器上,使得公網(wǎng)用戶可以通過內(nèi)部服務(wù)器的域名或公網(wǎng)地址來訪問內(nèi)部服務(wù)器。但是,如圖4所示,如果DNS服務(wù)器在公網(wǎng),私網(wǎng)用戶希望通過域名來訪問私網(wǎng)的Web服務(wù)器,則會由于DNS服務(wù)器向私網(wǎng)用戶發(fā)送的響應(yīng)報文中包含的是私網(wǎng)服務(wù)器的公網(wǎng)地址,而導(dǎo)致收到響應(yīng)報文的私網(wǎng)用戶無法利用域名訪問私網(wǎng)服務(wù)器。通過在設(shè)備上配置DNS mapping可以解決該問題。

圖4 NAT DNS mapping工作示意圖

NAT技術(shù)怎么實現(xiàn)

DNS mapping功能是指,通過配置“域名+公網(wǎng)IP地址+公網(wǎng)端口號+協(xié)議類型”的映射表,建立內(nèi)部服務(wù)器域名與內(nèi)部服務(wù)器公網(wǎng)信息的對應(yīng)關(guān)系。在配置了NAT的接口上,設(shè)備檢查接收到的DNS響應(yīng)報文,根據(jù)報文中的域名查找用戶配置的DNS mapping映射表,并根據(jù)表項內(nèi)的“公網(wǎng)地址+公網(wǎng)端口+協(xié)議類型”信息查找內(nèi)部服務(wù)器地址映射表中該信息對應(yīng)的私網(wǎng)地址,替換DNS查詢結(jié)果中的公網(wǎng)地址。這樣,私網(wǎng)用戶收到的DNS響應(yīng)報文中就包含了要訪問的內(nèi)部服務(wù)器的私網(wǎng)地址,也就能夠使用內(nèi)部服務(wù)器域名訪問同一私網(wǎng)內(nèi)的內(nèi)部服務(wù)器。

Easy IP

Easy IP功能是指進行地址轉(zhuǎn)換時,直接使用接口的外網(wǎng)IP地址作為轉(zhuǎn)換后的源地址,能夠最大程度的節(jié)省IP地址資源。它也可以利用訪問控制列表控制哪些內(nèi)部地址可以進行地址轉(zhuǎn)換。

NAT支持的特殊協(xié)議

NAT不僅實現(xiàn)了一般的地址轉(zhuǎn)換功能,同時提供了完善的地址轉(zhuǎn)換ALG (Application Layer Gateway,應(yīng)用級網(wǎng)關(guān))機制,使其可以支持一些特殊的應(yīng)用協(xié)議,而不需要對NAT平臺進行任何的修改,具有良好的可擴充性。這些特殊協(xié)議的報文載荷里攜帶了地址或端口信息,該信息也可能需要進行地址轉(zhuǎn)換。

可支持的特殊協(xié)議包括:FTP(File Transfer Protocol,文件傳輸協(xié)議)、PPTP(Point-to-Point Tunneling Protocol,點到點隧道協(xié)議)、ICMP(Internet Control Message Protocol,因特網(wǎng)控制消息協(xié)議)、DNS(Domain Name System,域名系統(tǒng))、ILS(Internet Locator Service,Internet定位服務(wù))、RTSP(Real Time Streaming Protocol,實時流協(xié)議)、H.323、SIP(Session Initiation Protocol,會話發(fā)起協(xié)議)、NetMeeting 3.01、NBT(NetBIOS over TCP/IP,基于TCP/IP的網(wǎng)絡(luò)基本輸入輸出系統(tǒng))等。

NAT技術(shù)怎么實現(xiàn)

NAT特殊協(xié)議的可支持情況與設(shè)備的型號有關(guān),請以設(shè)備的實際情況為準。

支持NAT多實例

NAT多實例允許分屬于不同MPLS VPN的用戶通過同一個出口訪問外部網(wǎng)絡(luò),同時允許分屬于不同MPLS VPN的用戶使用相同的私網(wǎng)地址。當MPLS VPN用戶訪問外部網(wǎng)絡(luò)時,地址轉(zhuǎn)換將內(nèi)部網(wǎng)絡(luò)主機的IP地址和端口替換為設(shè)備的外部網(wǎng)絡(luò)地址和端口,同時還記錄了用戶的MPLS VPN信息(如協(xié)議類型和路由標識符RD等)?;貞?yīng)報文到達時,地址轉(zhuǎn)換將外部網(wǎng)絡(luò)地址和端口還原為內(nèi)部網(wǎng)絡(luò)主機的IP地址和端口,同時可得知是哪一個MPLS VPN用戶的訪問。

同時,地址轉(zhuǎn)換支持內(nèi)部服務(wù)器的多實例,給外部提供訪問MPLS VPN內(nèi)主機的機會。例如,MPLS VPN1內(nèi)提供Web服務(wù)的主機地址是10.110.1.1,可以使用202.110.10.20作為Web服務(wù)器的外部地址,Internet的用戶使用202.110.10.20的地址就可以訪問到MPLS VPN1提供的Web服務(wù)。

另外,NAT還可利用外部網(wǎng)絡(luò)地址所攜帶的MPLS VPN信息,支持多個MPLS VPN之間的互訪。該特性的支持情況與設(shè)備的型號有關(guān),請以設(shè)備的實際情況為準。

NAT日志

NAT日志是NAT設(shè)備在進行NAT轉(zhuǎn)換時生成的一種系統(tǒng)信息。該信息包括報文的源IP地址、源端口、目的IP地址、目的端口、轉(zhuǎn)換后的源IP地址、轉(zhuǎn)換后的源端口以及用戶執(zhí)行的操作等。它只用于記錄內(nèi)網(wǎng)用戶訪問外部網(wǎng)絡(luò)的情況,不記錄外部用戶對內(nèi)網(wǎng)服務(wù)器的訪問。

內(nèi)網(wǎng)用戶通過NAT設(shè)備訪問外部網(wǎng)絡(luò)時,多個用戶共用一個外網(wǎng)地址,從而無法定位訪問網(wǎng)絡(luò)的用戶。利用日志功能可以實時跟蹤、記錄內(nèi)網(wǎng)用戶訪問外部網(wǎng)絡(luò)的情況,增強網(wǎng)絡(luò)的安全性。

到此,關(guān)于“NAT技術(shù)怎么實現(xiàn)”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

nat
AI