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