網(wǎng)絡(luò)安全面試:什么是DVPN技術(shù)?
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
DVPN簡(jiǎn)介越來(lái)越多的企業(yè)希望利用公共網(wǎng)絡(luò)組建VPN(Virtual Private Network,虛擬私有網(wǎng)絡(luò)),連接地理位置不同的多個(gè)分支機(jī)構(gòu)。然而,企業(yè)分支機(jī)構(gòu)通常采用動(dòng)態(tài)地址接入公共網(wǎng)絡(luò),通信一方無(wú)法事先知道對(duì)端的公網(wǎng)地址,這就為組建VPN提出了一個(gè)難題。 DVPN(Dynamic Virtual Private Network,動(dòng)態(tài)虛擬私有網(wǎng)絡(luò))通過(guò)VAM(VPN Address Management,VPN地址管理)協(xié)議收集、維護(hù)和分發(fā)動(dòng)態(tài)變化的公網(wǎng)地址等信息,解決了無(wú)法事先獲得通信對(duì)端公網(wǎng)地址的問(wèn)題。DVPN可以在企業(yè)網(wǎng)各分支機(jī)構(gòu)使用動(dòng)態(tài)地址接入公網(wǎng)的情況下,在各分支機(jī)構(gòu)間建立VPN。 DVPN把連接到公網(wǎng)上的各節(jié)點(diǎn)組成的網(wǎng)絡(luò)看作VPN網(wǎng)絡(luò),公網(wǎng)作為VPN網(wǎng)絡(luò)的鏈路層,DVPN隧道作為企業(yè)內(nèi)部子網(wǎng)之間的虛通道,相當(dāng)于網(wǎng)絡(luò)層。企業(yè)各分支設(shè)備動(dòng)態(tài)接入到公網(wǎng)中,其公網(wǎng)地址對(duì)于通信的另一端來(lái)說(shuō)是未知的,而對(duì)于建立端到端的安全隧道,公網(wǎng)地址是必須的條件之一。DVPN通過(guò)VAM獲取通信對(duì)端的公網(wǎng)地址。 VAM協(xié)議是DVPN方案的主要協(xié)議,負(fù)責(zé)收集、維護(hù)、分發(fā)公網(wǎng)地址等信息,幫助用戶(hù)快捷、方便的建立起內(nèi)部的安全隧道。企業(yè)內(nèi)部子網(wǎng)之間轉(zhuǎn)發(fā)的數(shù)據(jù)報(bào)文通過(guò)路由協(xié)議得到其私網(wǎng)下一跳,通過(guò)VAM協(xié)議查詢(xún)到私網(wǎng)下一跳對(duì)應(yīng)的公網(wǎng)地址,并利用該公網(wǎng)地址做為隧道的目的地址進(jìn)行封裝,最后交給已建立起的安全隧道發(fā)送到目的端用戶(hù)。 DVPN的基本概念DVPN方案中有幾個(gè)關(guān)鍵的角色: 1. DVPN節(jié)點(diǎn) DVPN節(jié)點(diǎn)為動(dòng)態(tài)VPN隧道兩端的設(shè)備,可以是網(wǎng)絡(luò)設(shè)備或主機(jī)。DVPN節(jié)點(diǎn)參與隧道的建立,需要實(shí)現(xiàn)VAM的客戶(hù)端功能。 2. VAM ServerVAM Server是接受DVPN節(jié)點(diǎn)向其注冊(cè)信息的服務(wù)器,負(fù)責(zé)管理、維護(hù)各DVPN節(jié)點(diǎn)的信息。目前VAM Server一般運(yùn)行在較高性能的路由器設(shè)備上。 3. VAM ClientVAM Client向VAM Server注冊(cè)自己的私網(wǎng)地址、公網(wǎng)地址、VAM標(biāo)識(shí)等信息,向VAM Server查詢(xún)其它VAM Client的信息。DVPN節(jié)點(diǎn)上需要實(shí)現(xiàn)VAM Client功能。文中涉及到VAM Client的地方,如果不是特別說(shuō)明,是指對(duì)Hub和Spoke的統(tǒng)稱(chēng)。 4. HubHub是一種VAM Client,一個(gè)VPN網(wǎng)絡(luò)的中心設(shè)備,它是路由信息交換的中心。在Hub-Spoke組網(wǎng)中,它也是數(shù)據(jù)轉(zhuǎn)發(fā)的中心。 5. SpokeSpoke是一種VAM Client,通常是企業(yè)分支機(jī)構(gòu)的網(wǎng)關(guān)設(shè)備,該節(jié)點(diǎn)不會(huì)轉(zhuǎn)發(fā)收到的其它DVPN節(jié)點(diǎn)的數(shù)據(jù)。 6. AAA服務(wù)器AAA(Authentication, Authorization and Accounting,認(rèn)證、授權(quán)和計(jì)費(fèi))服務(wù)器,用于對(duì)用戶(hù)進(jìn)行認(rèn)證和計(jì)費(fèi)管理。 DVPN的基本原理DVPN采用Client/Server模式,工作在TCP/IP協(xié)議棧的應(yīng)用層,使用UDP作為傳輸協(xié)議。按照工作方式的不同,可將一個(gè)VPN域中的設(shè)備劃分為一個(gè)Server和多個(gè)Client,Server的公網(wǎng)地址為靜態(tài)地址,Client的公網(wǎng)地址既可以靜態(tài)配置也可以動(dòng)態(tài)獲取,而Client的私網(wǎng)地址則需要按照規(guī)劃靜態(tài)分配。在同一個(gè)VPN域內(nèi),要求所有節(jié)點(diǎn)的私網(wǎng)地址在同一個(gè)網(wǎng)段內(nèi)。 每一個(gè)Client向Server注冊(cè)自己的公網(wǎng)地址和私網(wǎng)地址的對(duì)應(yīng)關(guān)系。Client向Server注冊(cè)成功之后,其他Client可以從Server查詢(xún)到該Client的公網(wǎng)地址,以便在Client之間建立DVPN隧道。Server與Client間通過(guò)VAM協(xié)議進(jìn)行消息傳遞,Client之間通過(guò)DVPN隧道協(xié)議進(jìn)行隧道的建立、維護(hù)和刪除。任何節(jié)點(diǎn)退出或加入VPN都能自動(dòng)通知Server。 DVPN的組網(wǎng)結(jié)構(gòu)DVPN具有兩種典型的組網(wǎng)結(jié)構(gòu):
圖 1 Full-Mesh組網(wǎng)示意圖
圖 2 Hub-Spoke組網(wǎng)示意圖
DVPN的工作過(guò)程DVPN的工作過(guò)程分為連接初始化、注冊(cè)和隧道建立三個(gè)階段,下面對(duì)這三個(gè)階段做簡(jiǎn)單說(shuō)明。 1. 連接初始化階段Client在第一次與Server連接時(shí),首先進(jìn)行連接的初始化,雙方協(xié)商決定是否需要對(duì)VAM協(xié)議報(bào)文進(jìn)行保護(hù)。如果需要保護(hù),則協(xié)商出報(bào)文加密和完整性驗(yàn)證算法及生成加密密鑰和完整性驗(yàn)證密鑰,并對(duì)協(xié)商出的結(jié)果作出確認(rèn)。只有連接初始化完成后,才能進(jìn)入注冊(cè)階段。 圖 3 連接初始化流程圖
如圖 3所示,連接初始化的過(guò)程為: (1) Client通過(guò)連接請(qǐng)求報(bào)文將自s己支持的完整性驗(yàn)證算法、加密算法等發(fā)送給Server。 (2) Server按照優(yōu)先級(jí)從高到低的順序從自己支持的算法列表中依次選擇算法,與Client發(fā)送的算法列表進(jìn)行匹配。如果匹配成功,則使用該算法,Server通過(guò)連接響應(yīng)報(bào)文將算法協(xié)商結(jié)果發(fā)送給Client,同時(shí),Server和Client生成加密密鑰和完整性驗(yàn)證密鑰。 (3) Client和Server分別利用初始化完成報(bào)文驗(yàn)證算法和密鑰協(xié)商是否成功。 2. 注冊(cè)階段圖 4 注冊(cè)流程圖
如圖 4所示,注冊(cè)階段的具體過(guò)程為: (1) Client向Server發(fā)送注冊(cè)請(qǐng)求報(bào)文,注冊(cè)請(qǐng)求報(bào)文中包括DVPN節(jié)點(diǎn)的信息。 (2) Server收到注冊(cè)請(qǐng)求報(bào)文后,根據(jù)配置決定是否對(duì)該Client進(jìn)行身份認(rèn)證。如果配置為不認(rèn)證,則直接注冊(cè)Client信息并向Client發(fā)送注冊(cè)成功響應(yīng),身份認(rèn)證步驟省略;如果配置為認(rèn)證,Server向Client回應(yīng)身份認(rèn)證請(qǐng)求,并指明需要的認(rèn)證方法(CHAP認(rèn)證時(shí)還返回一個(gè)隨機(jī)數(shù))。 (3) Client向Server提交自己的身份信息。 (4) Server收到Client的身份認(rèn)證信息后向AAA服務(wù)器發(fā)起認(rèn)證,收到AAA認(rèn)證成功的響應(yīng)后再發(fā)送計(jì)費(fèi)請(qǐng)求,當(dāng)Server收到計(jì)費(fèi)成功響應(yīng)后,向Client發(fā)送注冊(cè)成功響應(yīng)報(bào)文,注冊(cè)成功報(bào)文會(huì)攜帶下發(fā)給Client的Hub信息。 3. 隧道建立階段當(dāng)Spoke注冊(cè)成功后,要和Hub建立永久隧道,一個(gè)Spoke最多和兩個(gè)Hub建立永久隧道。如果在一個(gè)VPN域中有兩個(gè)Hub,則Hub之間需要建立永久隧道。具體隧道建立流程如圖 5所示: 圖 5 隧道建立流程圖
(1) 發(fā)起隧道建立請(qǐng)求
(2) 隧道接收方收到建立隧道的請(qǐng)求后,保存相應(yīng)的隧道連接信息,并向發(fā)起方發(fā)送建立隧道響應(yīng)報(bào)文。如果隧道發(fā)起方收到隧道建立成功的響應(yīng)報(bào)文,表示隧道建立成功,否則表示隧道建立失敗。 DVPN的優(yōu)點(diǎn)1. DVPN報(bào)文對(duì)NAT網(wǎng)關(guān)自然穿越當(dāng)隧道發(fā)起方在NAT網(wǎng)關(guān)后側(cè)時(shí),則可以建立穿越NAT的Spoke-Spoke隧道;如果隧道接收方在NAT網(wǎng)關(guān)后側(cè),則數(shù)據(jù)包要由Hub轉(zhuǎn)發(fā),直到接收方發(fā)起隧道建立請(qǐng)求。如果雙方都在NAT網(wǎng)關(guān)后側(cè),則它們都無(wú)法與對(duì)方建立隧道,所有的數(shù)據(jù)包都只能從Hub轉(zhuǎn)發(fā)。 2. VAM Client對(duì)動(dòng)態(tài)IP地址的支持隧道兩端的Tunnel接口不需要配置隧道目的地址,VAM Client在VAM Server上注冊(cè)自己的公/私網(wǎng)地址,當(dāng)需要建立隧道時(shí),可以從VAM Server獲取對(duì)端Client的公網(wǎng)地址,從而動(dòng)態(tài)的建立隧道。當(dāng)VAM Client的IP地址改變時(shí),會(huì)向VAM Server重新注冊(cè),從而實(shí)現(xiàn)了對(duì)動(dòng)態(tài)IP地址的支持。 3. VAM Server對(duì)VAM Client的AAA身份認(rèn)證初始化過(guò)程完成之后,VAM Client要向VAM Server注冊(cè),注冊(cè)過(guò)程中可以要求對(duì)VAM Client進(jìn)行身份認(rèn)證,VAM支持PAP和CHAP兩種認(rèn)證方式。VAM Server通過(guò)AAA對(duì)加入到VPN域的客戶(hù)端進(jìn)行身份認(rèn)證,認(rèn)證通過(guò)后VAM Client才能接入到VPN網(wǎng)絡(luò)。 4. 利用預(yù)共享密鑰驗(yàn)證VAM Client和VAM Server的身份VAM Client和VAM Server必須配置統(tǒng)一的預(yù)共享密鑰,用于生成加密/完整性驗(yàn)證的密鑰。VAM Client/VAM Server通過(guò)報(bào)文解密、完整性驗(yàn)證是否成功,判斷二者的預(yù)共享密鑰是否相同,從而實(shí)現(xiàn)對(duì)VAM Server/VAM Client的身份認(rèn)證。 5. VAM協(xié)議報(bào)文的加密保護(hù)可以選擇對(duì)VAM協(xié)議報(bào)文進(jìn)行加密,加密算法支持AES-128、DES和3DES算法。 6. 數(shù)據(jù)報(bào)文的IPsec加密保護(hù)DVPN隧道的數(shù)據(jù)報(bào)文可以由IPsec安全框架保護(hù),采用ESP安全協(xié)議,通過(guò)IKE協(xié)商安全策略。 7. 策略的統(tǒng)一管理VAM Server對(duì)整個(gè)VPN域的策略進(jìn)行統(tǒng)一的管理。 8. 支持多個(gè)VPN域VAM Server上可以配置多個(gè)VPN域,每臺(tái)VAM Server上最多可以配置10個(gè)VPN域。 該文章在 2025/8/4 18:33:09 編輯過(guò) |
關(guān)鍵字查詢(xún)
相關(guān)文章
正在查詢(xún)... |