薛江波 胡曦明 馬苗 李鵬



摘 要:針對IPSec VPN如何實現NAT穿越的問題,基于H3C Cloud Lab平臺,通過仿真實驗對采用RSIP、NAT-T和NAT前置等現有三種主流IPSec VPN的NAT穿越技術進行了性能分析。在此基礎上,提出了一種基于IPSec隧道多層嵌套的解決方案并進行了仿真實驗。結果表明該方案具有安全性完備、協議設計一體化以及實現復雜度低等特點,為VPN的NAT穿越提供了一種新的技術途徑。
關鍵詞:IPSec;虛擬專用網;隧道;地址轉換;多層嵌套
中圖分類號:TP393 文獻標識碼:A
Simulation of NAT traversal yechnique based on IPSec VPN
Abstract: Aiming at the problem of NAT traversal of IPSec VPN, based on the H3C Cloud Lab platform, the performance of NAT traversal using three mainstream IPSec VPN, such as RSIP, NAT-T and NAT preamble, is analyzed through simulation. Based on this, a solution based on multilayer nested IPSec tunnels is proposed and simulated. The results show that the scheme has the characteristics of complete security, protocol design integration and low complexity of implementation, and provides a new technical approach for NAT traversal of VPN.
Key words: IPSec; VPN; tunnel; NAT; multi-layer tunneling
1 引言
VPN(Virtual Private Network,虛擬專用網)是目前廣泛采用的一種在廣域網環境下實現園區網互聯的解決方案,其中基于IPSec(Internet Protocol Security)構建VPN的技術[1],一方面由于IPSec引入了完整的安全機制,包括加密、認證和數據防篡改功能,另一方面IPSec協議通過包封裝技術在私網間搭建隧道可有效解決私網數據通過公網跨區域傳輸問題,因而在校園網[2]、遠程教育[3]、金融行業[4]、即時通信[5]等多個領域得到大規模應用。
在實際應用中,由于私網公網之間的地址轉換(Network Address Translation, NAT)會改變IP數據包頭部,從而使得IPSec隧道構建機制與NAT不能兼容,由此造成IPSec VPN的適用場合受限。因此,IPSec VPN的NAT穿越技術[6]作為VPN的關鍵技術得到了廣泛關注和深入研究。
2 發展現狀
在基于IPSec實現VPN的技術中,IPSec協議起到的關鍵作用有保護IP包首部和載荷數據的完整性,這意味著IPSec禁止任何對整個IP包數據的修改。與之對比,NAT處理過程則恰恰是通過修改IP數據包的首部和載荷數據中攜帶的傳輸層端口號等信息,來實現私網地址和公網地址之間的轉換。目前,針對NAT環境下的IPSec VPN部署問題已形成了較為成熟的解決方案。
2.1 技術方案
(1)基于特定域IP (Realm Specific IP,RSIP)的穿越技術[7]
IPSec與NAT之所以有沖突,是因為在協議最初設計的時候就沒有考慮到兩種技術之間的兼容性,要想徹底消除它們之間的沖突應當從協議設計角度去分析,對于IPSec可以更改其協議設計從而從根源上解決沖突或者對于NAT則可以使用其替代協議RSIP,這種解決方案能夠全面解決IPSec與NAT的兼容問題,但是它的實現則相對復雜,而且需要對原有設備做較大改動。
(2)基于NAT-T(NAT Traversal)的穿越技術[8]
使用UDP封裝ESP(Encapsulating Security Payload)載荷,UDP提供了最小標準的封裝,在ESP頭之前再加一個8字節的UDP頭,相較于TCP,UDP是面向無連接的協議,避免了引入TCP會對IPSec造成負面影響。這種方法不需要對Internet密鑰交換協議(Internet Key Exchange, IKE)或者IPSec做修改,實現也最為簡單。
(3)基于NAT前置的穿越技術[9]
對于站點到站點之間建立IPSec VPN的情況,在工程中可以在同一設備中實現IPSec和NAT,并且將NAT放在IPSec之前處理,就可以避免兩種技術的沖突。但是,這種解決方案有它的局限性,如果超出了它的適用范圍,則這種方案就不再適用了。
2.2 仿真實驗
H3C Cloud Lab是H3C推出的一款推出的界面圖形化全真網絡設備模擬軟件,用戶可以通過該平臺實現多種型號網絡通信設備的組網、配置和調試,與Packet Tracer等應用軟件型模擬實驗工具不同,H3C Cloud Lab可以在仿真環境下實現完整的數據通信過程。
在上述RSIP、NAT-T和NAT前置等現有三種主流IPSec VPN的NAT穿越技術中,NAT-T技術由于實現相對簡單因而得到廣泛應用。為深入開展研究,本文基于H3C Cloud Lab對NAT-T進行仿真實驗,實驗拓撲圖如圖1所示。
在設備RTA處抓取報文,圖2為IKE SA(ISAKMP Security Association)第一階段協商報文,在此階段兩端設備均使用UDP500端口進行協商,圖3為IKE SA第二階段協商報文,在NAT環境中IPSec SA(IPSec Security Association)的協商以及后續數據流量的傳輸均使用UDP4500端口。根據抓包結果分析可知使用NAT-T技術報文封裝格式如圖4所示。
需要說明的是,實驗中沒有特殊說明的地方IKE均指的是IKEv1。在這個實驗中也可以使用IKEv2協商方式進行,IKEv2[10]與IKEv1都是使用UDP 500端口進行IKE SA和IPSec Sa協商,不同的是后續流量IKEv2均使用UDP 4500端口傳輸,即用NAT-T技術傳輸,因此若使用IKEv2協商方式則不用考慮NAT環境,也簡化了部署步驟。
2.3 性能分析
(1)處理時延長。需要借助NAT-T技術,增加了設備處理的時間。
(2)安全性不夠完備。使用野蠻模式協商IKE SA過程中響應者的身份無法得到有效保護。
(3)功能受限。野蠻模式提供的功能非常有限[11]。
3 基于IPSec隧道多層嵌套的NAT穿越技術
常見的NAT穿越方案可以滿足大多數企業的需求,但是對于安全性需求更高的企業來說常見的NAT穿越方案則不足以滿足需求,需要一種更加可靠安全的NAT穿越方案。為此,本文提出一種基于IPSec隧道多層嵌套[12]的解決方案并進行仿真實驗。
3.1方案設計
這種方案的思路是,首先在兩端外部網關出口端搭建IPSec隧道以保證內部網關之間可以正常建立外層IPSec隧道,其次在內部網關之間建立內層IPSec隧道,最后通過嵌套隧道實現IPSec VPN,并且兩個私網數據能夠正常通過兩端NAT設備。
3.2 技術實現
針對上述方案設計,使用IKE協商IPSec VPN,在H3C Cloud Lab仿真平臺上搭建實驗環境并完成相關配置(如表1和表2所示),組網方案如圖5所示。
3.2.1 配置設備NAT_A
設備NAT_A IPSec安全策略配置命令如表1所示。
3.2.2 配置設備RTA
設備RTA IPSec安全策略配置命令如表2所示。
配置完成后分別在NAT_A以及RTA設備對應接口啟用IPSec安全策略即可。
3.3 驗證與分析
3.3.1 發送端處理流程
使用多層隧道嵌套技術發送端設備的處理過程及原理如圖6和圖7所示。
(1)當數據包到達設備RTA時,檢測該數據包目的IP,當該數據包的目的IP為隧道1對端IP時則引起IPSec隧道1的興趣流,對該數據包進行封裝后進入隧道1并轉發至設備NAT_A,否則正常轉發該數據包。
(2)當數據包到達設備NAT_A時,檢測該數據包的目的IP,當數據包的目的IP為隧道2對端IP時引起IPSec隧道2的興趣流,對該數據包進行封裝后將數據包轉發至公網,最終傳輸到對端設備,否則正常轉發該數據包。
3.3.2 多層隧道嵌套實現
由于IPSec隧道1安全協議采用的是AH協議,因此在數據部分并沒有加密,而是在原始IP頭之前添加了一個AH認證頭。
根據圖8可知IKE協商IKE SA以及IPSec SA過程[13]。
(1)階段1工作模式選取主模式,主模式適用于IKE/ISAKMP交換的階段1(ISAKMP身份保護交換),總共使用了六條消息、三個步驟(請求/響應),最終建立起IKE SA。其中,主模式的認證方式為預共享密鑰的認證,預共享密鑰的主模式交換如圖14所示。
(2)階段2交換模式為快速模式,快速模式依附于階段1的交互,其自身并不是一個完整的消息交互過程。作為SA協商過程的階段2,快速模式交換用于非ISAKMP SA(如AH、ESP)共享策略的協商以及密鑰材料的衍生。
(3)經過階段1、階段2后IPSec SA就已經協商成功,即IPSec隧道已經搭建起來。
分析圖9和10所示,抓包結果可以得出IPSec多層隧道嵌套的報文封裝結構如圖11所示。
3.3.3 實驗總結
仿真實驗表明,基于IPSec隧道多層嵌套的解決方案能夠實現IPSec VPN的NAT穿越,該方案的優點是IKE協商方
式可以不使用野蠻模式(積極模式),在協商過程中既可以保護發起者身份信息又可以保護響應者信息,其中隧道1使用AH協議可以認證整個數據包,隧道2采用ESP協議既有加密又有認證,具有更完備的安全性。這種隧道嵌套方式只使用了IPSec技術,沒有引入其它實現VPN的協議,協議體系更加一體化,因而在工程實現上更加簡捷,實現的復雜度低。
4 結束語
本文從常見的NAT穿越方式出發,對NAT-T穿越方式進行仿真實驗并作了性能分析,在此基礎上提出使用多層隧道嵌套方式來解決IPSec與NAT的不兼容問題并進行仿真實驗。結果表明,本方案在性能上可以有效解決IPSec與NAT兼容問題,并且可以充分保障遠程企業內部網絡通信數據的安全。
采用隧道嵌套技術雖然可以解決許多實際應用問題,但是這種方式對設備提出了較高的要求,并且對設備的運算和數據傳輸承載能力提出了更高的要求,隧道嵌套技術仍然存在缺陷。
基金項目:
(1)陜西省教育科學“十三五”規劃2016年度課題:陜西高校面向大眾創業萬眾創新的教育實踐支撐平臺研究(SGH16H024)。
(2)中央高校基本科研業務費專項資金資助項目:面向教育云的數據中心網絡關鍵技術研究(GK201503065)。
(3)現代教學技術教育部重點實驗室開放課題資助項目:大學計算機綜合能力培養生態鏈及其關鍵技術研究(SYSK201501)。
(4)陜西師范大學非師范拔尖創新人才培養計劃2017年度項目。
參考文獻
[1] 王鳳領.基于IPSec的VPN技術的應用研究[J].計算機技術與發展,2012,22(09):250-253.
[2] 劉勁松,李超,柴文磊.IPv6校園網中IPSec VPN安全分析與應用研究[J].信息安全與技術,2011(06):40-41.
[3] 朱祥華.VPN技術在企業遠程辦公中的研究與應用[J].信息安全與技術,2011(01):35-38.
[4] 林濤.IPSec VPN在銀行無線網絡中的應用[J].中國金融電腦,2009(01):62-65.
[5] 黃超,趙建平,韋勇鋼.Netlink消息通信機制的IPSec VPN實現研究[J].網絡空間安全,2017,8(Z5):41-44.
[6] 張永平,萬艷麗.VPN網絡中IPSec穿越NAT的研究[J].計算機應用與軟件,2008(01):250-252.
[7] 洪帆,王嶺,朱賽凡.利用RSIP解決IPSEC和NAT的不兼容問題[J].計算機應用,2003(S2):1-3.
[8] 李云釗.NAT-T實現IPSEC穿越NAT的全面分析[J].網絡安全技術與應用,2005(08):50-52.
[9] 何光文.IPSec與NAT在企業網中的共存模式[J].科技風,2015(02):112.
[10] 陳卓,張正文.Internet密鑰交換協議IKEv2研究[J].計算機應用與軟件,2008(02):269-270+280.
[11] 何寶宏,田輝.IP虛擬專用網技術(第二版)[M].北京:人民郵電出版社,2011.
[12] 曹炯清. IPSec與NAT沖突問題隧道嵌套解決方案研究[J]. 信息安全與技術,2015,6(01):35-39.
[13] 王昱白,汪海航,譚成翔.基于IPSec的VPN密鑰交換(IKE)協議的分析與實現[J].計算機工程,2003(01):62-63+99.