基金項目:國家自然科學(xué)基金項目(62073055);2021年度遼寧省普通高等教育本科教學(xué)改革研究項目(遼教辦〔2021〕254號)
第一作者簡介:滕君華(1984-),女,碩士,高級實驗師。研究方向為通信與信息系統(tǒng)相關(guān)的實驗教學(xué)。
DOI:10.19981/j.CN23-1581/G3.2024.21.018
摘" 要:為更加深入認(rèn)識與了解網(wǎng)絡(luò)組態(tài),要加強對NAT技術(shù)的研究學(xué)習(xí)。該文通過對NAT技術(shù)的背景、原理、實現(xiàn)等方面較為全面地闡述,分析介紹靜態(tài)NAT、動態(tài)NAT、NAPT技術(shù)及相關(guān)聯(lián)的ACL技術(shù);同時通過銳捷網(wǎng)絡(luò)公司的真實驗平臺,模擬實現(xiàn)公司內(nèi)網(wǎng)服務(wù)器地址的公網(wǎng)映射,分別對不同類別的NAT技術(shù)進行實驗驗證,并進行分析討論。實驗證明,NAT技術(shù)在當(dāng)前仍有很好的應(yīng)用前景,在企業(yè)組網(wǎng)中發(fā)揮一定作用。
關(guān)鍵詞:網(wǎng)絡(luò)地址轉(zhuǎn)換;動態(tài)地址轉(zhuǎn)換;仿真;ACL;網(wǎng)絡(luò)安全
中圖分類號:V445" " " 文獻標(biāo)志碼:A" " " " " 文章編號:2095-2945(2024)21-0074-04
Abstract: To gain a more profound understanding of the network configuration in this particular scenario, it is crucial to enhance research and study on NAT technology. This paper provides a comprehensive exploration of the background, principles, and implementation of NAT technology. Then, the paper delves into static NAT, dynamic NAT, NAPT technology, and associated ACL technology. Using Ruijie Network's real experiment platform, simulations are conducted to map the intranet server addresses onto the public network, enabling experimental testing and analysis of different NAT technology categories. The research findings substantiate the current favorable application prospects of NAT technology and its significant role in enterprise networking.
Keywords: network address translation; dynamic address translation; simulation; ACL; network security
網(wǎng)絡(luò)地址轉(zhuǎn)換(Network Address Translation,NAT),是為解決IPv4 32位IP地址告竭所提出的地址轉(zhuǎn)換技術(shù)。該技術(shù)實現(xiàn)了公網(wǎng)地址與私網(wǎng)地址的轉(zhuǎn)換,提高了公有地址的利用率,有效緩解了IP地址不足的問題[1]。因為IPv4的提出并未預(yù)見到今天的網(wǎng)絡(luò)規(guī)模[2],NAT技術(shù)在過去一段時間被普遍利用來彌補IPv4協(xié)議公有IP不足的問題,在網(wǎng)絡(luò)組建中具有不可或缺的地位。學(xué)習(xí)使用NAT技術(shù),對認(rèn)識IPv6推廣所面臨的問題與利用NAT等技術(shù)實現(xiàn)IPv4到IPv6的平滑過渡具有十分重要的意義。銳捷實驗平臺是由銳捷公司自主研發(fā)的,具有強大功能的并繼承發(fā)展銳捷網(wǎng)絡(luò)擁有的各項專利技術(shù)的仿真實驗平臺。本文使用銳捷的仿真實驗平臺進行實驗驗證。
1" NAT技術(shù)原理
1.1" NAT技術(shù)背景
在IPv4的規(guī)定中,根據(jù)適用的網(wǎng)絡(luò)規(guī)模,IP地址可以分為5個類別,其中A、B、C類作為網(wǎng)絡(luò)通信的基本類別;D類為多播地址; E類為保留地址[3]。其中,RFC 1918(私有網(wǎng)絡(luò)地址分配)還規(guī)定了3個IP地址塊作為私有網(wǎng)絡(luò),分別是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[4]。公網(wǎng)IP地址是因特網(wǎng)上的公認(rèn)全球地址。這要求了公網(wǎng)IP必須保證在全球范圍內(nèi)是唯一的。IPv4協(xié)議無法分配足夠的公網(wǎng)IP來支持現(xiàn)有的極大規(guī)模的計算機數(shù)量。通過實現(xiàn)私有IP對公網(wǎng)IP的一對一或多對一的映射[5],NAT技術(shù)極大緩解了IP地址不足的問題。
1.2" NAT基本原理
NAT技術(shù)實現(xiàn)的地址轉(zhuǎn)換,實際上是對IP數(shù)據(jù)包中來源IP地址或目的IP地址的重寫。NAT技術(shù)不只是實現(xiàn)了內(nèi)網(wǎng)對外網(wǎng)的訪問,還實現(xiàn)了對內(nèi)部網(wǎng)絡(luò)真實地址的隱藏,有效防范可能存在的外部網(wǎng)絡(luò)攻擊[6]。同時,結(jié)合端口復(fù)用,NAT技術(shù)可以實現(xiàn)多個私有IP地址對一個公網(wǎng)IP地址的映射,達到對稀缺的公網(wǎng)IP的有效利用,同時節(jié)約企業(yè)等實體的上網(wǎng)成本。
1.3" NAT的分類
NAT技術(shù)基本上分為3大類,分別是靜態(tài)NAT、動態(tài)NAT、端路多口復(fù)用NAPT[7]。
1.3.1" 靜態(tài)NAT技術(shù)
靜態(tài)NAT是指將內(nèi)網(wǎng)的私有IP地址與分配的全球IP地址進行一對一的映射轉(zhuǎn)換。由于這種映射關(guān)系是固定的,靜態(tài)NAT技術(shù)一般是用于隱藏內(nèi)網(wǎng)設(shè)備的真實地址,達到保護內(nèi)部網(wǎng)絡(luò)的作用。
其實現(xiàn)一般采用如下配置方式。
1)在具有NAT技術(shù)的路由設(shè)備中建立內(nèi)網(wǎng)私有地址與公網(wǎng)公有地址之間的轉(zhuǎn)換,可以在全局配置(config)模式下使用ipnat inside source static IP(內(nèi)網(wǎng)) IP(外網(wǎng))語句實現(xiàn)。
2)設(shè)置內(nèi)外網(wǎng)絡(luò)的端口,在端口設(shè)置中使用ipnat inside 設(shè)置內(nèi)網(wǎng)端口,ipnat outside 設(shè)置外網(wǎng)端口。
1.3.2" 動態(tài)NAT技術(shù)
動態(tài)NAT是將私網(wǎng)IP與公網(wǎng)IP進行多對多的配對,動態(tài)分配公網(wǎng)地址給需要訪問外網(wǎng)的內(nèi)網(wǎng)主機。動態(tài)NAT的實現(xiàn)需要建立共有的公網(wǎng)地址池,由路由設(shè)備隨機分配地址給請求訪問外網(wǎng)的內(nèi)網(wǎng)主機。但與此同時,動態(tài)地址轉(zhuǎn)換技術(shù)實際上也是一個公網(wǎng)地址對應(yīng)一個私網(wǎng)地址的映射技術(shù),無法真正解決公網(wǎng)地址不足的問題。而且由于公有地址的分配由路由設(shè)備控制,其分配結(jié)果是隨機、不斷變化的,所以應(yīng)用動態(tài)地址轉(zhuǎn)換技術(shù)會對網(wǎng)絡(luò)的管理造成一定不便。
動態(tài)地址轉(zhuǎn)換的實現(xiàn)一般如下。
1)配置nat公網(wǎng)地址池,在全局配置下,設(shè)定地址池的名稱、范圍和子網(wǎng)掩碼。
2)同樣在全局配置模式下,利用ACL技術(shù),設(shè)置一個訪問控制列表,列出需要參與地址轉(zhuǎn)換的內(nèi)網(wǎng)IP地址,使用一系列permit語句實現(xiàn)。
3)將所設(shè)置的公網(wǎng)地址池與訪問控制列表進行對接,確定動態(tài)NAT技術(shù)的轉(zhuǎn)換關(guān)系。
4)設(shè)置內(nèi)部端口與外部端口。
1.3.3" 端口多口復(fù)用NAPT技術(shù)
區(qū)別于動態(tài)NAT,端口多口復(fù)用是一種修改數(shù)據(jù)包源端口,在IP地址轉(zhuǎn)換的同時進行端口轉(zhuǎn)換的技術(shù),一般實現(xiàn)為IP地址加上端口號的方式。由于端口號的引入,多臺私網(wǎng)主機可以通過訪問同一公網(wǎng)IP的不同端口來實現(xiàn)多對一的IP地址映射,最大程度地利用有限的公網(wǎng)地址[8],一定意義上解決IPv4公網(wǎng)地址告竭的問題。同時,應(yīng)用NAPT還能隱藏所有的內(nèi)部主機,避免來自外部網(wǎng)絡(luò)的攻擊,因此該技術(shù)的使用最為廣泛。但該技術(shù)局限于TCP或UDP協(xié)議,僅當(dāng)進行通信的設(shè)備都采用這2種協(xié)議時,才可以使用NAPT技術(shù)實現(xiàn)多臺內(nèi)部主機對外網(wǎng)的訪問,并且在實現(xiàn)時允許進行一對多或者多對一的訪問[9]。
1.4" ACL技術(shù)
訪問控制列表(Access Control List,ACL)是由permit或deny語句組成的控制訪問權(quán)限的有序規(guī)則的列表[10]。在使用上可以應(yīng)用于包過濾、路由決策和NAT技術(shù)等。ACL同時可以作為流量的控制技術(shù),當(dāng)數(shù)據(jù)包進入到ACL的接口中時,會與接口上的permit或deny語句進行配對,有效地控制接入網(wǎng)絡(luò)的主機對網(wǎng)絡(luò)的訪問,極大程度上保障了網(wǎng)絡(luò)安全。
2" 仿真平臺實驗設(shè)計
2.1" 實驗設(shè)置與要求
2.1.1" 問題提出
本文使用基于銳捷公司技術(shù)的實驗仿真平臺來仿真分析以上所討論的靜態(tài)NAT技術(shù)與端口復(fù)用技術(shù)。
模擬實驗內(nèi)容如下:某公司只向ISP申請了一個公網(wǎng)的IP地址,現(xiàn)公司的網(wǎng)站在內(nèi)網(wǎng),服務(wù)器地址為172.16.8.5。要求在外網(wǎng)中的終端也可以訪問到公司網(wǎng)站。
具體實現(xiàn)如下功能。
1)實現(xiàn)外網(wǎng)主機對內(nèi)網(wǎng)服務(wù)器的訪問;
2)實現(xiàn)內(nèi)網(wǎng)通過公網(wǎng)地址訪問服務(wù)器。
2.1.2" 解決方案
1)設(shè)計利用靜態(tài)NAT技術(shù)。使用靜態(tài)地址轉(zhuǎn)換可以將內(nèi)網(wǎng)中服務(wù)器地址一對一映射為公司所擁有的公網(wǎng)IP地址,對外發(fā)布服務(wù)器,實現(xiàn)外網(wǎng)對服務(wù)器的訪問。
2)設(shè)計利用端口復(fù)用技術(shù)。在設(shè)定通信雙方均采用TCP技術(shù)的情況下,設(shè)計使用動態(tài)NAT技術(shù)與端口復(fù)用技術(shù),最大程度利用公司唯一的公網(wǎng)IP地址。
實驗拓?fù)鋱D如圖1所示。
路由器網(wǎng)絡(luò)參數(shù)設(shè)置見表1。
2.2" 實驗具體步驟與仿真
2.2.1" 配置路由器
配置路由器R1 2個接口地址:
對GigabitEthernet 0/1接口配置172.16.8.1 255. 255.255.0的IP地址。
Ruijie(config)#int gig 0/1 //進入GigabitEthernet 0/1接口
Ruijie(config-if-GigabitEthernet 0/1)#ip address 172.16.8.1 255.255.255.0 // 配置地址
同樣對Gigabit Ethernet0/0接口配置200.1.8.5 255.255.255.0 IP地址。
2.2.2" 三層交換機設(shè)置
1)對三層交換機2的Gigabit Ethernet 0/1接口配置外網(wǎng)IP地址與端口號200.1.8.6 24:
Ruijie(config-if-GigabitEthernet 0/1)#no switchport
Ruijie(config-if-GigabitEthernet 0/1)#ip address 200.1.8.6 24
2)對三層交換機1的GigabitEthernet 0/1接口配置內(nèi)網(wǎng)IP地址與端口號172.16.8.5 24:
Ruijie(config-if-GigabitEthernet 0/1)#no switchport
Ruijie(config-if-GigabitEthernet 0/1)#ip address 172.16.8.5 24
2.2.3" 設(shè)置路由器NAT轉(zhuǎn)換的內(nèi)外端口
1)將路由器的GigabitEthernet 0/0接口設(shè)置為NAT轉(zhuǎn)換的外部端口,將GigabitEthernet 0/1設(shè)置為內(nèi)部端口:
Ruijie(config-if-GigabitEthernet 0/0)#ip nat outside
Ruijie(config-if-GigabitEthernet 0/1)#ip nat inside
2.2.4" 進行靜態(tài)NAT轉(zhuǎn)換實驗
1)進行整機靜態(tài)映射,將外網(wǎng)IP地址200.1.8.5轉(zhuǎn)換為內(nèi)網(wǎng)IP地址172.16.8.5:
R1:Ruijie(config)#ip nat inside source static 172. 16.8.5 200.1.8.5 permit-inside
2)進行TCP協(xié)議下的靜態(tài)端口映射,將外網(wǎng)200. 1.8.5的23端口(telnet)轉(zhuǎn)換成內(nèi)網(wǎng)的172.16.9.5的23端口,對外發(fā)布內(nèi)網(wǎng)服務(wù)器:
R1:Ruijie(config)#ip nat inside source static tcp 172.16.8.5 23 200.1.8.5 23 permit-inside
3)為交換機設(shè)置默認(rèn)路由:
SW1:Ruijie(config)#ip rout 0.0.0.0 0.0.0.0 172.16. 8.1
SW2:Ruijie(config)#ip rout 0.0.0.0 0.0.0.0 200.1. 8.5
4)測試靜態(tài)NAT配置結(jié)果。
測試結(jié)果如圖2所示。
可以看到成功進入到登錄界面,說明在靜態(tài)NAT的轉(zhuǎn)換下,成功實現(xiàn)了內(nèi)網(wǎng)Web服務(wù)器地址與公司公網(wǎng)地址的一對一映射,實現(xiàn)外網(wǎng)終端對內(nèi)網(wǎng)服務(wù)器的訪問。
2.2.5" 進行NAPT端口復(fù)用實驗
1)配置NAT地址池:
Ruijie(config)#ip nat pool nat_ruijienetmask" 255. 255.255.0" // 設(shè)置公網(wǎng)地址池nat_ruijie與子網(wǎng)掩碼
Ruijie(config-ipnat-pool)#address 200.1.8.5 200. 1.8.5 match interface GigabitEthernet 0/0
2)配置ACL,匹配NAT轉(zhuǎn)換流量:
Ruijie(config)#ip access-list standard 10 // 設(shè)置ACL
Ruijie(config-std-nacl)#10 permit 172.16.8.0 0.0.0.255" // permitIP地址172.16.8.0 0.0.0.255 的訪問
3)地址池轉(zhuǎn)換與NAT重載:
Ruijie(config)#ip nat inside source list 10 pool nat_ruijie overload" //實現(xiàn)對接,并開啟nat重載
Ruijie(config)#ip nat inside source static tcp 172.16.8.5 200.1.8.5 23 permit-inside
4)實驗結(jié)果檢驗。
在三層交換機2中使用Ruijiegt;ping 172.16.8.5指令,測試NAPT技術(shù)下外網(wǎng)訪問內(nèi)網(wǎng)的實驗結(jié)果,如圖3所示。
圖3" 端口復(fù)用實驗外網(wǎng)訪問內(nèi)網(wǎng)測試圖
在三層交換機1中使用Ruijiegt;ping 200.1.8.5指令測試內(nèi)網(wǎng)主機通過公網(wǎng)訪問服務(wù)器,結(jié)果如圖4所示。
內(nèi)網(wǎng)外網(wǎng)能相互ping通,說明成功實現(xiàn)了內(nèi)網(wǎng)主機對外網(wǎng)的訪問與外網(wǎng)設(shè)備對內(nèi)網(wǎng)服務(wù)器的訪問。
IP地址轉(zhuǎn)換表結(jié)果如圖5所示。
由圖5可知,成功使用端口復(fù)用技術(shù)實現(xiàn)了服務(wù)器的對外發(fā)布。
3" 結(jié)論
在實驗中可以清晰認(rèn)識到,使用網(wǎng)絡(luò)地址轉(zhuǎn)換時,內(nèi)網(wǎng)主機的真實地址被隱藏,預(yù)防了可能的外部攻擊,然而與此同時,隱藏主機的真實地址會對網(wǎng)絡(luò)的管理與審查造成一定困難。在網(wǎng)絡(luò)公司提供的仿真條件下,規(guī)避了一些繁瑣的現(xiàn)實因素,做到了對NAT技術(shù)的實踐操作,對于研究與理解NAT技術(shù)有重大意義。本文闡述了NAT技術(shù)及ACL技術(shù)的基礎(chǔ)原理與相關(guān)實現(xiàn),討論不同技術(shù)的優(yōu)劣,并以現(xiàn)實組網(wǎng)中,企業(yè)對外發(fā)布內(nèi)網(wǎng)服務(wù)器作為仿真實驗內(nèi)容,驗證與實現(xiàn)了靜態(tài)NAT技術(shù)與端口多路復(fù)用技術(shù),對于認(rèn)識與掌握NAT在工程與實際中的應(yīng)用具有一定實踐與教育意義。
參考文獻:
[1] 謝希仁.計算機網(wǎng)絡(luò)[M].7版.北京:電子工業(yè)出版社,2017.
[2] 陳杰.IPv6過渡的NAT技術(shù)[D].南京:南京郵電大學(xué),2013.
[3] 黃培炎.NAT技術(shù)在局域網(wǎng)中的應(yīng)用[J].信息與電腦(理論版),2020(3):151-153.
[4] 戴安娜·蒂爾,鮑勃·瓦尚.CCNP ROUTE 300-101學(xué)習(xí)指南[M].YESLAB工作室,譯.北京:人民郵電出版社,2016.
[5] 吳樹.基于NAT技術(shù)的網(wǎng)絡(luò)仿真及實現(xiàn)[J].信息與電腦(理論版),2020(14):189-191
[6] 張永平.VPN網(wǎng)絡(luò)中IPSec穿越NAT的研究[J].計算機與應(yīng)用與軟件,2008(1):250-251.
[7] 陳英,馬洪濤.NAT技術(shù)的研究與應(yīng)用[J].實驗室研究與探索,2007,26(8):56-59,62.
[8] 林國蘭,陳顯毅.NAT技術(shù)在局域網(wǎng)中的應(yīng)用[J].科技信息,2009(1):486,415
[9] 韓毅剛,李亞娜,王歡,等.計算機網(wǎng)絡(luò)技術(shù)實踐教程[M].北京:機械工業(yè)出版社,2012.
[10] 姜東洋,盧曉麗,張學(xué)勇.中小型企業(yè)網(wǎng)絡(luò)建設(shè)與維護[M].北京:機械工業(yè)出版社,2022.