張翔宇 魏國(guó)偉
摘? ?要:網(wǎng)絡(luò)安全威脅是當(dāng)前一個(gè)極其重要而緊迫的課題,關(guān)系個(gè)人及組織的信息安全。為確保虛擬專(zhuān)用網(wǎng)絡(luò)中的可靠傳輸、數(shù)據(jù)安全,文章給出了一種解決方案,實(shí)現(xiàn)了一種MPLS L2層VPN,采用可加密的隧道技術(shù)IPSec保障信息安全,同時(shí)選擇GRE和MPLS技術(shù)對(duì)數(shù)據(jù)幀進(jìn)行封裝,該方案減輕了設(shè)備的性能開(kāi)銷(xiāo)。通過(guò)實(shí)物模擬測(cè)試,基于華三和思科等主流路由器驗(yàn)證了協(xié)議的互通性,業(yè)務(wù)訪問(wèn)測(cè)試正常,適合用于承載高安全可靠需求的業(yè)務(wù)。
關(guān)鍵詞:GRE;IPSec;MPLS
中圖分類(lèi)號(hào): TP309? ? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:B
Abstract: Network security threat is an urgent issue in today's society, which concerns information security of individuals and organizations. This paper proposes a novel design scheme of MPLS L2 VPN to gain cyber space security. This design runs MPLS L2 VPN over GRE over IPSec. GRE encapsulation is introduced to resolve the problem that IPSec tunneling can't run on MPLS VPN directly. This proposal could provide better security performance and reduce constraints on routers. A test bed is deployed on H3C and Cisco routers. Connectivity tests were performed on IPSec, GRE over IPSec, MPLS L2 VPN over GRE. Experiments shows that VPN scheme proposed is suitable to carry high security sensitive data.
Key words: GRE; IPSec; MPLS
1 引言
隨著國(guó)家對(duì)網(wǎng)絡(luò)安全的日益重視,數(shù)據(jù)安全和加密在國(guó)民經(jīng)濟(jì)活動(dòng)和個(gè)人生活中發(fā)揮著日益重要的作用。虛擬專(zhuān)用網(wǎng)絡(luò)(VPN,Virtual Private Network)技術(shù)使得個(gè)人用戶或者組織的分支機(jī)構(gòu)遠(yuǎn)程接入各種應(yīng)用,更加便捷地享用內(nèi)部資源。VPN在現(xiàn)有網(wǎng)絡(luò)中通過(guò)隧道協(xié)議建立虛擬的點(diǎn)對(duì)點(diǎn)連接[1],它借助公用網(wǎng)絡(luò)實(shí)現(xiàn)了專(zhuān)用網(wǎng)絡(luò)的延伸和拓展。為了確保安全性,專(zhuān)用網(wǎng)絡(luò)的連接使用加密分層隧道協(xié)議,其用戶使用身份驗(yàn)證的方法如憑借密碼或證書(shū)獲取接入權(quán)。目前VPN技術(shù)通常都依賴于多協(xié)議標(biāo)簽交換、通用路由封裝和互聯(lián)網(wǎng)安全協(xié)議等技術(shù)實(shí)現(xiàn)。
為了解決IP技術(shù)在網(wǎng)絡(luò)發(fā)展上的制約,突破網(wǎng)絡(luò)技術(shù)發(fā)展的瓶頸,多協(xié)議標(biāo)簽交換(MPLS,Multi-Protocol Label Switching)技術(shù)應(yīng)運(yùn)而生。MPLS以標(biāo)簽交換替代IP轉(zhuǎn)發(fā)[2],將IP地址映射為固定長(zhǎng)度的標(biāo)簽,為進(jìn)入網(wǎng)絡(luò)的數(shù)據(jù)幀分配固定長(zhǎng)度的短標(biāo)簽,將其與數(shù)據(jù)幀封裝在一起,取代長(zhǎng)網(wǎng)絡(luò)地址為短路徑標(biāo)簽,從一個(gè)節(jié)點(diǎn)定向到下一個(gè)節(jié)點(diǎn),在整個(gè)轉(zhuǎn)發(fā)過(guò)程中,它只在網(wǎng)絡(luò)邊緣解析IP報(bào)文頭,避免路由表中的復(fù)雜尋找,節(jié)約了每一跳對(duì)報(bào)文頭分析的處理時(shí)間[3]。
通用路由封裝(GRE,Generic Routing Encapsulation)是對(duì)某些網(wǎng)絡(luò)層協(xié)議的數(shù)據(jù)報(bào)文進(jìn)行封裝,使這些被封裝的數(shù)據(jù)報(bào)文能夠在另一個(gè)網(wǎng)絡(luò)層協(xié)議中傳輸[4]。GRE隧道是一個(gè)虛擬的點(diǎn)到點(diǎn)的連接,為封裝的數(shù)據(jù)報(bào)文提供了一條傳輸通路,GRE隧道的兩端分別對(duì)數(shù)據(jù)報(bào)進(jìn)行封裝及解封裝[5]。
互聯(lián)網(wǎng)安全協(xié)議(IPSec,Internet Protocol Security)是Internet工程工作小組制定的三層隧道加密協(xié)議,它為Internet上傳輸?shù)臄?shù)據(jù)提供了高質(zhì)量、可互操作、基于密碼學(xué)的安全保證[6]。IPSec協(xié)議不是一個(gè)單獨(dú)的協(xié)議,它給出了應(yīng)用于IP層上網(wǎng)絡(luò)數(shù)據(jù)安全的一整套體系結(jié)構(gòu),包括網(wǎng)絡(luò)認(rèn)證協(xié)議認(rèn)證頭、封裝安全載荷、因特網(wǎng)密鑰交換和用于網(wǎng)絡(luò)認(rèn)證及加密的一些算法等[7]。
如果要完整實(shí)現(xiàn)MPLS L2層VPN技術(shù),需要網(wǎng)絡(luò)設(shè)備均支持MPLS的相關(guān)功能,網(wǎng)絡(luò)目前無(wú)法滿足這個(gè)要求,本文中的方案采用基于GRE和IPSec的MPLS L2層VPN,將MPLS數(shù)據(jù)通過(guò)GRE隧道進(jìn)行封裝,穿越信息網(wǎng)[8]采用安全可靠、技術(shù)成熟的IPSec,此方案采用了協(xié)議層之間隧道技術(shù)的GRE通用路由封裝技術(shù),增強(qiáng)可用性的同時(shí)也解決了MPLS VPN技術(shù)無(wú)法直接承載在IPSec VPN之上的問(wèn)題。本文第1節(jié)介紹了MPLS L2層VPN的技術(shù)方案,以及GRE、IPSec、MPLS等相關(guān)技術(shù)的背景;第2節(jié)詳細(xì)介紹了本技術(shù)方案的實(shí)現(xiàn);第3節(jié)基于模擬環(huán)境對(duì)VPN進(jìn)行了測(cè)試;第4節(jié)為本文的總結(jié)。
2 系統(tǒng)設(shè)計(jì)
在純粹采用MPLS L2 VPN的方案中,要求沿途的信息網(wǎng)的設(shè)備均要啟用MPLS VPN,為了規(guī)避這個(gè)問(wèn)題,并且實(shí)現(xiàn)更高的安全性,可以采用可加密的隧道技術(shù)。結(jié)合大多數(shù)企業(yè)級(jí)廣域網(wǎng)的應(yīng)用模式,IPSec VPN是較為合適的技術(shù)。但純粹的MPLS VPN技術(shù)無(wú)法直接承載在IPSec VPN之上,因此選擇GRE對(duì)MPLS數(shù)據(jù)進(jìn)行IP封裝,進(jìn)而再進(jìn)行IPSec的加密。對(duì)于此種方案模式,無(wú)需沿途的信息網(wǎng)路由器進(jìn)行額外的配置部署,大大減輕了對(duì)于設(shè)備的性能開(kāi)銷(xiāo)。
2.1 路由規(guī)劃設(shè)計(jì)
在路由規(guī)劃上的設(shè)計(jì),為接入網(wǎng)支撐的是承載網(wǎng),采用開(kāi)放最短路徑優(yōu)先策略(OSPF,Open Shortest Path First)作為內(nèi)部網(wǎng)關(guān)協(xié)議。承載網(wǎng)的Area 0為L(zhǎng)oopback地址(也可以是子接口地址)和內(nèi)部互連地址的OSPF統(tǒng)一承載路由,同時(shí)OSPF也承載業(yè)務(wù)地址路由。在OSPF中發(fā)布地址包括承載網(wǎng)網(wǎng)絡(luò)設(shè)備之間互聯(lián)接口和承載網(wǎng)網(wǎng)絡(luò)設(shè)備的Loopback接口,同時(shí)需要將靜態(tài)路由重分布到OSPF中,承載網(wǎng)的路由描述如圖1所示。
接入網(wǎng)采用靜態(tài)路由與承載網(wǎng)互通,在承載網(wǎng)的邊界將靜態(tài)路由重新分布到OSPF[9]。Metric屬性對(duì)于OSPF正常運(yùn)行至關(guān)重要,同時(shí)網(wǎng)絡(luò)的IGP Metric的規(guī)劃通常需遵循三個(gè)原則。
(1) 一致性原則:鏈路兩端開(kāi)銷(xiāo)和同一鏈路互連接口上開(kāi)銷(xiāo)保持一致。
(2) 最近優(yōu)先原則:流量通過(guò)最近的出口路由器轉(zhuǎn)發(fā)。
(3) 轉(zhuǎn)發(fā)穿透原則:下層優(yōu)先于上層穿透原則。OSPF Area需要統(tǒng)一分配,以免自行分配產(chǎn)生路由混亂,需要對(duì)OSPF的Area號(hào)碼進(jìn)行規(guī)劃。
要進(jìn)行標(biāo)簽交換,設(shè)備之間必須對(duì)每一個(gè)IP所使用的標(biāo)簽達(dá)成共識(shí),因此需要有一種機(jī)制來(lái)明確,出棧與入棧標(biāo)簽的對(duì)應(yīng)形成的映射關(guān)系機(jī)制就極為重要。建立起會(huì)話關(guān)系的路由器是雙向進(jìn)行信息交流的,這兩臺(tái)路由器被稱為對(duì)等路由器。在MPLS中,控制平面采用LDP協(xié)議規(guī)定標(biāo)簽分發(fā)過(guò)程中的各種消息以及相關(guān)的處理過(guò)程,實(shí)現(xiàn)標(biāo)簽的分配、標(biāo)簽轉(zhuǎn)發(fā)信息表的建立、標(biāo)簽交換路徑的建立和拆除等工作。通過(guò)LDP,路由器可以把網(wǎng)絡(luò)層的路由信息映射到數(shù)據(jù)鏈路層的交換路徑上,進(jìn)而建立起標(biāo)簽交換路徑。
2.2? MPLS VPN設(shè)計(jì)
MPLS L3 VPN與MPLS L2 VPN技術(shù)都是構(gòu)成MPLS VPN網(wǎng)絡(luò)的技術(shù),是通過(guò)VPN隧道技術(shù)來(lái)建立一個(gè)邏輯的虛擬專(zhuān)網(wǎng),通過(guò)這個(gè)專(zhuān)網(wǎng)與承載網(wǎng)上面的業(yè)務(wù)實(shí)現(xiàn)隔離,提供專(zhuān)網(wǎng)專(zhuān)用的數(shù)據(jù)傳輸。這兩個(gè)技術(shù)雖然都是MPLS VPN網(wǎng)絡(luò)的技術(shù),區(qū)別也很明顯,其用途也會(huì)根據(jù)場(chǎng)景的不同來(lái)選擇使用。根據(jù)提供服務(wù)的類(lèi)型、管理和維護(hù)方式,這兩種技術(shù)主要有五點(diǎn)區(qū)別。
(1)在服務(wù)類(lèi)型方面,MPLS L3 VPN只能支持純IP的業(yè)務(wù),L2 VPN容易解決組播問(wèn)題,而L3 VPN實(shí)現(xiàn)組播比較復(fù)雜;(2)在訪問(wèn)方式方面,在MPLS L3 VPN中同一個(gè)VPN中不同的用戶側(cè)訪問(wèn)方法可以是不同的,在MPLS L2 VPN網(wǎng)絡(luò)拓?fù)渲校脩魝?cè)的CE訪問(wèn)骨干網(wǎng)絡(luò)的PE則是L2層連接;(3)在路由管理方式方面,MPLS L3 VPN路由管理主要由主干網(wǎng)管理,而MPLS L2 VPN實(shí)現(xiàn)路由的方式只能直接由用戶管理路由(用戶側(cè)CE間運(yùn)行靜態(tài)路由/OSPF/BGP等);(4)在網(wǎng)絡(luò)運(yùn)維方面,MPLS L3 VPN對(duì)網(wǎng)絡(luò)運(yùn)營(yíng)管理人員的專(zhuān)業(yè)要求更高,業(yè)務(wù)開(kāi)展的周期也會(huì)相應(yīng)的延長(zhǎng),MPLS L2 VPN網(wǎng)絡(luò)只需要配置主干網(wǎng)PE之間的虛通路,為OSI網(wǎng)絡(luò)參考模型第二層技術(shù)提供的二層的連接,不提供對(duì)三層網(wǎng)絡(luò)的連接性的責(zé)任(如路由),所以管理比較簡(jiǎn)單;(5)在網(wǎng)絡(luò)安全性方面,MPLS L2 VPN無(wú)需獲取用戶的路由信息,對(duì)虛擬專(zhuān)網(wǎng)的私密性和安全性也得到了保證。綜合以上分析,本方案選用MPLS L2 VPN技術(shù)方案。
2.3 GRE設(shè)計(jì)
GRE有加封裝和解封裝兩個(gè)過(guò)程。加封裝有三個(gè)步驟,如圖2所示。
GRE的解封裝過(guò)程與加封裝的過(guò)程相反,步驟如圖3所示。
通過(guò)在CPE路由器上啟用GRE功能,實(shí)現(xiàn)CPE路由器之間的GRE隧道。實(shí)現(xiàn)拓?fù)鋱D如圖4所示。
數(shù)據(jù)在傳輸過(guò)程中需要進(jìn)行加解封裝。這項(xiàng)工作是在虛擬網(wǎng)絡(luò)隧道兩端的路由器上完成的。出口路由器(CPE路由器)不但負(fù)責(zé)加解封的工作,還要負(fù)責(zé)建立虛擬網(wǎng)絡(luò)通道的工作,使封裝的數(shù)據(jù)通過(guò)建立的GRE隧道傳輸。在實(shí)現(xiàn)過(guò)程中,需要在CPE路由器上啟用OSPF協(xié)議,實(shí)現(xiàn)配置GRE的兩端內(nèi)部的互通。CPE設(shè)備之間建立GRE隧道,傳輸GRE報(bào)文,而在GRE報(bào)文中則封裝了MPLS VPN報(bào)文,用戶端不關(guān)心中間是否通過(guò)了GRE對(duì)MPLS VPN報(bào)文的封裝,也感覺(jué)不到封裝和隧道傳送過(guò)程。只要用戶看到這是一個(gè)MPLS VPN網(wǎng)絡(luò),并且在這個(gè)網(wǎng)絡(luò)中,保持著MPLS VPN網(wǎng)絡(luò)的優(yōu)點(diǎn),可以靈活的組網(wǎng),并提供良好的可伸縮性。
通過(guò)以上論述,MPLS VPN over GRE的組網(wǎng)方式有著現(xiàn)階段的優(yōu)越性和靈活性,其優(yōu)點(diǎn)為:第一,采用此組網(wǎng)方式,對(duì)于已經(jīng)有著眾多分支和部門(mén)的大型機(jī)構(gòu),其各部門(mén)之間IP網(wǎng)絡(luò)互聯(lián)方式不需要做任何修改,數(shù)據(jù)傳輸業(yè)務(wù)影響小。原有的信息網(wǎng)在網(wǎng)絡(luò)拓?fù)?、配置和路由方面不用做任何修改,業(yè)務(wù)繼續(xù)采用IP承載,這樣完全可以保證現(xiàn)有業(yè)務(wù)的穩(wěn)定性;第二,對(duì)于從經(jīng)濟(jì)成本上考慮,改造成本低,許多的原有設(shè)備基本可以繼續(xù)使用;第三,這種組網(wǎng)方式實(shí)現(xiàn)了VPN邏輯專(zhuān)用網(wǎng)絡(luò),可以有效地保證網(wǎng)絡(luò)的隔離;第四,這種組網(wǎng)絡(luò)具有良好的可伸縮性和易于管理。承載網(wǎng)的管理員只參與端口、帶寬和IP地址分配等工作,MPLS VPN over GRE的相關(guān)配置完全由專(zhuān)網(wǎng)內(nèi)部網(wǎng)絡(luò)管理員自行維護(hù),管理范圍和責(zé)任明晰,明顯降低了運(yùn)營(yíng)管理的復(fù)雜性。
2.4 IPSec VPN設(shè)計(jì)
GRE雖然將數(shù)據(jù)進(jìn)行隧道封裝,但是數(shù)據(jù)本身是明文傳輸,而不進(jìn)行加密,對(duì)于對(duì)數(shù)據(jù)安全性要求較高的用戶來(lái)說(shuō),需要考慮采用其他的技術(shù)手段來(lái)實(shí)現(xiàn)數(shù)據(jù)的加密,從而保障整體技術(shù)的安全性。由此可見(jiàn),還需要一種技術(shù)來(lái)實(shí)現(xiàn)對(duì)數(shù)據(jù)傳輸安全的保障,IPSec技術(shù)與之結(jié)合將是一個(gè)很好的選擇。CPE路由器上需同時(shí)具有MPLS、GRE和IPSec的功能,并且將這三種功能全部開(kāi)啟,才能實(shí)現(xiàn)基于GRE和IPSec的MPLS L2層VPN。
在CPE的路由器的入端口,首先進(jìn)行MPLS L2VPN的標(biāo)簽封裝,根據(jù)路由收斂,判斷報(bào)文需要進(jìn)入GRE隧道,打上GRE的隧道報(bào)文頭,在CPE路由器信息網(wǎng)接口上配置策略,應(yīng)用IPSec,再次封裝GRE數(shù)據(jù)流,數(shù)據(jù)流被IPSec加密,加密后的報(bào)文流向信息網(wǎng),IPSec報(bào)文到達(dá)IPSec路由器,直接解密GRE封裝進(jìn)入MPLS VPN,將內(nèi)部數(shù)據(jù)送入相應(yīng)的MPLS VPN中,其反向操作類(lèi)似。需要注意的是WA專(zhuān)網(wǎng)的路由器與信息網(wǎng)之間只有一個(gè)接口互聯(lián),因此需要啟用子接口,并且需要單獨(dú)規(guī)劃IPSec VPN的隧道地址。
3 實(shí)驗(yàn)與分析
本文采用華三SR6608與思科ASR1006等典型網(wǎng)絡(luò)設(shè)備建立了硬件模擬環(huán)境,實(shí)驗(yàn)驗(yàn)證了基于GRE和IPSec的MPLS L2層VPN協(xié)議,并對(duì)IPSec的互通性、將數(shù)據(jù)封裝成GRE再封裝成IPSec之后的互通性以及MPLS L2 VPN over GRE over IPSec的互通性進(jìn)行了測(cè)試,并基于實(shí)驗(yàn)環(huán)境進(jìn)行了模擬業(yè)務(wù)測(cè)試。
3.1 實(shí)驗(yàn)環(huán)境
本文基于思科1941路由器和2960交換機(jī)建立了仿真環(huán)境,網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖5所示。在模擬環(huán)境中,采用兩臺(tái)1941路由器分別作為CE設(shè)備,采用思科2960模擬本地網(wǎng)絡(luò)。
3.2 路由器配置
在MPLS L2層VPN協(xié)議驗(yàn)證環(huán)境中,CE通過(guò)子接口與各自的PE相連,MPLS L2層VPN在子接口上通過(guò)Ethernet封裝方式進(jìn)行互聯(lián),路由器配置如表2所示。
3.3 實(shí)驗(yàn)測(cè)試
在VPN模擬環(huán)境中,實(shí)驗(yàn)了源端PC-A和目的端PC-C在IPSec和GRE over IPSec通道上的互通性,實(shí)驗(yàn)基于GRE over IPSec 的MPLS L2層VPN的互通性,驗(yàn)證了模擬VPN網(wǎng)絡(luò)業(yè)務(wù),如圖6所示。實(shí)驗(yàn)發(fā)現(xiàn),本文提出的VPN技術(shù)方案的連通性良好,能夠?qū)崿F(xiàn)模擬VPN業(yè)務(wù)。
4 結(jié)束語(yǔ)
隨著遠(yuǎn)程辦公為代表的專(zhuān)用網(wǎng)絡(luò)需求的增長(zhǎng),各類(lèi)VPN技術(shù)繁榮發(fā)展,IPSec VPN、GRE VPN、MPLS L2/L3 VPN等技術(shù)均獲得了廣泛應(yīng)用,有效地保障了網(wǎng)絡(luò)的安全。本文提出了一種基于GRE和IPSec的MPLS L2層VPN技術(shù),首先對(duì)數(shù)據(jù)采用IPSec封裝,然后再進(jìn)行GRE封裝,最后進(jìn)行MPLS L2層封裝。通過(guò)在硬件模擬環(huán)境中的測(cè)試,本文中的VPN解決方案可有效滿足連通性,可以為有高安全高可靠需求的部門(mén)組織提供解決方案。
參考文獻(xiàn)
[1] 童怡.MPLS技術(shù)及其在VPN中的應(yīng)用[J]. 哈爾濱師范大學(xué)自然科學(xué)學(xué)報(bào), 2013, 29(6):49-52.
[2] 董昊, 胡曦明, 馬苗. BGP/MPLS VPN安全性分析與仿真實(shí)驗(yàn)[J]. 計(jì)算機(jī)與網(wǎng)絡(luò), 2018, v.44;No.580(12):64-67.
[3] 劉勇. MPLS VPN在中小型IP城域網(wǎng)中的應(yīng)用探討[J]. 電腦知識(shí)與技術(shù), 2017(11).
[4]? Bonica R , Pignataro C , Touch J . A Widely Deployed Solution to the Generic Routing Encapsulation (GRE) Fragmentation Problem[J]. Computers & Education, 2015, 67(9):193-207.
[5] Chirayu S . Generic routing encapsulation over point-to-point protocol[J]. 2007.
[6] CarltonR.Davis著, 周永彬, 馮登國(guó). IPSec:VPN的安全實(shí)施[M]. 清華大學(xué)出版社, 2002.
[7] 王鳳領(lǐng). 基于IPSec的VPN技術(shù)的應(yīng)用研究[J]. 計(jì)算機(jī)技術(shù)與發(fā)展, 2012, 22(9):250-252.
[8] Lee W , Bhagavathula R , Thanthry N , et al. MPLS-over-GRE based VPN architecture: A performance comparison, [C] Symposium on Circuits & Systems. IEEE, 2003.
[9] 雷鳴. 基于單自治域?qū)哟位疘P網(wǎng)絡(luò)的Metric值設(shè)計(jì)探討[J]. 電信工程技術(shù)與標(biāo)準(zhǔn)化, 2007, 20(5):42-45.
作者簡(jiǎn)介:
張翔宇(1977-),男,漢族,江西贛州人,中國(guó)科學(xué)院大學(xué),博士,北京賽迪時(shí)代信息產(chǎn)業(yè)股份有限公司,高級(jí)工程師;主要研究方向和關(guān)注領(lǐng)域:網(wǎng)絡(luò)安全、通信技術(shù)、數(shù)據(jù)挖掘、數(shù)據(jù)安全。
魏國(guó)偉(1982-),女,漢族,山東聊城人,北京郵電大學(xué),博士,北京賽迪時(shí)代信息產(chǎn)業(yè)股份有限公司,高級(jí)工程師;主要研究方向和關(guān)注領(lǐng)域:信息安全、數(shù)據(jù)安全。