江蘇 張韜
為了達(dá)到更好的VPN 網(wǎng)絡(luò)高可用性效果,可以通過HSRP 或 VRRP等冗余技術(shù),將在出口布署的多臺(tái)VPN 路由器虛擬成一臺(tái)路由器,然后以角色為Active 的路由器使用虛擬路由器的IP 地址為本端IP 地址負(fù)責(zé)與對端VPN 對等體建立IPSec 連接。
當(dāng)Active 路由器不可用之后,通過選舉再次成為Active 的備用路由器仍然使用此虛擬IP 地址與對端建立VPN 連接,從而可以實(shí)現(xiàn)不間斷服務(wù)效果。
而且對于遠(yuǎn)端VPN peer而言,對端建立VPN 連接的并不是使用物理口IP 地址,而是虛擬IP 地址,它其實(shí)并沒有變化,所以并不需要增加和更改配置,這就真正意義上實(shí)現(xiàn)了IPSec VPN High Availability(IPSec VPN HA)效果。
當(dāng)Active 路由器不可用之后,選舉成為Active 的備用路由器會(huì)接替原Active主路由器的IPSec VPN 繼續(xù)工作,但是新Active 路由器需要和VPN 對端重新建立IPSec 會(huì)話,而不是繼續(xù)使用原來的IPSec 會(huì)話,原有IPSec 信息需要盡快刪除,所以在布署IPSec VPN HA 場景時(shí),也同時(shí)需要配置IPSec DPD 技術(shù)。因?yàn)樵俅纬蔀锳ctive 的備用路由器原本就沒 有IPSec會(huì)話,所以需要重新建立。
在 VPN路由器之間配置HSRP 或VRRP 組時(shí),外網(wǎng)接口上必須配置,而且還需要Track 相應(yīng)內(nèi)網(wǎng)接口,當(dāng)內(nèi)網(wǎng)接口不可用時(shí),則必須讓出Active角色。
圖1 IPSec VPN HA 拓?fù)鋱D
這里以GNS3 模擬器來實(shí)現(xiàn)相關(guān)IPSec VPN HA 效果驗(yàn)證,4 臺(tái)路由器連接拓?fù)浼癐P 地址信息如圖1 所示。在R1、R2、R3 之間配置IPSec Site-to-Site VPN 隧道來測試效果,其中R2 和R3通過HSRP 協(xié)議虛擬成一臺(tái)VPN 路由器,虛擬IP 地址為200.1.1.10,然 后R2 和R3中選舉為Active 角色的路由器以該虛擬IP 地址和對端路由器R1 建立VPN 連接,當(dāng)Active 路由器不可用時(shí),則備用路由器接替Active路由器的角色,這里假設(shè)經(jīng)過R2 路由器為主鏈路,經(jīng)過R3 為備用鏈路。R1 路由器上使用環(huán)回口和R4 的Fa0/0物理口建立VPN 隧道進(jìn)行測試,此處各路由器基本信息和相關(guān)路由配置省略。
R1 上VPN 主要配置
此時(shí)路由器R1 的VPN peer 指向R2 和R3 通過虛擬出的HSRP 組IP 地址200.1.1.10。R2 和R3 路由器上同時(shí)配置與R1 之間相對應(yīng)的IPSec VPN 信息,此處省略配置。
R2 上主要相關(guān)配置
保證R4 路由器在訪問R1 的環(huán)回口做VPN 隧道測試時(shí),正常情況下流量選擇經(jīng)過R2 的線路為主鏈路,經(jīng)過R3 的線路為備用鏈路。
R2 在外網(wǎng)接口上和R3配置HSRP 組10,同時(shí)跟蹤連接R4 的內(nèi)部接口F0/1,在F0/1 接口不可用時(shí),將HSRP Active 的角色讓給R3,當(dāng)Fa0/1 接口恢復(fù)后,又必須搶回Active 角色。
和R3 在內(nèi)網(wǎng)接口上也建立一個(gè)HSRP 組20,并保證R2 和R3 在兩個(gè)HSRP 組中的角色相一致。
R3 上主要相關(guān)配置
注意:在接口上需要定義HSRP name 時(shí),當(dāng)該接口name或IP 地址發(fā)生改變,所使用的crypto map 也需要重新應(yīng)用。
如圖2 所示,R2 的優(yōu)先級為110,所以為Active 角色。
圖2 查看R2 狀態(tài)的程序
在R4 上ping 路由器R1的環(huán)回口地址1.1.1.1,可以看到R1 已經(jīng)與對面相應(yīng)建立的HSRP 組虛擬IP 地址之間建立了IKE SA,IKE SA 的lifetime 還剩23 小時(shí)58 分20 秒,Conn-id=1:1,如圖3 所示。
同樣,作為主鏈路,在R2上也可以看到與R1 之間建立了IKE SA,如圖4 所示,IPSec SA 也顯示了正確的網(wǎng)段信息與狀態(tài),而R3 因?yàn)椴皇茿ctive 角色,所以不需要建立VPN 連接,因此也就看不到任何SA 信息。
圖3 查看R1 的狀態(tài)
圖4 查看R2 狀態(tài)
在R4 上跟蹤流量情況,也可以發(fā)現(xiàn)去往VPN 對端是經(jīng)過R2 轉(zhuǎn)發(fā)出去的,如下所示:R4#traceroute 1.1.1.1
當(dāng)斷開R2 與R4 相連的內(nèi)網(wǎng)Fa0/1 接口后,R2 的HSRP 角色從Active 變成了Standby,而R3 的HSRP角色則從Standby 變成了Active,如圖5 所示。
圖5 查看R3 的狀態(tài)
在R4 上使用ping 命令連續(xù)測試,也可以發(fā)現(xiàn)R4 和R1 之間的VPN 隧道在中斷一會(huì)后,又會(huì)恢復(fù)正常通信,此時(shí)R1 與R3 之間已經(jīng)建立了IKE SA,R1 與R2 之間的IKE SA 則會(huì)被刪除,如圖6 所示。
通過以上IKE 建立的時(shí)間也可以看出,當(dāng)前R2 與R1建立IKE SA 的lifetime 還剩23 小時(shí)59 分27 秒,因?yàn)镮KE SA 新建立的lifetime默認(rèn)為24 小時(shí),也就說明此連接是完全新建立的。
再次在R1 上查看IKE SA,此時(shí)可以看到R1 上建立的IKE SA 的lifetime 雖 然還剩23 小時(shí)57 分,但現(xiàn)在顯示的Conn-id=SW:2,而之前的為Conn-id=SW:1,所以證明R1 上的IKE SA 也是新建立的,如圖7 所示。
圖6 使用Ping 命令連續(xù)測試
圖7 查看R1 狀態(tài)
再次查看R4 到VPN 對端的流量路徑,可以看到R4 去往R1 的VPN 流量先發(fā)送到R3,然后再由R3 轉(zhuǎn)發(fā)出去,如下所示:
當(dāng)把R2 的Fa0/1 口no shutdown 后,由于開啟了搶占模式,所以R2 又會(huì)重新恢復(fù)成HSRP 組中的Active 角色,R4 和R1 間的VPN 流量也會(huì)重新經(jīng)過R2 轉(zhuǎn)發(fā)到達(dá)R1,在R1 和R2 上也可以看到重新建立起的IKE SA 信息,如圖8 所示。
如果在R2 路由器上關(guān)閉外網(wǎng)的Fa0/0 口后,HSRP 組也會(huì)進(jìn)行重新選舉,R4 和R1之間的流量也同樣會(huì)出現(xiàn)和上面一樣VPN 隧道重新建立的情形,這樣就達(dá)到了IPSec VPN HA 的預(yù)期效果。