李戰國, 劉建粉, 王寅川
(1.平頂山學院,河南 平頂山 467002; 2.平頂山市工業學校,河南 平頂山 467000)
網絡地址轉換(Network Address Translation, NAT)技術既可以緩解IP地址短缺的問題,又可以隱藏內部網絡地址,實現內網與外網的隔離[1-8],但是在實踐中我們通過追蹤命令發現部分內部網絡地址出現在追蹤IP地址列表中,并且在NAT實驗中我們確實發現了這樣的問題。本文設計的NAT實驗主要論述了NAT中內網暴露問題,并通過相應的技術手段解決了這個問題,實現了內網拓撲隱藏及內外網間的安全隔離,加深了對NAT技術的理解與應用。
在NAT配置實驗中,不論使用PING還是Tracert對NAT內部網絡進行追蹤通信都發現了內部網絡暴露問題。本節使用實驗的方式說明這種問題的存在。
在實驗環境上,我們已經在主流的路由器上(如思科、華為、銳捷等廠商產品)及模擬器上實現了該實驗功能。為了簡化實驗條件,我們以思科模擬器Cisco Packet Tracer為實驗環境實現該功能。實驗網絡拓撲如圖1所示。

圖1 NAT實驗網絡拓撲圖
為了驗證在穿越NAT內部網絡時的內部網絡暴露問題,圖中使用192.168.1.0/24作為NAT內部網段,兩邊的都是外部網絡。為了實現這一功能,首先使用動態路由協議RIP實現全網通信,檢查內部網絡與外部網絡通信正常。并且配置Router1及Router2的Fa0/0接口為內網接口,Router1及Router2的Fa0/1接口為外網接口。
在開啟NAT并聲明NAT內部及外部接口后,在沒有進行靜態及動態NAT配置的情況下使用PING及Tracert命令檢查內部網絡與外部網絡的通信及隱藏情況[9-12]。
1.2.1使用PING命令驗證網絡通信情況
按照NAT可以隔離內部網絡的說法,只要開啟NAT轉換功能,在沒有配置轉換之前外網是沒法訪問內部網絡的。但是實驗結果說明這種認識是錯誤的。在外網Server1不僅可以PING通內網Server2,而且可以穿越內網PING通另一側的外網Server0,結果如圖2所示。說明在這種情況下NAT沒有隔離內網的功能。

圖2 只開啟NAT時外網PING內網及外網結果圖
1.2.2使用Tracert命令驗證網絡通信情況
為了驗證內部IP地址可能暴露給外網,我們使用Tracert命令進行路由追蹤,結果截圖如圖3所示。

圖3 只開啟NAT內網IP地址暴露結果圖
圖中可以看出,在左邊Server0上使用Tracert命令追蹤右邊Server1時,不僅穿越了NAT的內部網絡,而且把內部網絡IP地址192.168.1.1也暴露在路由追蹤表中。這就是為什么在廣域網中可能出現內部私有IP地址的原因之一。
為了驗證在配置靜態及動態NAT下內部網絡的包暴露情況,在Router1上配置了內部服務器的基于端口的靜態Web轉換及基于接口的動態PAT轉換。在Router2上配置了基于地址池的動態NAT及基于IP的靜態NAT轉換。其配置代碼如下:
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上追蹤內網及外網
在Server0上追蹤內部網絡服務器Server3及右邊外部網絡服務器Server1情況,主要驗證內部端口靜態轉換及外部Overload轉換時的內網隔離情況,其結果如圖4所示。
由圖4可以看出,在PING命令下內網IP地址及穿過內網的另一個網段外網均可以PING通。只是在使用Tracert命令追蹤時內網IP地址192.168.1.1超時,但是其后的所有外網地址均可以看到。也就是說雖然內網地址看不到了,但是可以穿越內部網絡。
1.3.2在Server1上追蹤內網及外網
在Server1上追蹤內部網絡服務器Server4及左邊外部網絡服務器Server0情況,主要驗證內部靜態IP轉換及外部地址池轉換時的內網隔離情況,其結果如圖5所示。

圖5 動態及靜態NAT內網IP地址暴露結果圖
由圖5可以看出,在PING命令下內網IP地址及穿過內網的另一個網段外網均可以PING通。只是在使用Tracert命令追蹤時內網IP地址192.168.1.1變為被動態映射后的內部全局IP地址202.0.0.3,但是其后的所有外網地址均可以看到。也就是說雖然內網IP地址看不到了,但是可以穿越內部網絡。
通過上面的實驗結果看出,在現有的NAT網絡結構下其內網可以被訪問,沒法進行隱藏。為了加強內部網絡的安全,本文提出使用訪問控制列表(Address Control List, ACL)技術及路由技術實現內外網的隔離[13-16],以達到內部網絡的隔離與安全。
在邊界路由器Router1與Router2的外網接口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
其主要功能為在外網接口的入方向拒絕對內部本地IP地址網段192.168.1.0/24進行訪問,而內網對外網的所有訪問沒有任何影響。圖6是對內網及外網的PING及Tracert追蹤情況。

圖6 使用ACL隱藏內網IP地址結果圖
從圖中可以看出,所有內部本地地址的通信都是不可達的,但是對于穿過內部網絡的追蹤命令是可以通過的,這就隱藏了所有的內部本地地址。它不僅隱藏了內部網絡地址,而且可以穿過內部網絡實現到其他網絡的通信。由于是基于IP的過濾,對于所有IP的數據包都可以實現過濾功能,這樣就實現了內部網絡的安全。
如前所述,在NAT轉換網絡實驗中,首先使用動態路由協議RIP實現全網通信, 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
由于內網網段192.168.1.0/24在路由表中,因此在通信的時候在路由器中查路由表而得到內網的IP地址,從而暴露了NAT內網網段。如果在配置路由的時候不聲明內網網段就沒法與內網通信,從而隱藏了NAT內部網絡。下面的路由信息是經過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本端內外網的路由信息,已經看不到對端的路由信息了。那么還能否訪問到NAT內部網絡嗎?圖7為左端外網對內網及對端外網服務器的PING結果。

圖7 使用路由協議隱藏內網IP地址外網訪問內網結果圖
從圖7結果可以看出,不論內網還是對端外網其PING結果都是無法通信。并且,Tracert結果也止于左端的外網網段,其它網段都不通。這樣就達到了隱藏內網的作用。如果需要與對端通信可以通過其他路由通信,在此不再贅述。
對于內網是否可以與外網通信呢?將內網服務器Server2與Server3的默認路由指向Router2及Router1的內部接口,這時都可以實現與本端外網服務器通信。圖8為Server3與Server0的通信結果。
從圖8可以看出,內網中的服務器Server3由于配置了指向Router1的默認網關可以與本端外網服務器Server0進行PING及Tracert等方式通信。同理,另一端的內網中的服務器Server2由于配置了指向Router2的默認網關也可以與本端外網服務器Server1進行PING及Tracert等方式通信。

圖8 使用路由協議隱藏內網IP地址內網訪問外網結果圖
通過本文的討論,使我們更加明白了NAT的工作原理與過程,并且對使用ACL及路由技術隱藏NAT內網以加強NAT內網的安全有了進一步的認識,為建立安全的NAT內網技術進行了有益的探索。
[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原理實驗的設計與實現[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遠程接入[M].2版.北京:人民郵電出版社,2005.
[8] 劉向東,李志潔. 網絡地址轉換原理實驗的設計與實現[J].實驗科學與技術,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 實現網絡出口多組負載均衡[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] 孫衛喜. Symmetric NAT的穿越問題研究[J]. 計算技術與自動化,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] 孫衛喜,席少龍. 對等網聯下NAT穿越問題的研究[J].電子技術應用,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網絡UDP下NAT穿越方案的研究與設計[J].計算機與數字工程, 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的網絡安全實驗設計[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跳轉與ACL控制技術的安全策略研究[J].煤炭技術,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] 李戰國,劉向東,王興偉.基于301重定向技術的DNS動態管理實驗[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.