GRE原理
GRE簡介:
General Routing Encapsulation,簡稱GRE,是一種三層VPN封裝技術(shù)。GRE可以對某些網(wǎng)絡(luò)層協(xié)議(如IPX、Apple Talk、IP等)的報(bào)文進(jìn)行封裝,使封裝后的報(bào)文能夠在另一種網(wǎng)絡(luò)中(如IPv4)傳輸,從而解決了跨越異種網(wǎng)絡(luò)的報(bào)文傳輸問題。異種報(bào)文傳輸?shù)耐ǖ婪Q為Tunnel(隧道)。
GRE報(bào)文封裝:
圖:GRE報(bào)文格式
其中:
凈荷(Payload):系統(tǒng)收到的需要封裝和路由的數(shù)據(jù)報(bào)稱為凈荷。
乘客協(xié)議(Passenger Protocol):封裝前的報(bào)文協(xié)議稱為乘客協(xié)議。
封裝協(xié)議(Encapsulation Protocol):上述的GRE協(xié)議稱為封裝協(xié)議,也稱為運(yùn)載協(xié)議(Carrier Protocol)。
傳輸協(xié)議(Transport Protocol或者Delivery Protocol):負(fù)責(zé)對封裝后的報(bào)文進(jìn)行轉(zhuǎn)發(fā)的協(xié)議稱為傳輸協(xié)議。
GRE能夠承載的乘客協(xié)議包括IPv4、IPv6和MPLS協(xié)議,GRE所使用的運(yùn)輸協(xié)議是IPv4協(xié)議。
GRE首部各字段解釋如下:
圖:GRE報(bào)文抓包示例
GRE的的上層協(xié)議是IP,協(xié)議號為47.
GRE的實(shí)現(xiàn)–隧道接口:
隧道接口(Tunnel接口)是為實(shí)現(xiàn)報(bào)文的封裝而提供的一種點(diǎn)對點(diǎn)類型的虛擬接口,與Loopback接口類似,都是一種邏輯接口。
隧道接口必須配置的四項(xiàng):封裝類型、隧道接口地址、源地址、目的地址。
GRE的應(yīng)用場景:
GRE over IPSec
IPv6 over IPv4
擴(kuò)大條數(shù)受限的網(wǎng)絡(luò)工作范圍
GRE的優(yōu)缺點(diǎn):
優(yōu)點(diǎn):
支持多種上層協(xié)議
支持組播,QoS
支持組播,就意味著可以運(yùn)行組播類協(xié)議,如動態(tài)路由。
缺點(diǎn):~薄弱的安全性
不支持加密
較弱的身份認(rèn)證機(jī)制
GRE over IPSec
IPSec的優(yōu)缺點(diǎn)分析:
IPSec缺點(diǎn):
只支持IP協(xié)議的封裝,不支持多層上層協(xié)議
不支持組播
IPSec的優(yōu)點(diǎn) —較強(qiáng)的安全性:
支持加密
支持身份驗(yàn)證機(jī)制
支持?jǐn)?shù)據(jù)完整性校驗(yàn)
GRE over IPSec:
GRE over IPSec可利用GRE和IPSec的優(yōu)勢,通過GRE將組播、廣播和非IP報(bào)文封裝成普通的IP報(bào)文,通過IPSec為封裝后的IP報(bào)文提供安全地通信,進(jìn)而可以提供在總部和分支之間安全地傳送廣播、組播的業(yè)務(wù),例如視頻會議或動態(tài)路由協(xié)議消息等。
當(dāng)網(wǎng)關(guān)之間采用GRE over IPSec連接時(shí),先進(jìn)行GRE封裝,再進(jìn)行IPSec封裝。GRE over IPSec使用的封裝模式為可以是隧道模式也可以是傳輸模式。因?yàn)樗淼滥J礁鷤鬏斈J较啾仍黾恿薎PSec頭,導(dǎo)致報(bào)文長度更長,更容易導(dǎo)致分片,所以推薦采用傳輸模式GRE over IPSec。
圖:GRE over IPSec報(bào)文封裝和隧道協(xié)商過程
IPSec封裝過程中增加的IP頭即源地址為IPSec網(wǎng)關(guān)應(yīng)用IPSec安全策略的接口地址,目的地址即IPSec對等體中應(yīng)用IPSec安全策略的接口地址。
IPSec需要保護(hù)的數(shù)據(jù)流為從GRE起點(diǎn)到GRE終點(diǎn)的數(shù)據(jù)流。GRE封裝過程中增加的IP頭即源地址為GRE隧道的源端地址,目的地址為GRE隧道的目的端地址。
GER over IPSec的兩種封裝模式:
(1) 傳輸模式 -------建議采用
2個IP頭部 原始IP頭部 GRE頭部
(2) 隧道模式
3個IP頭部 原始IP頭部 GRE頭部 IPSEC頭部
GRE over IPSec配置實(shí)驗(yàn)
實(shí)驗(yàn)拓?fù)鋱D:
FW1和FW2之間建立GRE over IPSec隧道,使PC1網(wǎng)絡(luò)好PC2網(wǎng)絡(luò)用戶可通過隧道互相訪問。
圖:GRE Over IPSec實(shí)驗(yàn)拓?fù)鋱D
安全策略的放行:
圖:安全策略的放行
注意:關(guān)于需不需要放行g(shù)re流量的問題。
因?yàn)間re頭部是在esp頭部或公網(wǎng)IP頭部中封裝的,實(shí)際流量會被esp加密傳輸。應(yīng)該是不需要放行g(shù)re的,但是在實(shí)際測試中需要放行。
在華為防火墻實(shí)際測試中,放行g(shù)re流量后IPSec SA可以正常建立,雙方的主機(jī)也可以互相通信。而不放行g(shù)re的話,IPSec SA可以正常建立,但是雙方的主機(jī)不能互相通信。
檢查測試:
圖:PC1與PC2的連通性測試
注意:當(dāng)在Tunnel口調(diào)用IPSec后,可以成功建立IPSec SA,需要流量的觸發(fā)。但是在防火墻的Web管理界面的IPSec監(jiān)控中看不到有關(guān)IPSec的信息,只能通過命令行查看。
在配置IPSec Profile(模板)的時(shí)候:
不能配置遠(yuǎn)端的IP地址
在Tunnel口上綁定IPSec策略時(shí),放行g(shù)re的流量的方向是,從vpn --> local的方向的流量。
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
轉(zhuǎn)自:CSDN博主