李戰(zhàn)國, 劉建粉, 王寅川
(1.平頂山學(xué)院,河南 平頂山 467002; 2.平頂山市工業(yè)學(xué)校,河南 平頂山 467000)
網(wǎng)絡(luò)地址轉(zhuǎn)換(Network Address Translation, NAT)技術(shù)既可以緩解IP地址短缺的問題,又可以隱藏內(nèi)部網(wǎng)絡(luò)地址,實現(xiàn)內(nèi)網(wǎng)與外網(wǎng)的隔離[1-8],但是在實踐中我們通過追蹤命令發(fā)現(xiàn)部分內(nèi)部網(wǎng)絡(luò)地址出現(xiàn)在追蹤IP地址列表中,并且在NAT實驗中我們確實發(fā)現(xiàn)了這樣的問題。本文設(shè)計的NAT實驗主要論述了NAT中內(nèi)網(wǎng)暴露問題,并通過相應(yīng)的技術(shù)手段解決了這個問題,實現(xiàn)了內(nèi)網(wǎng)拓?fù)潆[藏及內(nèi)外網(wǎng)間的安全隔離,加深了對NAT技術(shù)的理解與應(yīng)用。
在NAT配置實驗中,不論使用PING還是Tracert對NAT內(nèi)部網(wǎng)絡(luò)進(jìn)行追蹤通信都發(fā)現(xiàn)了內(nèi)部網(wǎng)絡(luò)暴露問題。本節(jié)使用實驗的方式說明這種問題的存在。
在實驗環(huán)境上,我們已經(jīng)在主流的路由器上(如思科、華為、銳捷等廠商產(chǎn)品)及模擬器上實現(xiàn)了該實驗功能。為了簡化實驗條件,我們以思科模擬器Cisco Packet Tracer為實驗環(huán)境實現(xiàn)該功能。實驗網(wǎng)絡(luò)拓?fù)淙鐖D1所示。
圖1 NAT實驗網(wǎng)絡(luò)拓?fù)鋱D
為了驗證在穿越NAT內(nèi)部網(wǎng)絡(luò)時的內(nèi)部網(wǎng)絡(luò)暴露問題,圖中使用192.168.1.0/24作為NAT內(nèi)部網(wǎng)段,兩邊的都是外部網(wǎng)絡(luò)。為了實現(xiàn)這一功能,首先使用動態(tài)路由協(xié)議RIP實現(xiàn)全網(wǎng)通信,檢查內(nèi)部網(wǎng)絡(luò)與外部網(wǎng)絡(luò)通信正常。并且配置Router1及Router2的Fa0/0接口為內(nèi)網(wǎng)接口,Router1及Router2的Fa0/1接口為外網(wǎng)接口。
在開啟NAT并聲明NAT內(nèi)部及外部接口后,在沒有進(jìn)行靜態(tài)及動態(tài)NAT配置的情況下使用PING及Tracert命令檢查內(nèi)部網(wǎng)絡(luò)與外部網(wǎng)絡(luò)的通信及隱藏情況[9-12]。
1.2.1使用PING命令驗證網(wǎng)絡(luò)通信情況
按照NAT可以隔離內(nèi)部網(wǎng)絡(luò)的說法,只要開啟NAT轉(zhuǎn)換功能,在沒有配置轉(zhuǎn)換之前外網(wǎng)是沒法訪問內(nèi)部網(wǎng)絡(luò)的。但是實驗結(jié)果說明這種認(rèn)識是錯誤的。在外網(wǎng)Server1不僅可以PING通內(nèi)網(wǎng)Server2,而且可以穿越內(nèi)網(wǎng)PING通另一側(cè)的外網(wǎng)Server0,結(jié)果如圖2所示。說明在這種情況下NAT沒有隔離內(nèi)網(wǎng)的功能。
圖2 只開啟NAT時外網(wǎng)PING內(nèi)網(wǎng)及外網(wǎng)結(jié)果圖
1.2.2使用Tracert命令驗證網(wǎng)絡(luò)通信情況
為了驗證內(nèi)部IP地址可能暴露給外網(wǎng),我們使用Tracert命令進(jìn)行路由追蹤,結(jié)果截圖如圖3所示。
圖3 只開啟NAT內(nèi)網(wǎng)IP地址暴露結(jié)果圖
圖中可以看出,在左邊Server0上使用Tracert命令追蹤右邊Server1時,不僅穿越了NAT的內(nèi)部網(wǎng)絡(luò),而且把內(nèi)部網(wǎng)絡(luò)IP地址192.168.1.1也暴露在路由追蹤表中。這就是為什么在廣域網(wǎng)中可能出現(xiàn)內(nèi)部私有IP地址的原因之一。
為了驗證在配置靜態(tài)及動態(tài)NAT下內(nèi)部網(wǎng)絡(luò)的包暴露情況,在Router1上配置了內(nèi)部服務(wù)器的基于端口的靜態(tài)Web轉(zhuǎn)換及基于接口的動態(tài)PAT轉(zhuǎn)換。在Router2上配置了基于地址池的動態(tài)NAT及基于IP的靜態(tài)NAT轉(zhuǎn)換。其配置代碼如下:
Router1:
ip nat inside source list 10 interface FastEthernet0/1 overload
ip nat inside source static tcp 192.168.1.4 80 201.0.0.11 80
Router2:
ip nat pool abc 202.0.0.3 202.0.0.4 netmask 255.255.255.0
ip nat inside source list 10 pool abc
ip nat inside source static 192.168.1.3 202.0.0.22
1.3.1在Server0上追蹤內(nèi)網(wǎng)及外網(wǎng)
在Server0上追蹤內(nèi)部網(wǎng)絡(luò)服務(wù)器Server3及右邊外部網(wǎng)絡(luò)服務(wù)器Server1情況,主要驗證內(nèi)部端口靜態(tài)轉(zhuǎn)換及外部Overload轉(zhuǎn)換時的內(nèi)網(wǎng)隔離情況,其結(jié)果如圖4所示。
由圖4可以看出,在PING命令下內(nèi)網(wǎng)IP地址及穿過內(nèi)網(wǎng)的另一個網(wǎng)段外網(wǎng)均可以PING通。只是在使用Tracert命令追蹤時內(nèi)網(wǎng)IP地址192.168.1.1超時,但是其后的所有外網(wǎng)地址均可以看到。也就是說雖然內(nèi)網(wǎng)地址看不到了,但是可以穿越內(nèi)部網(wǎng)絡(luò)。
1.3.2在Server1上追蹤內(nèi)網(wǎng)及外網(wǎng)
在Server1上追蹤內(nèi)部網(wǎng)絡(luò)服務(wù)器Server4及左邊外部網(wǎng)絡(luò)服務(wù)器Server0情況,主要驗證內(nèi)部靜態(tài)IP轉(zhuǎn)換及外部地址池轉(zhuǎn)換時的內(nèi)網(wǎng)隔離情況,其結(jié)果如圖5所示。
圖5 動態(tài)及靜態(tài)NAT內(nèi)網(wǎng)IP地址暴露結(jié)果圖
由圖5可以看出,在PING命令下內(nèi)網(wǎng)IP地址及穿過內(nèi)網(wǎng)的另一個網(wǎng)段外網(wǎng)均可以PING通。只是在使用Tracert命令追蹤時內(nèi)網(wǎng)IP地址192.168.1.1變?yōu)楸粍討B(tài)映射后的內(nèi)部全局IP地址202.0.0.3,但是其后的所有外網(wǎng)地址均可以看到。也就是說雖然內(nèi)網(wǎng)IP地址看不到了,但是可以穿越內(nèi)部網(wǎng)絡(luò)。
通過上面的實驗結(jié)果看出,在現(xiàn)有的NAT網(wǎng)絡(luò)結(jié)構(gòu)下其內(nèi)網(wǎng)可以被訪問,沒法進(jìn)行隱藏。為了加強內(nèi)部網(wǎng)絡(luò)的安全,本文提出使用訪問控制列表(Address Control List, ACL)技術(shù)及路由技術(shù)實現(xiàn)內(nèi)外網(wǎng)的隔離[13-16],以達(dá)到內(nèi)部網(wǎng)絡(luò)的隔離與安全。
在邊界路由器Router1與Router2的外網(wǎng)接口F0/1使用下列ACL列表:
Router(config)#access-list 100 deny ip any 192.168.1.0 0.0.0.255
Router(config)#access-list 100 permit ip any any
Router(config)#int f0/1
Router(config-if)#ip access-group 100 in
其主要功能為在外網(wǎng)接口的入方向拒絕對內(nèi)部本地IP地址網(wǎng)段192.168.1.0/24進(jìn)行訪問,而內(nèi)網(wǎng)對外網(wǎng)的所有訪問沒有任何影響。圖6是對內(nèi)網(wǎng)及外網(wǎng)的PING及Tracert追蹤情況。
圖6 使用ACL隱藏內(nèi)網(wǎng)IP地址結(jié)果圖
從圖中可以看出,所有內(nèi)部本地地址的通信都是不可達(dá)的,但是對于穿過內(nèi)部網(wǎng)絡(luò)的追蹤命令是可以通過的,這就隱藏了所有的內(nèi)部本地地址。它不僅隱藏了內(nèi)部網(wǎng)絡(luò)地址,而且可以穿過內(nèi)部網(wǎng)絡(luò)實現(xiàn)到其他網(wǎng)絡(luò)的通信。由于是基于IP的過濾,對于所有IP的數(shù)據(jù)包都可以實現(xiàn)過濾功能,這樣就實現(xiàn)了內(nèi)部網(wǎng)絡(luò)的安全。
如前所述,在NAT轉(zhuǎn)換網(wǎng)絡(luò)實驗中,首先使用動態(tài)路由協(xié)議RIP實現(xiàn)全網(wǎng)通信, Router1路由器為路由表如下:
C 192.168.1.0/24 is directly connected, FastEthernet0/0
R 200.0.0.0/24 [120/1] via 201.0.0.2, 00:00:15, FastEthernet0/1
C 201.0.0.0/24 is directly connected, FastEthernet0/1
R 202.0.0.0/24 [120/1] via 192.168.1.1, 00:00:16, FastEthernet0/0
R 203.0.0.0/24 [120/2] via 192.168.1.1, 00:00:16, FastEthernet0/0
由于內(nèi)網(wǎng)網(wǎng)段192.168.1.0/24在路由表中,因此在通信的時候在路由器中查路由表而得到內(nèi)網(wǎng)的IP地址,從而暴露了NAT內(nèi)網(wǎng)網(wǎng)段。如果在配置路由的時候不聲明內(nèi)網(wǎng)網(wǎng)段就沒法與內(nèi)網(wǎng)通信,從而隱藏了NAT內(nèi)部網(wǎng)絡(luò)。下面的路由信息是經(jīng)過240 s的路由刷新后Router1路由器的路由表:
C 192.168.1.0/24 is directly connected, FastEthernet0/0
R 200.0.0.0/24 [120/1] via 201.0.0.2, 00:00:03, FastEthernet0/1
C 201.0.0.0/24 is directly connected, FastEthernet0/1
Router2路由器的路由表如下:
C 192.168.1.0/24 is directly connected, FastEthernet0/0
C 202.0.0.0/24 is directly connected, FastEthernet0/1
R 203.0.0.0/24 [120/1] via 202.0.0.1, 00:00:10, FastEthernet0/1
從路由表中可以看到,在路由器上只看到NAT本端內(nèi)外網(wǎng)的路由信息,已經(jīng)看不到對端的路由信息了。那么還能否訪問到NAT內(nèi)部網(wǎng)絡(luò)嗎?圖7為左端外網(wǎng)對內(nèi)網(wǎng)及對端外網(wǎng)服務(wù)器的PING結(jié)果。
圖7 使用路由協(xié)議隱藏內(nèi)網(wǎng)IP地址外網(wǎng)訪問內(nèi)網(wǎng)結(jié)果圖
從圖7結(jié)果可以看出,不論內(nèi)網(wǎng)還是對端外網(wǎng)其PING結(jié)果都是無法通信。并且,Tracert結(jié)果也止于左端的外網(wǎng)網(wǎng)段,其它網(wǎng)段都不通。這樣就達(dá)到了隱藏內(nèi)網(wǎng)的作用。如果需要與對端通信可以通過其他路由通信,在此不再贅述。
對于內(nèi)網(wǎng)是否可以與外網(wǎng)通信呢?將內(nèi)網(wǎng)服務(wù)器Server2與Server3的默認(rèn)路由指向Router2及Router1的內(nèi)部接口,這時都可以實現(xiàn)與本端外網(wǎng)服務(wù)器通信。圖8為Server3與Server0的通信結(jié)果。
從圖8可以看出,內(nèi)網(wǎng)中的服務(wù)器Server3由于配置了指向Router1的默認(rèn)網(wǎng)關(guān)可以與本端外網(wǎng)服務(wù)器Server0進(jìn)行PING及Tracert等方式通信。同理,另一端的內(nèi)網(wǎng)中的服務(wù)器Server2由于配置了指向Router2的默認(rèn)網(wǎng)關(guān)也可以與本端外網(wǎng)服務(wù)器Server1進(jìn)行PING及Tracert等方式通信。
圖8 使用路由協(xié)議隱藏內(nèi)網(wǎng)IP地址內(nèi)網(wǎng)訪問外網(wǎng)結(jié)果圖
通過本文的討論,使我們更加明白了NAT的工作原理與過程,并且對使用ACL及路由技術(shù)隱藏NAT內(nèi)網(wǎng)以加強NAT內(nèi)網(wǎng)的安全有了進(jìn)一步的認(rèn)識,為建立安全的NAT內(nèi)網(wǎng)技術(shù)進(jìn)行了有益的探索。
[1] IETF RFC 1631, The IP Network Address Translator (NAT) [S]. May 1994.
[2] IETF RFC 2766, Network Address Translation-Protocol Translation (NAT-PT)[S]. February 2000.
[3] IETF RFC 2993, Architectural Implications of NAT[S]. February 2002.
[4] IETF RFC 3027, Protocol Complications with the IP Network Address Translator[S]. January 2001.
[5] IETF RFC 3235, Network Address Translator(NAT) —Friendly Application Design Guidelines [S]. January 2002.
[6] 劉向東,李志潔. NAT原理實驗的設(shè)計與實現(xiàn)[J].實驗室研究與探索,2012,31(1):58-62.
LIU Xiang-dong, LI Zhi-jie. Design and Implementation of NAT Principle Experiment[J]. Research and Exploration in Laboratory,2012,31(1):58-62.
[7] Cisco System著,顏凱,楊寧等譯. CCNP2遠(yuǎn)程接入[M].2版.北京:人民郵電出版社,2005.
[8] 劉向東,李志潔. 網(wǎng)絡(luò)地址轉(zhuǎn)換原理實驗的設(shè)計與實現(xiàn)[J].實驗科學(xué)與技術(shù),2012,10(4):106-109,164.
LIU Xiang-dong, LI Zhi-jie. Design and Implementation of Network AddressTranslation Principle Experiment [J]. Experiment Science and Technology,2012,10(4):106-109,164.
[9] 唐燈平. 整合HSRP 和NAT 實現(xiàn)網(wǎng)絡(luò)出口多組負(fù)載均衡[J].實驗室研究與探索,2012,31(5):66-69.
TANG Deng-ping. Integration of HSRP and NAT to Realize Network Load Balancing with Export Group [J]. Research and Exploration in Laboratory, 2012,31(5):66-69.
[10] 孫衛(wèi)喜. Symmetric NAT的穿越問題研究[J]. 計算技術(shù)與自動化,2013,32(2):119-122.
SUN Wei-xi. Symmetric NAT Passes Through the Abstract of Research of Problem[J]. Computing Technology and Automation, 2013,32(2):119-122.
[11] 孫衛(wèi)喜,席少龍. 對等網(wǎng)聯(lián)下NAT穿越問題的研究[J].電子技術(shù)應(yīng)用,2013,39(5):132-134.
SUN Wei-xi, Xi Shao-long. The NAT Traversal Research in the peer-to-peer Network Linking[J]. Computer Technology and Its Applications, 2013,39(5):132-134.
[12] 孫名松,段志鳴,王湛昱. 混合式P2P網(wǎng)絡(luò)UDP下NAT穿越方案的研究與設(shè)計[J].計算機與數(shù)字工程, 2010, 38(4):104-107.
Sun Ming-song, Duan Zhi-ming, Wang Zhan-yu. Research and Design of NAT Travsering Scheme Based on Composite P2P Network on UDP[J]. Computer & Digital Engineering, 2010, 38(4):104-107.
[13] 鄒 航,李 梁. 整合ACL和NAT的網(wǎng)絡(luò)安全實驗設(shè)計[J].實驗室研究與探索,2011,30(4):61-65.
ZOU Hang, LI Liang. Design of Integrated Network Security ACL and NAT Experiment[J]. Research and Exploration in Laboratory, 2011, 30(4):61-65.
[14] 孫旭東,盧建軍,任 敏.基于NAT跳轉(zhuǎn)與ACL控制技術(shù)的安全策略研究[J].煤炭技術(shù),2010,29(8):147-149.
SUN Xu-dong, LU Jian-jun, REN Min. Research on Security Strategy Control Technology Based on Jump NAT and ACL[J]. Coal Technology, 2010,29(8):147-149.
[15] 褚建立,邵慧瑩,李 軍,等.交換機/路由器配置與管理項目教程[M].北京:人民郵電出版社,2011.
[16] 李戰(zhàn)國,劉向東,王興偉.基于301重定向技術(shù)的DNS動態(tài)管理實驗[J].實驗室研究與探索,2013,32(2):60-65.
LI Zhan-guo, LIU Xiang-dong, WANG Xing-wei. Dynamic DNS Management Experiments Based on 301 Redirection Technology[J]. Research and Exploration in Laboratory, 2013,32(2):60-65.