這篇文章主要介紹“NAT技術(shù)怎么實(shí)現(xiàn)”,在日常操作中,相信很多人在NAT技術(shù)怎么實(shí)現(xiàn)問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對(duì)大家解答”NAT技術(shù)怎么實(shí)現(xiàn)”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!
成都創(chuàng)新互聯(lián)是一家專注于成都做網(wǎng)站、網(wǎng)站建設(shè)與策劃設(shè)計(jì),海安網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:海安等地區(qū)。海安做網(wǎng)站價(jià)格咨詢:18982081108
NAT(Network Address Translation,網(wǎng)絡(luò)地址轉(zhuǎn)換)是將IP數(shù)據(jù)報(bào)文頭中的IP地址轉(zhuǎn)換為另一個(gè)IP地址的過程。在實(shí)際應(yīng)用中,NAT主要用于實(shí)現(xiàn)私有網(wǎng)絡(luò)訪問公共網(wǎng)絡(luò)的功能。這種通過使用少量的公網(wǎng)IP地址代表較多的私網(wǎng)IP地址的方式,將有助于減緩可用IP地址空間的枯竭。
私網(wǎng)IP地址是指內(nèi)部網(wǎng)絡(luò)或主機(jī)的IP地址,公網(wǎng)IP地址是指在因特網(wǎng)上全球唯一的IP地址。
RFC 1918為私有網(wǎng)絡(luò)預(yù)留出了三個(gè)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
(上述三個(gè)范圍內(nèi)的地址不會(huì)在因特網(wǎng)上被分配,因此可以不必向ISP或注冊(cè)中心申請(qǐng)而在公司或企業(yè)內(nèi)部自由使用。)
NAT最初的設(shè)計(jì)目的是用于實(shí)現(xiàn)私有網(wǎng)絡(luò)訪問公共網(wǎng)絡(luò)的功能,后擴(kuò)展到實(shí)現(xiàn)任意兩個(gè)網(wǎng)絡(luò)間進(jìn)行訪問時(shí)的地址轉(zhuǎn)換應(yīng)用,本文中將這兩個(gè)網(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描述了一個(gè)基本的NAT應(yīng)用。
圖1 地址轉(zhuǎn)換的基本過程
(1) 內(nèi)網(wǎng)用戶主機(jī)(192.168.1.3)向外網(wǎng)服務(wù)器(1.1.1.2)發(fā)送的IP報(bào)文通過NAT設(shè)備。
(2) NAT設(shè)備查看報(bào)頭內(nèi)容,發(fā)現(xiàn)該報(bào)文是發(fā)往外網(wǎng)的,將其源IP地址字段的私網(wǎng)地址192.168.1.3轉(zhuǎn)換成一個(gè)可在Internet上選路的公網(wǎng)地址20.1.1.1,并將該報(bào)文發(fā)送給外網(wǎng)服務(wù)器,同時(shí)在NAT設(shè)備的網(wǎng)絡(luò)地址轉(zhuǎn)換表中記錄這一映射。
(3) 外網(wǎng)服務(wù)器給內(nèi)網(wǎng)用戶發(fā)送的應(yīng)答報(bào)文(其初始目的IP地址為20.1.1.1)到達(dá)NAT設(shè)備后,NAT設(shè)備再次查看報(bào)頭內(nèi)容,然后查找當(dāng)前網(wǎng)絡(luò)地址轉(zhuǎn)換表的記錄,用內(nèi)網(wǎng)私有地址192.168.1.3替換初始的目的IP地址。
上述的NAT過程對(duì)終端(如圖中的Host和Server)來說是透明的。對(duì)外網(wǎng)服務(wù)器而言,它認(rèn)為內(nèi)網(wǎng)用戶主機(jī)的IP地址就是20.1.1.1,并不知道有192.168.1.3這個(gè)地址。因此,NAT“隱藏”了企業(yè)的私有網(wǎng)絡(luò)。
地址轉(zhuǎn)換的優(yōu)點(diǎn)在于,在為內(nèi)部網(wǎng)絡(luò)主機(jī)提供了“隱私”保護(hù)的前提下,實(shí)現(xiàn)了內(nèi)部網(wǎng)絡(luò)的主機(jī)通過該功能訪問外部網(wǎng)絡(luò)的資源。但它也有一些缺點(diǎn):
l 由于需要對(duì)數(shù)據(jù)報(bào)文進(jìn)行IP地址的轉(zhuǎn)換,涉及IP地址的數(shù)據(jù)報(bào)報(bào)文的報(bào)頭不能被加密。在應(yīng)用協(xié)議中,如果報(bào)文中有地址或端口需要轉(zhuǎn)換,則報(bào)文不能被加密。例如,不能使用加密的FTP連接,否則FTP協(xié)議的port命令不能被正確轉(zhuǎn)換。
l 網(wǎng)絡(luò)調(diào)試變得更加困難。比如,某一臺(tái)內(nèi)部網(wǎng)絡(luò)的主機(jī)試圖攻擊其它網(wǎng)絡(luò),則很難指出究竟哪一臺(tái)主機(jī)是惡意的,因?yàn)橹鳈C(jī)的IP地址被屏蔽了。
在實(shí)際應(yīng)用中,我們可能希望某些內(nèi)部網(wǎng)絡(luò)的主機(jī)可以訪問外部網(wǎng)絡(luò),而某些主機(jī)不允許訪問,即當(dāng)NAT設(shè)備查看IP數(shù)據(jù)報(bào)文的報(bào)頭內(nèi)容時(shí),如果發(fā)現(xiàn)源IP地址屬于禁止訪問外部網(wǎng)絡(luò)的內(nèi)部主機(jī),它將不進(jìn)行地址轉(zhuǎn)換。另外,也希望只有指定的公網(wǎng)地址才可用于地址轉(zhuǎn)換。
設(shè)備可以利用ACL(Access Control Limit,訪問控制列表)和地址池來對(duì)地址轉(zhuǎn)換進(jìn)行控制。
l 訪問控制列表可以有效地控制地址轉(zhuǎn)換的使用范圍,只有滿足訪問控制列表規(guī)則的數(shù)據(jù)報(bào)文才可以進(jìn)行地址轉(zhuǎn)換。
l 地址池是用于地址轉(zhuǎn)換的一些連續(xù)的公網(wǎng)IP地址的集合,它可以有效地控制公網(wǎng)地址的使用。用戶可根據(jù)自己擁有的合法IP地址數(shù)目、內(nèi)部網(wǎng)絡(luò)主機(jī)數(shù)目以及實(shí)際應(yīng)用情況,定義合適的地址池。在地址轉(zhuǎn)換的過程中,NAT設(shè)備將會(huì)從地址池中挑選一個(gè)IP地址做為數(shù)據(jù)報(bào)文轉(zhuǎn)換后的源IP地址。
從的地址轉(zhuǎn)換過程可見,當(dāng)內(nèi)部網(wǎng)絡(luò)訪問外部網(wǎng)絡(luò)時(shí),地址轉(zhuǎn)換將會(huì)選擇一個(gè)合適的外部地址,來替代內(nèi)部網(wǎng)絡(luò)數(shù)據(jù)報(bào)文的源地址。在圖1中是選擇NAT設(shè)備出接口的IP地址(公網(wǎng)IP地址)。這樣所有內(nèi)部網(wǎng)絡(luò)的主機(jī)訪問外部網(wǎng)絡(luò)時(shí),只能擁有一個(gè)外部網(wǎng)絡(luò)的IP地址,因此,這種情況同時(shí)只允許最多有一臺(tái)內(nèi)部網(wǎng)絡(luò)主機(jī)訪問外部網(wǎng)絡(luò)。
當(dāng)內(nèi)部網(wǎng)絡(luò)的多臺(tái)主機(jī)并發(fā)的要求訪問外部網(wǎng)絡(luò)時(shí),NAT也可實(shí)現(xiàn)對(duì)并發(fā)性請(qǐng)求的響應(yīng),允許NAT設(shè)備擁有多個(gè)公有IP地址。當(dāng)?shù)谝粋€(gè)內(nèi)網(wǎng)主機(jī)訪問外網(wǎng)時(shí),NAT選擇一個(gè)公有地址IP1,在地址轉(zhuǎn)換表中添加記錄并發(fā)送數(shù)據(jù)報(bào);當(dāng)另一內(nèi)網(wǎng)主機(jī)訪問外網(wǎng)時(shí),NAT選擇另一個(gè)公有地址IP2,以此類推,從而滿足了多臺(tái)內(nèi)網(wǎng)主機(jī)訪問外網(wǎng)的請(qǐng)求。
NAT設(shè)備擁有的公有IP地址數(shù)目要遠(yuǎn)少于內(nèi)部網(wǎng)絡(luò)的主機(jī)數(shù)目,因?yàn)樗袃?nèi)網(wǎng)主機(jī)并不會(huì)同時(shí)訪問外網(wǎng)。公有IP地址數(shù)目的確定,應(yīng)根據(jù)網(wǎng)絡(luò)高峰期可能訪問外網(wǎng)的內(nèi)網(wǎng)主機(jī)數(shù)目的統(tǒng)計(jì)值來確定。
NAPT(Network Address Port Translation,網(wǎng)絡(luò)地址端口轉(zhuǎn)換)是基本地址轉(zhuǎn)換的一種變形,它允許多個(gè)內(nèi)部地址映射到同一個(gè)公有地址上,也可稱之為“多對(duì)一地址轉(zhuǎn)換”。
NAPT同時(shí)映射IP地址和端口號(hào):來自不同內(nèi)部地址的數(shù)據(jù)報(bào)文的源地址可以映射到同一外部地址,但它們的端口號(hào)被轉(zhuǎn)換為該地址的不同端口號(hào),因而仍然能夠共享同一地址,也就是“私網(wǎng)IP地址+端口號(hào)”與“公網(wǎng)IP地址+端口號(hào)”之間的轉(zhuǎn)換。
圖2 NAPT基本原理示意圖
如圖2所示,三個(gè)帶有內(nèi)部地址的數(shù)據(jù)報(bào)文到達(dá)NAT設(shè)備,其中報(bào)文1和報(bào)文2來自同一個(gè)內(nèi)部地址但有不同的源端口號(hào),報(bào)文1和報(bào)文3來自不同的內(nèi)部地址但具有相同的源端口號(hào)。通過NAPT映射,四個(gè)數(shù)據(jù)報(bào)的源IP地址都被轉(zhuǎn)換到同一個(gè)外部地址,但每個(gè)數(shù)據(jù)報(bào)都被賦予了不同的源端口號(hào),因而仍保留了報(bào)文之間的區(qū)別。當(dāng)各報(bào)文的回應(yīng)報(bào)文到達(dá)時(shí),NAT設(shè)備仍能夠根據(jù)回應(yīng)報(bào)文的目的IP地址和目的端口號(hào)來區(qū)別該報(bào)文應(yīng)轉(zhuǎn)發(fā)到的內(nèi)部主機(jī)。
采用NAPT可以更加充分地利用IP地址資源,實(shí)現(xiàn)更多內(nèi)部網(wǎng)絡(luò)主機(jī)對(duì)外部網(wǎng)絡(luò)的同時(shí)訪問。
目前,NAPT支持兩種不同的地址轉(zhuǎn)換模式:
l Endpoint-Independent Mapping(不關(guān)心對(duì)端地址和端口轉(zhuǎn)換模式)
該模式下,NAT設(shè)備通過建立三元組(源地址、源端口號(hào)、協(xié)議類型)表項(xiàng)來進(jìn)行地址分配和報(bào)文過濾。即,只要是來自相同源地址和源端口號(hào)的報(bào)文,不論其目的地址是否相同,通過NAPT映射后,其源地址和源端口號(hào)都被轉(zhuǎn)換為同一個(gè)外部地址和端口號(hào),并且NAT設(shè)備允許外部網(wǎng)絡(luò)的主機(jī)通過該轉(zhuǎn)換后的地址和端口來訪問這些內(nèi)部網(wǎng)絡(luò)的主機(jī)。這種模式可以很好得支持位于不同NAT設(shè)備之后的主機(jī)間進(jìn)行互訪。
l Address and Port-Dependent Mapping(關(guān)心對(duì)端地址和端口轉(zhuǎn)換模式)
該模式下,NAT設(shè)備通過建立五元組(源地址、源端口號(hào)、協(xié)議類型、目的地址、目的端口號(hào))表項(xiàng)為依據(jù)進(jìn)行地址分配和報(bào)文過濾。即,對(duì)于來自相同源地址和源端口號(hào)的報(bào)文,若其目的地址和目的端口號(hào)不同,通過NAPT映射后,相同的源地址和源端口號(hào)將被轉(zhuǎn)換為不同的外部地址和端口號(hào),并且NAT設(shè)備只允許這些目的地址對(duì)應(yīng)的外部網(wǎng)絡(luò)的主機(jī)才可以通過該轉(zhuǎn)換后的地址和端口來訪問這些內(nèi)部網(wǎng)絡(luò)的主機(jī)。這種模式安全性好,但是不便于位于不同NAT設(shè)備之后的主機(jī)間進(jìn)行互訪。
NAT隱藏了內(nèi)部網(wǎng)絡(luò)的結(jié)構(gòu),具有“屏蔽”內(nèi)部主機(jī)的作用,但是在實(shí)際應(yīng)用中,可能需要給外部網(wǎng)絡(luò)提供一個(gè)訪問內(nèi)網(wǎng)主機(jī)的機(jī)會(huì),如給外部網(wǎng)絡(luò)提供一臺(tái)Web服務(wù)器,或是一臺(tái)FTP服務(wù)器。
NAT設(shè)備提供的內(nèi)部服務(wù)器功能,就是通過靜態(tài)配置“公網(wǎng)IP地址+端口號(hào)”與“私網(wǎng)IP地址+端口號(hào)”間的映射關(guān)系,實(shí)現(xiàn)公網(wǎng)IP地址到私網(wǎng)IP地址的“反向”轉(zhuǎn)換。例如,可以將20.1.1.1:8080配置為內(nèi)網(wǎng)某Web服務(wù)器的外部網(wǎng)絡(luò)地址和端口號(hào)供外部網(wǎng)絡(luò)訪問。
如圖3所示,外部網(wǎng)絡(luò)用戶訪問內(nèi)部網(wǎng)絡(luò)服務(wù)器的數(shù)據(jù)報(bào)文經(jīng)過NAT設(shè)備時(shí),NAT設(shè)備根據(jù)報(bào)文的目的地址查找地址轉(zhuǎn)換表項(xiàng),將訪問內(nèi)部服務(wù)器的請(qǐng)求報(bào)文的目的IP地址和端口號(hào)轉(zhuǎn)換成內(nèi)部服務(wù)器的私有IP地址和端口號(hào)。當(dāng)內(nèi)部服務(wù)器回應(yīng)該報(bào)文時(shí),NAT設(shè)備再根據(jù)已有的地址映射關(guān)系將回應(yīng)報(bào)文的源IP地址和端口號(hào)轉(zhuǎn)換成公網(wǎng)IP地址和端口號(hào)。
圖3 內(nèi)部服務(wù)器基本原理示意圖
本特性的支持情況與設(shè)備的型號(hào)有關(guān),請(qǐng)以設(shè)備的實(shí)際情況為準(zhǔn)。
一般情況下,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ù)器,則會(huì)由于DNS服務(wù)器向私網(wǎng)用戶發(fā)送的響應(yīng)報(bào)文中包含的是私網(wǎng)服務(wù)器的公網(wǎng)地址,而導(dǎo)致收到響應(yīng)報(bào)文的私網(wǎng)用戶無法利用域名訪問私網(wǎng)服務(wù)器。通過在設(shè)備上配置DNS mapping可以解決該問題。
圖4 NAT DNS mapping工作示意圖
DNS mapping功能是指,通過配置“域名+公網(wǎng)IP地址+公網(wǎng)端口號(hào)+協(xié)議類型”的映射表,建立內(nèi)部服務(wù)器域名與內(nèi)部服務(wù)器公網(wǎng)信息的對(duì)應(yīng)關(guān)系。在配置了NAT的接口上,設(shè)備檢查接收到的DNS響應(yīng)報(bào)文,根據(jù)報(bào)文中的域名查找用戶配置的DNS mapping映射表,并根據(jù)表項(xiàng)內(nèi)的“公網(wǎng)地址+公網(wǎng)端口+協(xié)議類型”信息查找內(nèi)部服務(wù)器地址映射表中該信息對(duì)應(yīng)的私網(wǎng)地址,替換DNS查詢結(jié)果中的公網(wǎng)地址。這樣,私網(wǎng)用戶收到的DNS響應(yīng)報(bào)文中就包含了要訪問的內(nèi)部服務(wù)器的私網(wǎng)地址,也就能夠使用內(nèi)部服務(wù)器域名訪問同一私網(wǎng)內(nèi)的內(nèi)部服務(wù)器。
Easy IP功能是指進(jìn)行地址轉(zhuǎn)換時(shí),直接使用接口的外網(wǎng)IP地址作為轉(zhuǎn)換后的源地址,能夠最大程度的節(jié)省IP地址資源。它也可以利用訪問控制列表控制哪些內(nèi)部地址可以進(jìn)行地址轉(zhuǎn)換。
NAT不僅實(shí)現(xiàn)了一般的地址轉(zhuǎn)換功能,同時(shí)提供了完善的地址轉(zhuǎn)換ALG (Application Layer Gateway,應(yīng)用級(jí)網(wǎng)關(guān))機(jī)制,使其可以支持一些特殊的應(yīng)用協(xié)議,而不需要對(duì)NAT平臺(tái)進(jìn)行任何的修改,具有良好的可擴(kuò)充性。這些特殊協(xié)議的報(bào)文載荷里攜帶了地址或端口信息,該信息也可能需要進(jìn)行地址轉(zhuǎn)換。
可支持的特殊協(xié)議包括:FTP(File Transfer Protocol,文件傳輸協(xié)議)、PPTP(Point-to-Point Tunneling Protocol,點(diǎn)到點(diǎn)隧道協(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,實(shí)時(shí)流協(xié)議)、H.323、SIP(Session Initiation Protocol,會(huì)話發(fā)起協(xié)議)、NetMeeting 3.01、NBT(NetBIOS over TCP/IP,基于TCP/IP的網(wǎng)絡(luò)基本輸入輸出系統(tǒng))等。
NAT特殊協(xié)議的可支持情況與設(shè)備的型號(hào)有關(guān),請(qǐng)以設(shè)備的實(shí)際情況為準(zhǔn)。
NAT多實(shí)例允許分屬于不同MPLS VPN的用戶通過同一個(gè)出口訪問外部網(wǎng)絡(luò),同時(shí)允許分屬于不同MPLS VPN的用戶使用相同的私網(wǎng)地址。當(dāng)MPLS VPN用戶訪問外部網(wǎng)絡(luò)時(shí),地址轉(zhuǎn)換將內(nèi)部網(wǎng)絡(luò)主機(jī)的IP地址和端口替換為設(shè)備的外部網(wǎng)絡(luò)地址和端口,同時(shí)還記錄了用戶的MPLS VPN信息(如協(xié)議類型和路由標(biāo)識(shí)符RD等)。回應(yīng)報(bào)文到達(dá)時(shí),地址轉(zhuǎn)換將外部網(wǎng)絡(luò)地址和端口還原為內(nèi)部網(wǎng)絡(luò)主機(jī)的IP地址和端口,同時(shí)可得知是哪一個(gè)MPLS VPN用戶的訪問。
同時(shí),地址轉(zhuǎn)換支持內(nèi)部服務(wù)器的多實(shí)例,給外部提供訪問MPLS VPN內(nèi)主機(jī)的機(jī)會(huì)。例如,MPLS VPN1內(nèi)提供Web服務(wù)的主機(jī)地址是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信息,支持多個(gè)MPLS VPN之間的互訪。該特性的支持情況與設(shè)備的型號(hào)有關(guān),請(qǐng)以設(shè)備的實(shí)際情況為準(zhǔn)。
NAT日志是NAT設(shè)備在進(jìn)行NAT轉(zhuǎn)換時(shí)生成的一種系統(tǒng)信息。該信息包括報(bào)文的源IP地址、源端口、目的IP地址、目的端口、轉(zhuǎn)換后的源IP地址、轉(zhuǎn)換后的源端口以及用戶執(zhí)行的操作等。它只用于記錄內(nèi)網(wǎng)用戶訪問外部網(wǎng)絡(luò)的情況,不記錄外部用戶對(duì)內(nèi)網(wǎng)服務(wù)器的訪問。
內(nèi)網(wǎng)用戶通過NAT設(shè)備訪問外部網(wǎng)絡(luò)時(shí),多個(gè)用戶共用一個(gè)外網(wǎng)地址,從而無法定位訪問網(wǎng)絡(luò)的用戶。利用日志功能可以實(shí)時(shí)跟蹤、記錄內(nèi)網(wǎng)用戶訪問外部網(wǎng)絡(luò)的情況,增強(qiáng)網(wǎng)絡(luò)的安全性。
到此,關(guān)于“NAT技術(shù)怎么實(shí)現(xiàn)”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!