在VPN出現(xiàn)之前,企業(yè)分支之間的數(shù)據(jù)傳輸只能依靠現(xiàn)有物理網(wǎng)絡(luò)(例如Internet)。由于Internet中存在多種不安全因素,報文容易被網(wǎng)絡(luò)中的黑客竊取或篡改,最終造成數(shù)據(jù)泄密、重要數(shù)據(jù)被破壞等后果。
除了通過Internet,還可以通過搭建一條物理專網(wǎng)連接保證數(shù)據(jù)的安全傳輸。
VPN簡介
VPN即虛擬專用網(wǎng),泛指通過VPN技術(shù)在公用網(wǎng)絡(luò)上構(gòu)建的虛擬專用網(wǎng)絡(luò)。VPN用戶在此虛擬網(wǎng)絡(luò)中傳輸私網(wǎng)流量,在不改變網(wǎng)絡(luò)現(xiàn)狀的情況下實現(xiàn)安全、可靠的連接。
VPN和傳統(tǒng)的數(shù)據(jù)專網(wǎng)相比具有如下優(yōu)勢:?
安全:在遠端用戶、駐外機構(gòu)、合作伙伴、供應(yīng)商與公司總部之間建立可靠的連接,保證數(shù)據(jù)傳輸?shù)陌踩?。這對于實現(xiàn)電子商務(wù)或金融網(wǎng)絡(luò)與通訊網(wǎng)絡(luò)的融合特別重要。?
廉價:利用公共網(wǎng)絡(luò)進行信息通訊,企業(yè)可以用更低的成本連接遠程辦事機構(gòu)、出差人員和業(yè)務(wù)伙伴。?
支持移動業(yè)務(wù):支持駐外VPN用戶在任何時間、任何地點的移動接入,能夠滿足不斷增長的移動業(yè)務(wù)需求。可擴展性:由于VPN為邏輯上的網(wǎng)絡(luò),物理網(wǎng)絡(luò)中增加或修改節(jié)點,不影響VPN的部署。?
公共網(wǎng)絡(luò)又經(jīng)常被稱為VPN骨干網(wǎng)(VPN Backbone),公共網(wǎng)絡(luò)可以是Internet,也可以是企業(yè)自建專網(wǎng)或運營商租賃專網(wǎng)。
VPN分類 -?根據(jù)建設(shè)單位不同
VPN分類 - 根據(jù)組網(wǎng)方式不同
VPN分類 - 根據(jù)實現(xiàn)的網(wǎng)絡(luò)層次
工作在網(wǎng)絡(luò)層和數(shù)據(jù)鏈路層的VPN又被稱為三層VPN和二層VPN。
VPN關(guān)鍵技術(shù) - 隧道技術(shù)
VPN技術(shù)的基本原理是利用隧道(Tunnel)技術(shù),對傳輸報文進行封裝,利用VPN骨干網(wǎng)建立專用數(shù)據(jù)傳輸通道,實現(xiàn)報文的安全傳輸。?
位于隧道兩端的VPN網(wǎng)關(guān),通過對原始報文的“封裝”和“解封裝”,建立一個點到點的虛擬通信隧道。
隧道的功能就是在兩個網(wǎng)絡(luò)節(jié)點之間提供一條通路,使數(shù)據(jù)能夠在這個通路上透明傳輸。VPN隧道一般是指在VPN骨干網(wǎng)的VPN節(jié)點之間建立的用來傳輸VPN數(shù)據(jù)的虛擬連接。隧道是構(gòu)建VPN不可或缺的部分,用于把VPN數(shù)據(jù)從一個VPN節(jié)點透明傳送到另一個上。?
隧道通過隧道協(xié)議實現(xiàn)。目前已存在不少隧道協(xié)議,如GRE(Generic Routing Encapsulation)、L2TP(Layer 2 Tunneling Protocol)等。隧道協(xié)議通過在隧道的一端給數(shù)據(jù)加上隧道協(xié)議頭,即進行封裝,使這些被封裝的數(shù)據(jù)能都在某網(wǎng)絡(luò)中傳輸,并且在隧道的另一端去掉該數(shù)據(jù)攜帶的隧道協(xié)議頭,即進行解封裝。報文在隧道中傳輸前后都要通過封裝和解封裝兩個過程。?
部分隧道可以混合使用,如GRE Over IPSec隧道。
VPN關(guān)鍵技術(shù) - 身份認證、數(shù)據(jù)加密與驗證
身份認證、數(shù)據(jù)加密和認證技術(shù)可以有效保證VPN網(wǎng)絡(luò)與數(shù)據(jù)的安全性:
身份認證:可用于部署了遠程接入VPN的場景,VPN網(wǎng)關(guān)對用戶的身份進行認證,保證接入網(wǎng)絡(luò)的都是合法用戶而非惡意用戶。也可以用于VPN網(wǎng)關(guān)之間對對方身份的認證。?
數(shù)據(jù)加密:將明文通過加密變成密文,使得數(shù)據(jù)即使被黑客截獲,黑客也無法獲取其中的信息。?
數(shù)據(jù)驗證:通過數(shù)據(jù)驗證技術(shù)對報文的完整性和真?zhèn)芜M行檢查,丟棄被偽造和被篡改的報文。
常見VPN技術(shù)
IPSec概述
IPSec(IP Security) VPN一般部署在企業(yè)出口設(shè)備之間,通過加密與驗證等方式,實現(xiàn)了數(shù)據(jù)來源驗證、數(shù)據(jù)加密、數(shù)據(jù)完整性保證和抗重放等功能。
數(shù)據(jù)來源驗證:接收方驗證發(fā)送方身份是否合法。?
數(shù)據(jù)加密:發(fā)送方對數(shù)據(jù)進行加密,以密文的形式在Internet上傳送,接收方對接收的加密數(shù)據(jù)進行解密后處理或直接轉(zhuǎn)發(fā)。?
數(shù)據(jù)完整性:接收方對接收的數(shù)據(jù)進行驗證,以判定報文是否被篡改。?
抗重放:接收方拒絕舊的或重復的數(shù)據(jù)包,防止惡意用戶通過重復發(fā)送捕獲到的數(shù)據(jù)包所進行的攻擊。
IPSec協(xié)議體系
IPSec不是一個單獨的協(xié)議,它給出了IP網(wǎng)絡(luò)上數(shù)據(jù)安全的一整套體系結(jié)構(gòu),包括AH(Authentication Header)、ESP(Encapsulating Security Payload)、IKE(Internet Key Exchange)等協(xié)議。
IPSec使用認證頭AH(Authentication Header)和封裝安全載荷ESP(Encapsulating Security Payload)兩種安全協(xié)議來傳輸和封裝數(shù)據(jù),提供認證或加密等安全服務(wù)。
AH和ESP協(xié)議提供的安全功能依賴于協(xié)議采用的驗證、加密算法。?
AH僅支持認證功能,不支持加密功能。ESP支持認證和加密功能。?
安全協(xié)議提供認證或加密等安全服務(wù)需要有秘鑰的存在。?
秘鑰交換的方式有兩種:?
帶外共享密鑰:在發(fā)送、接收設(shè)備上手工配置靜態(tài)的加密、驗證密鑰。雙方通過帶外共享的方式(例如通過電話或郵件方式)保證密鑰一致性。這種方式的缺點是可擴展性差,在點到多點組網(wǎng)中配置密鑰的工作量成倍增加。另外,為提升網(wǎng)絡(luò)安全性需要周期性修改密鑰,這種方式下也很難實施。?
通過IKE協(xié)議自動協(xié)商密鑰:IKE建立在Internet安全聯(lián)盟和密鑰管理協(xié)議ISAKMP定義的框架上,采用DH(Diffie-Hellman)算法在不安全的網(wǎng)絡(luò)上安全地分發(fā)密鑰。這種方式配置簡單,可擴展性好,特別是在大型動態(tài)的網(wǎng)絡(luò)環(huán)境下此優(yōu)點更加突出。同時,通信雙方通過交換密鑰交換材料來計算共享的密鑰,即使第三方截獲了雙方用于計算密鑰的所有交換數(shù)據(jù),也無法計算出真正的密鑰。
IPSec基本原理
IPSec隧道建立過程中需要協(xié)商IPSec SA(Security Association,安全聯(lián)盟),IPSec SA一般通過IKE協(xié)商生成。
SA由一個三元組來唯一標識,這個三元組包括安全參數(shù)索引SPI(Security Parameter Index)、目的IP地址和使用的安全協(xié)議號(AH或ESP)。其中,SPI是為唯一標識SA而生成的一個32位比特的數(shù)值,它在AH和ESP頭中傳輸。在手工配置SA時,需要手工指定SPI的取值。使用IKE協(xié)商產(chǎn)生SA時,SPI將隨機生成。?
SA是單向的邏輯連接,因此兩個IPSec對等體之間的雙向通信,最少需要建立兩個SA來分別對兩個方向的數(shù)據(jù)流進行安全保護。?
KE作為秘鑰協(xié)商協(xié)議,存在兩個版本:IKEv1和IKEv2,本課程采用IKEv1為例進行介紹,IKEv2內(nèi)容可參考產(chǎn)品文檔對應(yīng)內(nèi)容。?
IKEv1協(xié)商階段1的目的是建立IKE SA。IKE SA建立后對等體間的所有ISAKMP消息都將通過加密和驗證,這條安全通道可以保證IKEv1第二階段的協(xié)商能夠安全進行。IKE SA是一個雙向的邏輯連接,兩個IPSec對等體間只建立一個IKE SA。?
IKEv1協(xié)商階段2的目的就是建立用來安全傳輸數(shù)據(jù)的IPSec SA,并為數(shù)據(jù)傳輸衍生出密鑰。該階段使用IKEv1協(xié)商階段1中生成的密鑰對ISAKMP消息的完整性和身份進行驗證,并對ISAKMP消息進行加密,故保證了交換的安全性。?
IKE協(xié)商成功意味著雙向的IPSec隧道已經(jīng)建立,可以通過ACL方式或者安全框架方式定義IPSec“感興趣流”,符合感興趣流流量特征的數(shù)據(jù)都將被送入IPSec隧道進行處理。?
感興趣流:需要被IPSec保護的數(shù)據(jù)流。
GRE概述
通用路由封裝協(xié)議(General Routing Encapsulation,GRE)是一種三層VPN封裝技術(shù)。GRE可以對某些網(wǎng)絡(luò)層協(xié)議(如IPX、IPv4、IPv6等)的報文進行封裝,使封裝后的報文能夠在另一種網(wǎng)絡(luò)中(如IPv4)傳輸,從而解決了跨越異種網(wǎng)絡(luò)的報文傳輸問題。
如圖所示,通過在IPv4網(wǎng)絡(luò)上建立GRE隧道,解決了兩個IPv6網(wǎng)絡(luò)的通信問題。?
GRE還具備封裝組播報文的能力。由于動態(tài)路由協(xié)議中會使用組播報文,因此更多時候GRE會在需要傳遞組播路由數(shù)據(jù)的場景中被用到,這也是GRE被稱為通用路由封裝協(xié)議的原因。
GRE基本原理
GRE構(gòu)成要素分為3個部分:乘客協(xié)議、封裝協(xié)議和運輸協(xié)議。?
乘客協(xié)議是指用戶在傳輸數(shù)據(jù)時所使用的原始網(wǎng)絡(luò)協(xié)議。?
封裝協(xié)議的作用就是用來“包裝”乘客協(xié)議對應(yīng)的報文,使原始報文能夠在新的網(wǎng)絡(luò)中傳輸。?
運輸協(xié)議是指被封裝以后的報文在新網(wǎng)絡(luò)中傳輸時所使用的網(wǎng)絡(luò)協(xié)議。
隧道接口(Tunnel Interface)是為實現(xiàn)報文的封裝而提供的一種點對點類型的虛擬接口,與Loopback接口類似,都是一種邏輯接口。?
如圖所示,乘客協(xié)議為IPv6,封裝協(xié)議為GRE,運輸協(xié)議為IPv4。整體轉(zhuǎn)發(fā)流程如下:?
當R1收到IP1發(fā)來的IPv6數(shù)據(jù)包,查詢設(shè)備路由表,發(fā)現(xiàn)出接口是隧道接口,則將此報文發(fā)給隧道接口處理。
隧道接口給原始報文添加GRE頭部,然后根據(jù)配置信息,給報文加上IP頭。該IP頭的源地址就是隧道源地址,IP頭的目的地址就是隧道目的地址。
封裝后的報文在IPv4網(wǎng)絡(luò)中進行普通的IPv4路由轉(zhuǎn)發(fā),最終到達目的地R2。
解封裝過程和封裝過程相反,這里不再贅述。
GRE Over IPSec
GRE的主要缺點是不支持加密和認證,數(shù)據(jù)的安全傳輸?shù)貌坏胶芎玫谋U稀?
IPSec的主要缺點是只支持IP協(xié)議,且不支持組播。?
可通過部署GRE Over IPSec結(jié)合兩種VPN技術(shù)的優(yōu)點。
L2TP概述
L2TP是虛擬私有撥號網(wǎng)VPDN(Virtual Private Dial-up Network)隧道協(xié)議的一種,它擴展了點到點協(xié)議PPP的應(yīng)用,是一種在遠程辦公場景中為出差員工或企業(yè)分支遠程訪問企業(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)的撥號功能及接入網(wǎng)來實現(xiàn)虛擬專用網(wǎng),為企業(yè)、小型ISP、移動辦公人員提供接入服務(wù)。VPDN采用專用的網(wǎng)絡(luò)加密通信協(xié)議,在公共網(wǎng)絡(luò)上為企業(yè)建立安全的虛擬專網(wǎng)。企業(yè)駐外機構(gòu)和出差人員可從遠程經(jīng)由公共網(wǎng)絡(luò),通過虛擬加密隧道實現(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負責和LNS建立L2TP隧道連接。在不同的組網(wǎng)環(huán)境中,LAC可以是不同的設(shè)備,可以是一臺網(wǎng)關(guān)設(shè)備,也可以是一臺終端設(shè)備。LAC可以發(fā)起建立多條L2TP隧道使數(shù)據(jù)流之間相互隔離。?
LNS是LAC的對端設(shè)備,即LAC和LNS建立了L2TP隧道;LNS位于企業(yè)總部私網(wǎng)與公網(wǎng)邊界,通常是企業(yè)總部的網(wǎng)關(guān)設(shè)備。
L2TP消息
L2TP協(xié)議包含兩種類型的消息,控制消息和數(shù)據(jù)消息,消息的傳輸在LAC和LNS之間進行。
控制消息用于L2TP隧道和會話連接的建立、維護和拆除。?
數(shù)據(jù)消息用于封裝PPP數(shù)據(jù)幀并在隧道上傳輸。
控制消息?
用于L2TP隧道和會話連接的建立、維護和拆除。在控制消息的傳輸過程中,使用消息丟失重傳和定時檢測隧道連通性等機制來保證控制消息傳輸?shù)目煽啃?,支持對控制消息的流量控制和擁塞控制?
控制消息承載在L2TP控制通道上,控制通道實現(xiàn)了控制消息的可靠傳輸,將控制消息封裝在L2TP報頭內(nèi),再經(jīng)過IP網(wǎng)絡(luò)傳輸。?
數(shù)據(jù)消息?
用于封裝PPP數(shù)據(jù)幀并在隧道上傳輸。數(shù)據(jù)消息是不可靠的傳輸,不重傳丟失的數(shù)據(jù)報文,不支持對數(shù)據(jù)消息的流量控制和擁塞控制。?
數(shù)據(jù)消息攜帶PPP幀承載在不可靠的數(shù)據(jù)通道上,對PPP幀進行L2TP封裝,再經(jīng)過IP網(wǎng)絡(luò)傳輸。
L2TP工作過程
L2TP主要可分為以下三種工作場景,其工作過程并不相同:
NAS-Initiated場景:撥號用戶通過NAS訪問企業(yè)內(nèi)網(wǎng)?Client-Initiated場景:移動辦公用戶訪問企業(yè)內(nèi)網(wǎng)?Call-LNS場景:通過LAC自主撥號實現(xiàn)企業(yè)內(nèi)網(wǎng)互連
NAS-Initiated場景:由遠程撥號用戶發(fā)起,遠程系統(tǒng)通過PSTN/ISDN撥入LAC,由LAC通過Internet向LNS發(fā)起建立隧道連接請求。撥號用戶地址由LNS分配;對遠程撥號用戶的驗證與計費既可由LAC側(cè)的代理完成,也可在LNS完成。?
用戶必須采用PPP的方式接入到Internet,也可以是PPPoE等協(xié)議。?
運營商的接入設(shè)備(主要是BAS設(shè)備)需要開通相應(yīng)的VPN服務(wù)。用戶需要到運營商處申請該業(yè)務(wù)。?
L2TP隧道兩端分別駐留在LAC側(cè)和LNS側(cè),且一個L2TP隧道可以承載多個會話。?
Client-Initialized場景:直接由LAC客戶(指可在本地支持L2TP協(xié)議的用戶)發(fā)起。客戶需要知道LNS的IP地址。LAC客戶可直接向LNS發(fā)起隧道連接請求,無需再經(jīng)過一個單獨的LAC設(shè)備。在LNS設(shè)備上收到了LAC客戶的請求之后,根據(jù)用戶名、密碼進行驗證,并且給LAC客戶分配私有IP地址。?
用戶需要安裝L2TP的拔號軟件。部分操作系統(tǒng)自帶L2TP客戶端軟件。?
用戶上網(wǎng)的方式和地點沒有限制,不需ISP介入。L2TP隧道兩端分別駐留在用戶側(cè)和LNS側(cè),一個L2TP隧道承載一個L2TP會話。?
該場景建立過程如下:?
移動辦公用戶與LNS建立L2TP隧道。
移動辦公用戶與LNS建立L2TP會話:移動辦公用戶在第3步會與LNS間建立PPP連接,L2TP會話用來記錄和管理它們之間的PPP連接狀態(tài)。因此,在建立PPP連接以前,隧道雙方需要為PPP連接預(yù)先協(xié)商出一個L2TP會話。會話中攜帶了移動辦公用戶的LCP協(xié)商信息和用戶認證信息,LNS對收到的信息認證通過后,通知移動辦公用戶會話建立成功。L2TP會話連接由會話ID進行標識。
移動辦公用戶與LNS建立PPP連接。移動辦公用戶通過與LNS建立PPP連接獲取LNS分配的企業(yè)內(nèi)網(wǎng)IP地址。
移動辦公用戶發(fā)送業(yè)務(wù)報文訪問企業(yè)總部服務(wù)器
Call-LNS場景:L2TP除了可以為出差員工提供遠程接入服務(wù)以外,還可以進行企業(yè)分支與總部的內(nèi)網(wǎng)互聯(lián),實現(xiàn)分支用戶與總部用戶的互訪。一般是由分支路由器充當LAC與LNS建立L2TP隧道,這樣就可實現(xiàn)分支與總部網(wǎng)絡(luò)之間的數(shù)據(jù)通過L2TP隧道互通。
L2TP Over IPSec
當企業(yè)對數(shù)據(jù)和網(wǎng)絡(luò)的安全性要求較高時,L2TP無法為報文傳輸提供足夠的保護。這時可以和IPSec功能結(jié)合使用,保護傳輸?shù)臄?shù)據(jù),有效避免數(shù)據(jù)被截取或攻擊。
企業(yè)出差用戶和總部通信,使用L2TP功能建立VPN連接,總部部署為LNS對接入的用戶進行認證。當出差用戶需要向總部傳輸高機密信息時,L2TP無法為報文傳輸提供足夠的保護,這時可以和IPSec功能結(jié)合使用,保護傳輸?shù)臄?shù)據(jù)。在出差用戶的PC終端上運行撥號軟件,將數(shù)據(jù)報文先進行L2TP封裝,再進行IPSec封裝,發(fā)往總部。在總部網(wǎng)關(guān),部署IPSec策略,最終還原數(shù)據(jù)。這種方式IPSec功能會對所有源地址為LAC、目的地址為LNS的報文進行保護。
MPLS VPN概述
MPLS是一種利用標簽(Label)進行轉(zhuǎn)發(fā)的技術(shù),最初為了提高IP報文轉(zhuǎn)發(fā)速率而被提出,現(xiàn)主要應(yīng)用于VPN和流量工程、QoS等場景。??
根據(jù)部署的不同,MPLS VPN可分為MPLS L2 VPN或者MPLS L3 VPN。?
企業(yè)可以自建MPLS專網(wǎng)也可以通過租用運營商MPLS專網(wǎng)的方式獲得MPLS VPN接入服務(wù)。
MPLS VPN網(wǎng)絡(luò)一般由運營商搭建,VPN用戶購買VPN服務(wù)來實現(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è)備,有接口直接與運營商網(wǎng)絡(luò)相連。CE可以是路由器或交換機,也可以是一臺主機。通常情況下,CE“感知”不到VPN的存在,也不需要支持MPLS。?
PE:運營商邊緣路由器,是運營商網(wǎng)絡(luò)的邊緣設(shè)備,與CE直接相連。在MPLS網(wǎng)絡(luò)中,對VPN的所有處理都發(fā)生在PE上,對PE性能要求較高。?
P:運營商網(wǎng)絡(luò)中的骨干路由器,不與CE直接相連。P設(shè)備只需要具備基本MPLS轉(zhuǎn)發(fā)能力,不維護VPN相關(guān)信息。?
更多MPLS及MPLS VPN的相關(guān)內(nèi)容,參考HCIP-Datacom-Advance相應(yīng)課程。
小總結(jié)
VPN技術(shù)擁有安全、廉價、支持移動業(yè)務(wù)、靈活等一系列優(yōu)勢,已經(jīng)成為現(xiàn)網(wǎng)中部署最為廣泛的一類技術(shù)。?
本文從VPN基本概念與分類出發(fā),簡單介紹了如下幾類常見VPN技術(shù):?
IPSec VPN:是一系列為IP網(wǎng)絡(luò)提供安全性的協(xié)議和服務(wù)的集合,為IP網(wǎng)絡(luò)提供安全的傳輸。?
GRE VPN:提供了將一種協(xié)議的報文封裝在另一種協(xié)議報文中的機制,解決異種網(wǎng)絡(luò)的傳輸問題。?
L2TP VPN:是一種能夠提供移動用戶遠程接入服務(wù)的二層VPN技術(shù)。?
MPLS VPN:一種通過標簽交換技術(shù),實現(xiàn)站點與站點之間互聯(lián)的VPN技術(shù)。
審核編輯:黃飛
?
評論
查看更多