千家信息网

GRE OVER IPSEC过程解析

发表于:2024-11-30 作者:千家信息网编辑
千家信息网最后更新 2024年11月30日,GRE OVER IPSEC过程解析一,产生背景IPsec是如今十分主流的分支机构互联×××协议,其本身强大的加密与验证功能保障了在互联网传递时私网数据的安全,但是面对当前多元化的访问需求,Ipsec
千家信息网最后更新 2024年11月30日GRE OVER IPSEC过程解析

GRE OVER IPSEC过程解析

一,产生背景

IPsec是如今十分主流的分支机构互联×××协议,其本身强大的加密与验证功能保障了在互联网传递时私网数据的安全,但是面对当前多元化的访问需求,Ipsec ×××并不能满足客户对私网网段之间复杂的互访要求;在实际环境中,分隔两地的机构要求通过×××隧道建立私网之间的路由邻居关系,而Ipsec ×××本身并不具备传递路由的能力,所以GRE over IPSEC技术应运而生。

二,基本原理

我们知道,传统的IPsec ×××针对数据包的安全性要求,通常采用采用两种协议进行数据包封装:AHESPAH主要采用验证机制,结合相应摘要算法计算出验证字段填充到数据包当中,接收方通过比较验证字段中的相关信息来分析报文的合法性与完整性,但是AH本身并不具备安全加密功能,由此便引出了ESPESP除了本身具备的验证功能之外,实现上会先将数据包进行加密后再添加ESP头部和尾部,以保护数据的机密性;

除了AHESP之外,还有一个重点协议IKE,主要用于密钥交换,常用于×××中建立SA,且IKE自身基于UDP500端口,本身具备穿越NAT的可能;IKE的交换模式分为:main模式和aagresive模式,两种模式根据网关之间的IP地址情况分别采取不同的措施,main模式主要适用于线路两端IP地址固定的情况,协商的时候采取6个协商报文,在身份验证阶段会在发送前加密对端身份的ID信息,aggressive模式在第12个报文发送时的ID信息都是以明文方式发送,所以主模式安全性更好;aggressive模式适用于双方IP地址不固定的情况(pppoe拨号,DHCP获取,IPCP协商地址等),协商时发送3个消息,建立速度更快,且支持nat穿越功能;

三,拓扑结构

四,拓扑需求:

本实验环境是具备NAT设备的环境,RT3(分支机构)和RT1(总部)通过公网建立GRE OVER IPSECSW1模拟公网运营商的设备,对RT2动态分配IP地址;

五,拓扑分析:

1,此环境中分支机构的边界上存在NAT设备,RT3在与RT1建立×××时必须考虑NAT的问题,所以在建立IKE时必须开启NAT穿越功能;在RT2上不能让×××感兴趣流量进入RT2NAT引擎,否则×××IKE建立会发生错误;在NAT穿越的×××环境中,除了上述存在单一NAT网关设备的情况外,还存在如下情况:

此拓扑中RT2既作为×××网关,也作为NAT网关,在路由器中默认是优先处理NAT,然后才会匹配感兴趣数据流,如果此时是H3C设备时,需要采取隧道分离的措施保证感兴趣流量的正常通过,即在通过acl挑选感兴趣数据流时,需要在访问控制中有将感兴趣数据流量在ruledeny掉,并随后加一条rulepermit需要NAT转发的流量,如此一来既可以保证NAT流量的正常访问公网,也可以使感兴趣流量正常通过;

2GRE建立隧道时会定义源地址与目的地址,而在GRE OVER IPSEC报文中GRE是封装IPsec的内部的,所以由整个GRE建立的隧道流量都是被IPSEC 加密的,所以在定义感兴趣流量时,需要将tunnel接口的源与目的接口定义为感兴趣流的源与目的;

3,在GRE隧道中运行动态路由协议时,发布的路由为tunnel隧道地址和私网路由地址,在以loopback接口建立×××时,loopback接口不能发布到此路由协议中,否则tunnel接口会发生up/down的情况,

4,公网设备中不需要拥有去往两地loopback接口的路由,通过GRE OVER IPSEC报文封装即可分析出来;

5GRE OVER IPSECIPSEC OVER GRE的区别:一,首先根据名字就可以判断出一点,前者是GRE封装在IPSEC 报文中,而后者则是IPSEC报文封装在GRE中;其次,后者加密的数据流量是单独定义的个别私网网段,前者加密的流量则是整个GRE隧道,只要通过GRE隧道运行的路由协议发布的私网数据,都会被加密;

第三点,GRE OVER IPSEC因为是IPSEC报文头在外,根据边界网关之间的IP地址情况,可灵活运用IPSEC隧道的两种模式:transporttunnel模式,且因为transport模式的报文封装更加简单,在流量处理和软件资源消耗方面要小于隧道模式

二,拓扑配置:

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 //内部私网地址

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协商可以正常建立,但是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转换记录:

[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协商阶段,IKE会利用UDP500端口发起会话,此处可以看到NAT网关将ipsec数据包的源地址及源端口进行了转换,由500->1229123.1.1.3->100.1.1.2,由于NAT的穿越功能开启,IKE在建立SA时所协商的参数不再是IP地址信息,而是标识符信息,及ike local-name

查看RT1ike SA状态:

disp

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

查看RT1IPSec SA状态:

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

查看RT1ospf状态:

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/ -

查看私网路由学习状况:

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 的私网路由192.168.3.1/32已经通过ospf学习到了

此处SW1模拟的是公网设备,在SW1上开启DHCP分配地址,配置接口IP即可,无需添加任何路由,RT2上只需一条对外访问公网的默认路由即可,不需要定义任何去往RT3上私网×××网段的路由

注:拓扑图见附件

0