什么是VPN?
VPN屬于遠(yuǎn)程訪問技術(shù),簡(jiǎn)單地說就是利用公用網(wǎng)絡(luò)架設(shè)專用網(wǎng)絡(luò)。例如某公司員工出差到外地,他想訪問企業(yè)內(nèi)網(wǎng)的服務(wù)器資源,這種訪問就屬于遠(yuǎn)程訪問。
在傳統(tǒng)的企業(yè)網(wǎng)絡(luò)配置中,要進(jìn)行遠(yuǎn)程訪問,傳統(tǒng)的方法是租用DDN(數(shù)字?jǐn)?shù)據(jù)網(wǎng))專線或幀中繼,這樣的通訊方案必然導(dǎo)致高昂的網(wǎng)絡(luò)通訊和維護(hù)費(fèi)用。對(duì)于移動(dòng)用戶(移動(dòng)辦公人員)與遠(yuǎn)端個(gè)人用戶而言,一般會(huì)通過撥號(hào)線路(Internet)進(jìn)入企業(yè)的局域網(wǎng),但這樣必然帶來安全上的隱患。
讓外地員工訪問到內(nèi)網(wǎng)資源,利用VPN的解決方法就是在內(nèi)網(wǎng)中架設(shè)一臺(tái)VPN服務(wù)器。外地員工在當(dāng)?shù)剡B上互聯(lián)網(wǎng)后,通過互聯(lián)網(wǎng)連接VPN服務(wù)器,然后通過VPN服務(wù)器進(jìn)入企業(yè)內(nèi)網(wǎng)。為了保證數(shù)據(jù)安全,VPN服務(wù)器和客戶機(jī)之間的通訊數(shù)據(jù)都進(jìn)行了加密處理。有了數(shù)據(jù)加密,就可以認(rèn)為數(shù)據(jù)是在一條專用的數(shù)據(jù)鏈路上進(jìn)行安全傳輸,就如同專門架設(shè)了一個(gè)專用網(wǎng)絡(luò)一樣,但實(shí)際上VPN使用的是互聯(lián)網(wǎng)上的公用鏈路,因此VPN稱為虛擬專用網(wǎng)絡(luò),其實(shí)質(zhì)上就是利用加密技術(shù)在公網(wǎng)上封裝出一個(gè)數(shù)據(jù)通訊隧道。有了VPN技術(shù),用戶無論是在外地出差還是在家中辦公,只要能上互聯(lián)網(wǎng)就能利用VPN訪問內(nèi)網(wǎng)資源,這就是VPN在企業(yè)中應(yīng)用得如此廣泛的原因。
(以上是度娘來的)
------------------------------------------------華麗的分割線------------------------------------------------
綜上所述,我們知道了VPN到底是什么東西,那我們下面就來淺談一下VPN的種類和具體用途
很多人以為VPN就是用來科學(xué)上網(wǎng),但是殊不知其實(shí)VPN的出現(xiàn)只是用于公司中加密傳輸數(shù)據(jù)而用,但是到了某些人手里就成了不可描述的工具。
好了!廢話不多說,步入正題
今天要談的幾個(gè)VPN的種類:IPSec、GRE、L2TP、MPLS VPN
當(dāng)然了,還有很多種類,就請(qǐng)大家自行度娘了
第一種IPSec
IPSec(IP Security) VPN一般部署在企業(yè)出口設(shè)備之間,通過加密與驗(yàn)證等方式,實(shí)現(xiàn)了數(shù)據(jù)來源驗(yàn)證、數(shù)據(jù)加密、數(shù)據(jù)完整性保證和抗重放等功能。
數(shù)據(jù)來源驗(yàn)證:接收方驗(yàn)證發(fā)送方身份是否合法。
數(shù)據(jù)加密:發(fā)送方對(duì)數(shù)據(jù)進(jìn)行加密,以密文的形式在Internet上傳送,接收方對(duì)接收的加密數(shù)據(jù)進(jìn)行解密后處理或直接轉(zhuǎn)發(fā)。
數(shù)據(jù)完整性:接收方對(duì)接收的數(shù)據(jù)進(jìn)行驗(yàn)證,以判定報(bào)文是否被篡改。
抗重放:接收方拒絕舊的或重復(fù)的數(shù)據(jù)包,防止惡意用戶通過重復(fù)發(fā)送捕獲到的數(shù)據(jù)包所進(jìn)行的攻擊。
IPSec使用的協(xié)議
IPSec不是一個(gè)單獨(dú)的協(xié)議,它給出了IP網(wǎng)絡(luò)上數(shù)據(jù)安全的一整套體系結(jié)構(gòu),包括AH(Authentication Header)、ESP(Encapsulating Security Payload)、IKE(Internet Key Exchange)等協(xié)議。
IPSec使用認(rèn)證頭AH(Authentication Header)和封裝安全載荷ESP(Encapsulating Security Payload)兩種安全協(xié)議來傳輸和封裝數(shù)據(jù),提供認(rèn)證或加密等安全服務(wù)。
AH和ESP協(xié)議提供的安全功能依賴于協(xié)議采用的驗(yàn)證、加密算法。
AH僅支持認(rèn)證功能,不支持加密功能。ESP支持認(rèn)證和加密功能。
安全協(xié)議提供認(rèn)證或加密等安全服務(wù)需要有秘鑰的存在。
秘鑰交換的方式有兩種:
帶外共享密鑰:在發(fā)送、接收設(shè)備上手工配置靜態(tài)的加密、驗(yàn)證密鑰。雙方通過帶外共享的方式(例如通過電話或郵件方式)保證密鑰一致性。這種方式的缺點(diǎn)是可擴(kuò)展性差,在點(diǎn)到多點(diǎn)組網(wǎng)中配置密鑰的工作量成倍增加。另外,為提升網(wǎng)絡(luò)安全性需要周期性修改密鑰,這種方式下也很難實(shí)施。
通過IKE協(xié)議自動(dòng)協(xié)商密鑰:IKE建立在Internet安全聯(lián)盟和密鑰管理協(xié)議ISAKMP定義的框架上,采用DH(Diffie-Hellman)算法在不安全的網(wǎng)絡(luò)上安全地分發(fā)密鑰。這種方式配置簡(jiǎn)單,可擴(kuò)展性好,特別是在大型動(dòng)態(tài)的網(wǎng)絡(luò)環(huán)境下此優(yōu)點(diǎn)更加突出。同時(shí),通信雙方通過交換密鑰交換材料來計(jì)算共享的密鑰,即使第三方截獲了雙方用于計(jì)算密鑰的所有交換數(shù)據(jù),也無法計(jì)算出真正的密鑰。
IPSec原理
IPSec隧道建立過程中需要協(xié)商IPSec SA(Security Association,安全聯(lián)盟),IPSec SA一般通過IKE協(xié)商生成。
SA由一個(gè)三元組來唯一標(biāo)識(shí),這個(gè)三元組包括安全參數(shù)索引SPI(Security Parameter Index)、目的IP地址和使用的安全協(xié)議號(hào)(AH或ESP)。其中,SPI是為唯一標(biāo)識(shí)SA而生成的一個(gè)32位比特的數(shù)值,它在AH和ESP頭中傳輸。在手工配置SA時(shí),需要手工指定SPI的取值。使用IKE協(xié)商產(chǎn)生SA時(shí),SPI將隨機(jī)生成。
SA是單向的邏輯連接,因此兩個(gè)IPSec對(duì)等體之間的雙向通信,最少需要建立兩個(gè)SA來分別對(duì)兩個(gè)方向的數(shù)據(jù)流進(jìn)行安全保護(hù)。
KE作為秘鑰協(xié)商協(xié)議,存在兩個(gè)版本:IKEv1和IKEv2,本課程采用IKEv1為例進(jìn)行介紹,IKEv2內(nèi)容可參考產(chǎn)品文檔對(duì)應(yīng)內(nèi)容。
IKEv1協(xié)商階段1的目的是建立IKE SA。IKE SA建立后對(duì)等體間的所有ISAKMP消息都將通過加密和驗(yàn)證,這條安全通道可以保證IKEv1第二階段的協(xié)商能夠安全進(jìn)行。IKE SA是一個(gè)雙向的邏輯連接,兩個(gè)IPSec對(duì)等體間只建立一個(gè)IKE SA。
IKEv1協(xié)商階段2的目的就是建立用來安全傳輸數(shù)據(jù)的IPSec SA,并為數(shù)據(jù)傳輸衍生出密鑰。該階段使用IKEv1協(xié)商階段1中生成的密鑰對(duì)ISAKMP消息的完整性和身份進(jìn)行驗(yàn)證,并對(duì)ISAKMP消息進(jìn)行加密,故保證了交換的安全性。
IKE協(xié)商成功意味著雙向的IPSec隧道已經(jīng)建立,可以通過ACL方式或者安全框架方式定義IPSec“感興趣流”,符合感興趣流流量特征的數(shù)據(jù)都將被送入IPSec隧道進(jìn)行處理。
--------------------------------------------------------------------------------------------------
第二種GRE
通用路由封裝協(xié)議(General Routing Encapsulation,GRE)是一種三層VPN封裝技術(shù)。GRE可以對(duì)某些網(wǎng)絡(luò)層協(xié)議(如IPX、IPv4、IPv6等)的報(bào)文進(jìn)行封裝,使封裝后的報(bào)文能夠在另一種網(wǎng)絡(luò)中(如IPv4)傳輸,從而解決了跨越異種網(wǎng)絡(luò)的報(bào)文傳輸問題。
如圖所示,通過在IPv4網(wǎng)絡(luò)上建立GRE隧道,解決了兩個(gè)IPv6網(wǎng)絡(luò)的通信問題。
GRE還具備封裝組播報(bào)文的能力。由于動(dòng)態(tài)路由協(xié)議中會(huì)使用組播報(bào)文,因此更多時(shí)候GRE會(huì)在需要傳遞組播路由數(shù)據(jù)的場(chǎng)景中被用到,這也是GRE被稱為通用路由封裝協(xié)議的原因。
GRE的原理
GRE構(gòu)成要素分為3個(gè)部分:乘客協(xié)議、封裝協(xié)議和運(yùn)輸協(xié)議。
乘客協(xié)議是指用戶在傳輸數(shù)據(jù)時(shí)所使用的原始網(wǎng)絡(luò)協(xié)議。
封裝協(xié)議的作用就是用來“包裝”乘客協(xié)議對(duì)應(yīng)的報(bào)文,使原始報(bào)文能夠在新的網(wǎng)絡(luò)中傳輸。
運(yùn)輸協(xié)議是指被封裝以后的報(bào)文在新網(wǎng)絡(luò)中傳輸時(shí)所使用的網(wǎng)絡(luò)協(xié)議。
隧道接口(Tunnel Interface)是為實(shí)現(xiàn)報(bào)文的封裝而提供的一種點(diǎn)對(duì)點(diǎn)類型的虛擬接口,與Loopback接口類似,都是一種邏輯接口。
如圖所示,乘客協(xié)議為IPv6,封裝協(xié)議為GRE,運(yùn)輸協(xié)議為IPv4。整體轉(zhuǎn)發(fā)流程如下:
1、當(dāng)R1收到IP1發(fā)來的IPv6數(shù)據(jù)包,查詢?cè)O(shè)備路由表,發(fā)現(xiàn)出接口是隧道接口,則將此報(bào)文發(fā)給隧道接口處理。
2、隧道接口給原始報(bào)文添加GRE頭部,然后根據(jù)配置信息,給報(bào)文加上IP頭。該IP頭的源地址就是隧道源地址,IP頭的目的地址就是隧道目的地址。
3、封裝后的報(bào)文在IPv4網(wǎng)絡(luò)中進(jìn)行普通的IPv4路由轉(zhuǎn)發(fā),最終到達(dá)目的地R2。
4、解封裝過程和封裝過程相反,這里不再贅述。
基于IPSec的GRE
GRE的主要缺點(diǎn)是不支持加密和認(rèn)證,數(shù)據(jù)的安全傳輸?shù)貌坏胶芎玫谋U稀?
IPSec的主要缺點(diǎn)是只支持IP協(xié)議,且不支持組播。
可通過部署GRE Over IPSec結(jié)合兩種VPN技術(shù)的優(yōu)點(diǎn)。
----------------------------------------------------------------------------------------------
第三種L2TP
L2TP是虛擬私有撥號(hào)網(wǎng)VPDN(Virtual Private Dial-up Network)隧道協(xié)議的一種,它擴(kuò)展了點(diǎn)到點(diǎn)協(xié)議PPP的應(yīng)用,是一種在遠(yuǎn)程辦公場(chǎng)景中為出差員工或企業(yè)分支遠(yuǎn)程訪問企業(yè)內(nèi)網(wǎng)資源提供接入服務(wù)的VPN。
L2TP組網(wǎng)架構(gòu)中包括LAC(L2TP Access Concentrator,L2TP訪問集中器)和LNS(L2TP Network Server,L2TP網(wǎng)絡(luò)服務(wù)器)
VPDN是指利用公共網(wǎng)絡(luò)(如ISDN和PSTN)的撥號(hào)功能及接入網(wǎng)來實(shí)現(xiàn)虛擬專用網(wǎng),為企業(yè)、小型ISP、移動(dòng)辦公人員提供接入服務(wù)。VPDN采用專用的網(wǎng)絡(luò)加密通信協(xié)議,在公共網(wǎng)絡(luò)上為企業(yè)建立安全的虛擬專網(wǎng)
企業(yè)駐外機(jī)構(gòu)和出差人員可從遠(yuǎn)程經(jīng)由公共網(wǎng)絡(luò),通過虛擬加密隧道實(shí)現(xiàn)和企業(yè)總部之間的網(wǎng)絡(luò)連接,而公共網(wǎng)絡(luò)上其它用戶則無法穿過虛擬隧道訪問企業(yè)網(wǎng)內(nèi)部的資源。VPDN隧道協(xié)議有多種,目前使用最廣泛的是L2TP。
LAC是網(wǎng)絡(luò)上具有PPP和L2TP協(xié)議處理能力的設(shè)備。LAC負(fù)責(zé)和LNS建立L2TP隧道連接。在不同的組網(wǎng)環(huán)境中,LAC可以是不同的設(shè)備,可以是一臺(tái)網(wǎng)關(guān)設(shè)備,也可以是一臺(tái)終端設(shè)備。LAC可以發(fā)起建立多條L2TP隧道使數(shù)據(jù)流之間相互隔離。
LNS是LAC的對(duì)端設(shè)備,即LAC和LNS建立了L2TP隧道;LNS位于企業(yè)總部私網(wǎng)與公網(wǎng)邊界,通常是企業(yè)總部的網(wǎng)關(guān)設(shè)備。
L2TP協(xié)議消息
L2TP協(xié)議包含兩種類型的消息,控制消息和數(shù)據(jù)消息,消息的傳輸在LAC和LNS之間進(jìn)行。
控制消息用于L2TP隧道和會(huì)話連接的建立、維護(hù)和拆除。
數(shù)據(jù)消息用于封裝PPP數(shù)據(jù)幀并在隧道上傳輸。
控制消息
用于L2TP隧道和會(huì)話連接的建立、維護(hù)和拆除。在控制消息的傳輸過程中,使用消息丟失重傳和定時(shí)檢測(cè)隧道連通性等機(jī)制來保證控制消息傳輸?shù)目煽啃裕С謱?duì)控制消息的流量控制和擁塞控制。
控制消息承載在L2TP控制通道上,控制通道實(shí)現(xiàn)了控制消息的可靠傳輸,將控制消息封裝在L2TP報(bào)頭內(nèi),再經(jīng)過IP網(wǎng)絡(luò)傳輸。
數(shù)據(jù)消息
用于封裝PPP數(shù)據(jù)幀并在隧道上傳輸。數(shù)據(jù)消息是不可靠的傳輸,不重傳丟失的數(shù)據(jù)報(bào)文,不支持對(duì)數(shù)據(jù)消息的流量控制和擁塞控制。
數(shù)據(jù)消息攜帶PPP幀承載在不可靠的數(shù)據(jù)通道上,對(duì)PPP幀進(jìn)行L2TP封裝,再經(jīng)過IP網(wǎng)絡(luò)傳輸。
L2TP工作原理
L2TP主要可分為以下三種工作場(chǎng)景,其工作過程并不相同:
?NAS-Initiated場(chǎng)景:撥號(hào)用戶通過NAS訪問企業(yè)內(nèi)網(wǎng) ?Client-Initiated場(chǎng)景:移動(dòng)辦公用戶訪問企業(yè)內(nèi)網(wǎng)
?Call-LNS場(chǎng)景:通過LAC自主撥號(hào)實(shí)現(xiàn)企業(yè)內(nèi)網(wǎng)互連
NAS-Initiated場(chǎng)景:由遠(yuǎn)程撥號(hào)用戶發(fā)起,遠(yuǎn)程系統(tǒng)通過PSTN/ISDN撥入LAC,由LAC通過Internet向LNS發(fā)起建立隧道連接請(qǐng)求。撥號(hào)用戶地址由LNS分配;對(duì)遠(yuǎn)程撥號(hào)用戶的驗(yàn)證與計(jì)費(fèi)既可由LAC側(cè)的代理完成,也可在LNS完成。
用戶必須采用PPP的方式接入到Internet,也可以是PPPoE等協(xié)議。
運(yùn)營(yíng)商的接入設(shè)備(主要是BAS設(shè)備)需要開通相應(yīng)的VPN服務(wù)。用戶需要到運(yùn)營(yíng)商處申請(qǐng)?jiān)摌I(yè)務(wù)。
L2TP隧道兩端分別駐留在LAC側(cè)和LNS側(cè),且一個(gè)L2TP隧道可以承載多個(gè)會(huì)話。
Client-Initialized場(chǎng)景:直接由LAC客戶(指可在本地支持L2TP協(xié)議的用戶)發(fā)起。客戶需要知道LNS的IP地址。LAC客戶可直接向LNS發(fā)起隧道連接請(qǐng)求,無需再經(jīng)過一個(gè)單獨(dú)的LAC設(shè)備。在LNS設(shè)備上收到了LAC客戶的請(qǐng)求之后,根據(jù)用戶名、密碼進(jìn)行驗(yàn)證,并且給LAC客戶分配私有IP地址。
用戶需要安裝L2TP的拔號(hào)軟件。部分操作系統(tǒng)自帶L2TP客戶端軟件。
用戶上網(wǎng)的方式和地點(diǎn)沒有限制,不需ISP介入。?L2TP隧道兩端分別駐留在用戶側(cè)和LNS側(cè),一個(gè)L2TP隧道承載一個(gè)L2TP會(huì)話。
該場(chǎng)景建立過程如下:
1、移動(dòng)辦公用戶與LNS建立L2TP隧道。
2、移動(dòng)辦公用戶與LNS建立L2TP會(huì)話:移動(dòng)辦公用戶在第3步會(huì)與LNS間建立PPP連接,L2TP會(huì)話用來記錄和管理它們之間的PPP連接狀態(tài)。因此,在建立PPP連接以前,隧道雙方需要為PPP連接預(yù)先協(xié)商出一個(gè)L2TP會(huì)話。會(huì)話中攜帶了移動(dòng)辦公用戶的LCP協(xié)商信息和用戶認(rèn)證信息,LNS對(duì)收到的信息認(rèn)證通過后,通知移動(dòng)辦公用戶會(huì)話建立成功。L2TP會(huì)話連接由會(huì)話ID進(jìn)行標(biāo)識(shí)。
3、移動(dòng)辦公用戶與LNS建立PPP連接。移動(dòng)辦公用戶通過與LNS建立PPP連接獲取LNS分配的企業(yè)內(nèi)網(wǎng)IP地址。
4、移動(dòng)辦公用戶發(fā)送業(yè)務(wù)報(bào)文訪問企業(yè)總部服務(wù)器
Call-LNS場(chǎng)景:L2TP除了可以為出差員工提供遠(yuǎn)程接入服務(wù)以外,還可以進(jìn)行企業(yè)分支與總部的內(nèi)網(wǎng)互聯(lián),實(shí)現(xiàn)分支用戶與總部用戶的互訪。一般是由分支路由器充當(dāng)LAC與LNS建立L2TP隧道,這樣就可實(shí)現(xiàn)分支與總部網(wǎng)絡(luò)之間的數(shù)據(jù)通過L2TP隧道互通。
基于IPSec的L2TP
當(dāng)企業(yè)對(duì)數(shù)據(jù)和網(wǎng)絡(luò)的安全性要求較高時(shí),L2TP無法為報(bào)文傳輸提供足夠的保護(hù)。這時(shí)可以和IPSec功能結(jié)合使用,保護(hù)傳輸?shù)臄?shù)據(jù),有效避免數(shù)據(jù)被截取或攻擊。
企業(yè)出差用戶和總部通信,使用L2TP功能建立VPN連接,總部部署為L(zhǎng)NS對(duì)接入的用戶進(jìn)行認(rèn)證。當(dāng)出差用戶需要向總部傳輸高機(jī)密信息時(shí),L2TP無法為報(bào)文傳輸提供足夠的保護(hù),這時(shí)可以和IPSec功能結(jié)合使用,保護(hù)傳輸?shù)臄?shù)據(jù)。在出差用戶的PC終端上運(yùn)行撥號(hào)軟件,將數(shù)據(jù)報(bào)文先進(jìn)行L2TP封裝,再進(jìn)行IPSec封裝,發(fā)往總部。在總部網(wǎng)關(guān),部署IPSec策略,最終還原數(shù)據(jù)。這種方式IPSec功能會(huì)對(duì)所有源地址為L(zhǎng)AC、目的地址為L(zhǎng)NS的報(bào)文進(jìn)行保護(hù)。
----------------------------------------------------------------------------------------------
第四種MPLS VPN
MPLS是一種利用標(biāo)簽(Label)進(jìn)行轉(zhuǎn)發(fā)的技術(shù),最初為了提高IP報(bào)文轉(zhuǎn)發(fā)速率而被提出,現(xiàn)主要應(yīng)用于VPN和流量工程、QoS等場(chǎng)景。
根據(jù)部署的不同,MPLS VPN可分為MPLS L2 VPN或者M(jìn)PLS L3 VPN。
企業(yè)可以自建MPLS專網(wǎng)也可以通過租用運(yùn)營(yíng)商MPLS專網(wǎng)的方式獲得MPLS VPN接入服務(wù)。
MPLS VPN網(wǎng)絡(luò)一般由運(yùn)營(yíng)商搭建,VPN用戶購(gòu)買VPN服務(wù)來實(shí)現(xiàn)用戶網(wǎng)絡(luò)之間(圖中的分公司和總公司)的路由傳遞、數(shù)據(jù)互通等。
基本的MPLS VPN網(wǎng)絡(luò)架構(gòu)由CE(Customer Edge)、PE(Provider Edge)和P(Provider)三部分組成:
CE:用戶網(wǎng)絡(luò)邊緣設(shè)備,有接口直接與運(yùn)營(yíng)商網(wǎng)絡(luò)相連。CE可以是路由器或交換機(jī),也可以是一臺(tái)主機(jī)。通常情況下,CE“感知”不到VPN的存在,也不需要支持MPLS。
PE:運(yùn)營(yíng)商邊緣路由器,是運(yùn)營(yíng)商網(wǎng)絡(luò)的邊緣設(shè)備,與CE直接相連。在MPLS網(wǎng)絡(luò)中,對(duì)VPN的所有處理都發(fā)生在PE上,對(duì)PE性能要求較高。
P:運(yùn)營(yíng)商網(wǎng)絡(luò)中的骨干路由器,不與CE直接相連。P設(shè)備只需要具備基本MPLS轉(zhuǎn)發(fā)能力,不維護(hù)VPN相關(guān)信息。
最后做個(gè)總結(jié)
VPN技術(shù)擁有安全、廉價(jià)、支持移動(dòng)業(yè)務(wù)、靈活等一系列優(yōu)勢(shì),已經(jīng)成為現(xiàn)網(wǎng)中部署最為廣泛的一類技術(shù)。
本文從VPN基本概念與分類出發(fā),簡(jiǎn)單介紹了如下幾類常見VPN技術(shù):
IPSec VPN:是一系列為IP網(wǎng)絡(luò)提供安全性的協(xié)議和服務(wù)的集合,為IP網(wǎng)絡(luò)提供安全的傳輸。
GRE VPN:提供了將一種協(xié)議的報(bào)文封裝在另一種協(xié)議報(bào)文中的機(jī)制,解決異種網(wǎng)絡(luò)的傳輸問題。
L2TP VPN:是一種能夠提供移動(dòng)用戶遠(yuǎn)程接入服務(wù)的二層VPN技術(shù)。
MPLS VPN:一種通過標(biāo)簽交換技術(shù),實(shí)現(xiàn)站點(diǎn)與站點(diǎn)之間互聯(lián)的VPN技術(shù)。