您好,登錄后才能下訂單哦!
GRE OVER IPSEC過程解析
一,產(chǎn)生背景
IPsec是如今十分主流的分支機構(gòu)互聯(lián)×××協(xié)議,其本身強大的加密與驗證功能保障了在互聯(lián)網(wǎng)傳遞時私網(wǎng)數(shù)據(jù)的安全,但是面對當(dāng)前多元化的訪問需求,Ipsec ×××并不能滿足客戶對私網(wǎng)網(wǎng)段之間復(fù)雜的互訪要求;在實際環(huán)境中,分隔兩地的機構(gòu)要求通過×××隧道建立私網(wǎng)之間的路由鄰居關(guān)系,而Ipsec ×××本身并不具備傳遞路由的能力,所以GRE over IPSEC技術(shù)應(yīng)運而生。
二,基本原理
我們知道,傳統(tǒng)的IPsec ×××針對數(shù)據(jù)包的安全性要求,通常采用采用兩種協(xié)議進行數(shù)據(jù)包封裝:AH與ESP。AH主要采用驗證機制,結(jié)合相應(yīng)摘要算法計算出驗證字段填充到數(shù)據(jù)包當(dāng)中,接收方通過比較驗證字段中的相關(guān)信息來分析報文的合法性與完整性,但是AH本身并不具備安全加密功能,由此便引出了ESP,ESP除了本身具備的驗證功能之外,實現(xiàn)上會先將數(shù)據(jù)包進行加密后再添加ESP頭部和尾部,以保護數(shù)據(jù)的機密性;
除了AH與ESP之外,還有一個重點協(xié)議IKE,主要用于密鑰交換,常用于×××中建立SA,且IKE自身基于UDP500端口,本身具備穿越NAT的可能;IKE的交換模式分為:main模式和aagresive模式,兩種模式根據(jù)網(wǎng)關(guān)之間的IP地址情況分別采取不同的措施,main模式主要適用于線路兩端IP地址固定的情況,協(xié)商的時候采取6個協(xié)商報文,在身份驗證階段會在發(fā)送前加密對端身份的ID信息,aggressive模式在第1,2個報文發(fā)送時的ID信息都是以明文方式發(fā)送,所以主模式安全性更好;aggressive模式適用于雙方IP地址不固定的情況(如pppoe撥號,DHCP獲取,IPCP協(xié)商地址等),協(xié)商時發(fā)送3個消息,建立速度更快,且支持nat穿越功能;
三,拓?fù)浣Y(jié)構(gòu)
四,拓?fù)湫枨螅?/span>
本實驗環(huán)境是具備NAT設(shè)備的環(huán)境,RT3(分支機構(gòu))和RT1(總部)通過公網(wǎng)建立GRE OVER IPSEC,SW1模擬公網(wǎng)運營商的設(shè)備,對RT2動態(tài)分配IP地址;
五,拓?fù)浞治觯?/span>
1,此環(huán)境中分支機構(gòu)的邊界上存在NAT設(shè)備,RT3在與RT1建立×××時必須考慮NAT的問題,所以在建立IKE時必須開啟NAT穿越功能;在RT2上不能讓×××感興趣流量進入RT2的NAT引擎,否則×××的IKE建立會發(fā)生錯誤;在NAT穿越的×××環(huán)境中,除了上述存在單一NAT網(wǎng)關(guān)設(shè)備的情況外,還存在如下情況:
此拓?fù)渲?/span>RT2既作為×××網(wǎng)關(guān),也作為NAT網(wǎng)關(guān),在路由器中默認(rèn)是優(yōu)先處理NAT,然后才會匹配感興趣數(shù)據(jù)流,如果此時是H3C設(shè)備時,需要采取隧道分離的措施保證感興趣流量的正常通過,即在通過acl挑選感興趣數(shù)據(jù)流時,需要在訪問控制中有將感興趣數(shù)據(jù)流量在rule中deny掉,并隨后加一條rule來permit需要NAT轉(zhuǎn)發(fā)的流量,如此一來既可以保證NAT流量的正常訪問公網(wǎng),也可以使感興趣流量正常通過;
2,GRE建立隧道時會定義源地址與目的地址,而在GRE OVER IPSEC報文中GRE是封裝IPsec的內(nèi)部的,所以由整個GRE建立的隧道流量都是被IPSEC 加密的,所以在定義感興趣流量時,需要將tunnel接口的源與目的接口定義為感興趣流的源與目的;
3,在GRE隧道中運行動態(tài)路由協(xié)議時,發(fā)布的路由為tunnel隧道地址和私網(wǎng)路由地址,在以loopback接口建立×××時,loopback接口不能發(fā)布到此路由協(xié)議中,否則tunnel接口會發(fā)生up/down的情況,
4,公網(wǎng)設(shè)備中不需要擁有去往兩地loopback接口的路由,通過GRE OVER IPSEC報文封裝即可分析出來;
5,GRE OVER IPSEC與IPSEC OVER GRE的區(qū)別:一,首先根據(jù)名字就可以判斷出一點,前者是GRE封裝在IPSEC 報文中,而后者則是IPSEC報文封裝在GRE中;其次,后者加密的數(shù)據(jù)流量是單獨定義的個別私網(wǎng)網(wǎng)段,前者加密的流量則是整個GRE隧道,只要通過GRE隧道運行的路由協(xié)議發(fā)布的私網(wǎng)數(shù)據(jù),都會被加密;
第三點,GRE OVER IPSEC因為是IPSEC報文頭在外,根據(jù)邊界網(wǎng)關(guān)之間的IP地址情況,可靈活運用IPSEC隧道的兩種模式:transport和tunnel模式,且因為transport模式的報文封裝更加簡單,在流量處理和軟件資源消耗方面要小于隧道模式
二,拓?fù)渑渲茫?/span>
RT1:
IPsec配置
Ike local-name center
ike peer zwc
exchange-mode aggressive
pre-shared-key simple 123
id-type name
remote-name banch
nat traversal
ipsec proposal 1
ipsec policy-template zwc 1
ike-peer zwc
proposal 1
ipsec policy zwc1 1 isakmp template zwc
interface GigabitEthernet0/0/0
port link-mode route
ip address 200.1.1.2 255.255.255.0
ipsec policy zwc1
GRE配置:
interface Tunnel0
ip address 10.1.1.1 255.255.255.0
source LoopBack0
destination 3.3.3.3
路由配置:
ospf 100
area 0.0.0.0
network 10.1.1.0 0.0.0.255
network 172.16.1.1 0.0.0.0
#
ip route-static 0.0.0.0 0.0.0.0 200.1.1.1
地址配置:
interface LoopBack0
ip address 1.1.1.1 255.255.255.255 //loopback接口地址
#
interface LoopBack1
ip address 172.16.1.1 255.255.255.255 //內(nèi)部私網(wǎng)地址
RT3配置:
IPsec配置
Ike local-name banch
ike peer zwc
exchange-mode aggressive
pre-shared-key simple 123
id-type name
remote-name center
remote-address 200.1.1.2
nat traversal //若不敲此命令ike協(xié)商可以正常建立,但是tunnel口無法up
#
ipsec proposal 1
acl number 3000
rule 0 permit gre source 3.3.3.3 0 destination 1.1.1.1 0 //tunnel兩端流量
ipsec policy zwc 1 isakmp
security acl 3000
ike-peer zwc
proposal 1
ipsec policy zwc 1 isakmp
security acl 3000
ike-peer zwc
proposal 1
GRE配置:
interface Tunnel1
ip address 10.1.1.2 255.255.255.0
source LoopBack0
destination 1.1.1.1
路由配置:
ospf 100
area 0.0.0.0
network 10.1.1.0 0.0.0.255
network 192.168.3.1 0.0.0.0
#
ip route-static 0.0.0.0 0.0.0.0 23.1.1.2
RT2配置:
acl number 2000
rule 0 permit source 23.1.1.0 0.0.0.255 //定義的流量無需考慮分離隧道
interface GigabitEthernet0/0/0
port link-mode route
nat outbound 2000 //NAT配置
ip address dhcp-alloc
interface GigabitEthernet0/0/1
port link-mode route
ip address 23.1.1.2 255.255.255.0
ip route-static 0.0.0.0 0.0.0.0 100.1.1.1
查看NAT轉(zhuǎn)換記錄:
[RT2]display nat session
There are currently 1 NAT session:
Protocol GlobalAddr Port InsideAddr Port DestAddr Port
UDP 100.1.1.2 12291 23.1.1.3 500 200.1.1.2 500
status:11 TTL:00:04:00 Left:00:03:52 ×××:---
在建立SA協(xié)商階段,IKE會利用UDP500端口發(fā)起會話,此處可以看到NAT網(wǎng)關(guān)將ipsec數(shù)據(jù)包的源地址及源端口進行了轉(zhuǎn)換,由500->12291,23.1.1.3->100.1.1.2,由于NAT的穿越功能開啟,IKE在建立SA時所協(xié)商的參數(shù)不再是IP地址信息,而是標(biāo)識符信息,及ike local-name
查看RT1的ike SA狀態(tài):
<RT1>disp
<RT1>display ike sa
total phase-1 SAs: 1
connection-id peer flag phase doi
----------------------------------------------------------
38 100.1.1.2 RD 1 IPSEC
39 100.1.1.2 RD 2 IPSEC
flag meaning
RD--READY ST--STAYALIVE RL--REPLACED FD--FADING TO—TIMEOUT
查看RT1的IPSec SA狀態(tài):
<RT1>display ipsec sa
===============================
Interface: GigabitEthernet0/0/0
path MTU: 1500
===============================
-----------------------------
IPsec policy name: "zwc1"
sequence number: 1
mode: template
-----------------------------
connection id: 21
encapsulation mode: tunnel
perfect forward secrecy:
tunnel:
local address: 200.1.1.2
remote address: 100.1.1.2
flow:
sour addr: 1.1.1.1/255.255.255.255 port: 0 protocol: GRE
dest addr: 3.3.3.3/255.255.255.255 port: 0 protocol: GRE
[inbound ESP SAs]
spi: 3981374185 (0xed4ef2e9)
proposal: ESP-ENCRYPT-DES ESP-AUTH-MD5
sa duration (kilobytes/sec): 1843200/3600
sa remaining duration (kilobytes/sec): 1843195/2950
max received sequence-number: 52
anti-replay check enable: Y
anti-replay window size: 32
udp encapsulation used for nat traversal: Y
[outbound ESP SAs]
spi: 2812594908 (0xa7a4cadc)
proposal: ESP-ENCRYPT-DES ESP-AUTH-MD5
sa duration (kilobytes/sec): 1843200/3600
sa remaining duration (kilobytes/sec): 1843195/2950
max received sequence-number: 53
udp encapsulation used for nat traversal: Y
查看RT1的ospf狀態(tài):
<RT1>display ospf peer
OSPF Process 100 with Router ID 172.16.1.1
Neighbor Brief Information
Area: 0.0.0.0
Router ID Address Pri Dead-Time Interface State
192.168.3.1 10.1.1.2 1 39 Tun0 Full/ -
查看私網(wǎng)路由學(xué)習(xí)狀況:
<RT1>display ip routing-table
Routing Tables: Public
Destinations : 10 Routes : 10
Destination/Mask Proto Pre Cost NextHop Interface
0.0.0.0/0 Static 60 0 200.1.1.1 GE0/0/0
1.1.1.1/32 Direct 0 0 127.0.0.1 InLoop0
10.1.1.0/24 Direct 0 0 10.1.1.1 Tun0
10.1.1.1/32 Direct 0 0 127.0.0.1 InLoop0
127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0
127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0
172.16.1.1/32 Direct 0 0 127.0.0.1 InLoop0
192.168.3.1/32 OSPF 10 1562 10.1.1.2 Tun0
200.1.1.0/24 Direct 0 0 200.1.1.2 GE0/0/0
200.1.1.2/32 Direct 0 0 127.0.0.1 InLoop0
可以看到,RT3 的私網(wǎng)路由192.168.3.1/32已經(jīng)通過ospf學(xué)習(xí)到了
此處SW1模擬的是公網(wǎng)設(shè)備,在SW1上開啟DHCP分配地址,配置接口IP即可,無需添加任何路由,RT2上只需一條對外訪問公網(wǎng)的默認(rèn)路由即可,不需要定義任何去往RT3上私網(wǎng)×××網(wǎng)段的路由
注:拓?fù)鋱D見附件
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。