背景分析

IPsec(IP security)协议族是IETF制定的一系列协议,它为IP数据报提供了高质量的、可互操作的、基于密码学的安全性。特定的通信方之间在IP层通过加密与数据源验证等方式,来保证数据报在网络上传输时的私有性、完整性、真实性。

GRE协议是对某些网络层协议的数据报进行封装,使这些被封装的数据报能够在另一个网络层协议中传输。GRE是VPN的第三层隧道协议,在协议层之间采用了一种被称之为Tunnel的技术。Tunnel是一个虚拟的点对点的连接,在实际中可以看成仅支持点对点连接的虚拟接口,这个接口提供了一条通路使封装的数据报能够在这个通路上传输,并且在一个Tunnel的两端分别对数据报进行封装及解封装。

通常情况下,IPsec不能传输路由协议,例如RIP和OSPF;或者非IP数据流,例如IPX(Internetwork Packet Exchange)和AppleTalk。这样,如果要在IPsec构建的VPN网络上传输这些路由协议报文就需要借助于GRE协议,对路由协议报文等进行封装,使其成为IPsec可以处理的IP报文,这样就可以在IPsec VPN网络中实现不同的网络的路由。

gre over ipsec优势

该特性适合较为大型的网络中总部与分支机构之间,保证了所有的数据,包括路由信息在内的所有报文都能够得到保护。

基本配置介绍

IPsec本身只支持静态路由,所以为了体现gre over ipsec的优势,在配置GRE over IPsec ,动态路由进行配置,配置步骤大概如下:

1、配置GRE协议

2、配置IPsec

3、私网配置动态路由协议

IPsec的配置主要包含以下几个步骤:

1、配置访问控制列表

2、定义ipsec安全提议

3、配置IKE keychain和IKE profile

4、创建安全策略

5、在接口上应用安全策略

做自己开心的事

注意事项

当配置GRE over IPsec 时,应该注意以下几点:

1)IPsec保护的数据流应该是GRE的流量,也就是说ACL的源和目的地址应该为Tunnel接口的Source和Destination。

2)配置GRE over IPsec,首先报文要触发GRE封装,就必须配置路由使所有私网数据都由Tunnel接口转发。

3)但是如果此时私网配置了OSPF协议,那么私网路由就需要从tunnel口通过OSPF协议发送给对端tunnel口,此时就需要在私网的OSPF中宣告tunnel口的IP地址。

具体环境及配置参考

GRE over IPsec先进行GRE封装,再进行IPsec封装,封装格式如下图所示:

配置主要命令如下:

R1:

[rt1]dis cu

ospf 1

area 0.0.0.0

network 10.1.1.0 0.0.0.255----除了宣告私网地址之外,也需要宣告tunnel口地址

network 192.168.1.0 0.0.0.255

interface GigabitEthernet0/0

port link-mode route

combo enable copper

ip address 192.168.1.254 255.255.255.0

#

interface GigabitEthernet0/1

port link-mode route

combo enable copper

ip address 100.1.1.1 255.255.255.0

ipsec apply policy 1-----策略在接口下的调用,表示数据流到达接口匹配ipsec policy的策略。

#

interface Tunnel0 mode gre

ip address 10.1.1.1 255.255.255.0

source 100.1.1.1

destination 200.1.1.2

keepalive 10 3

#

ip route-static 0.0.0.0 0 100.1.1.2

#

acl advanced 3000

rule 0 permit ip source 100.1.1.0 0.0.0.255 destination 200.1.1.0 0.0.0.255------安全acl的设置,因为当前为gre over ipsec模式,ipsec在外层保护gre的数据流。

#

ipsec transform-set 1

esp encryption-algorithm 3des-cbc

esp authentication-algorithm sha1

#

ipsec policy 1 10 isakmp

transform-set 1

security acl 3000

remote-address 200.1.1.2

ike-profile 1

#

ike profile 1

keychain 1

local-identity address 100.1.1.1

match remote identity address 200.1.1.2 255.255.255.255

proposal 1

#

ike keychain 1

pre-shared-key address 200.1.1.2 255.255.255.255 key cipher $c$3$lfNVjHoX1RMXd9sUoYI+ecL9HqtxpQ==----配置预共享密钥,两端设备密钥要一致

[rt1]

RT2的配置类似于RT1,此处篇幅有限,省略。

测试及检验

[rt1]dis acl all------观察ACL已经被匹配

Advanced IPv4 ACL 3000, 1 rule,

ACL's step is 5

rule 0 permit ip source 100.1.1.0 0.0.0.255 destination 200.1.1.0 0.0.0.255 (168 times matched)

[rt1]dis ike sa-----有IKE SA的协商

Connection-ID Remote Flag DOI

------------------------------------------------------------------

1 200.1.1.2 RD IPsec

Flags:

RD--READY RL--REPLACED FD-FADING RK-REKEY

[rt1]dis ipsec sa-----已经产生了ipsec sa,对报文进行加密和验证

-------------------------------

Interface: GigabitEthernet0/1

-------------------------------

-----------------------------

IPsec policy: 1

Sequence number: 10

Mode: ISAKMP

-----------------------------

Tunnel id: 0

Encapsulation mode: tunnel

Perfect Forward Secrecy:

Inside VPN:

Extended Sequence Numbers enable: N

Traffic Flow Confidentiality enable: N

Path MTU: 1444

Tunnel:

local address: 100.1.1.1

remote address: 200.1.1.2

Flow:

sour addr: 100.1.1.0/255.255.255.0 port: 0 protocol: ip

dest addr: 200.1.1.0/255.255.255.0 port: 0 protocol: ip

[Inbound ESP SAs]

SPI: 1484248348 (0x5877d51c)

Connection ID: 4294967296

Transform set: ESP-ENCRYPT-3DES-CBC ESP-AUTH-SHA1

SA duration (kilobytes/sec): 1843200/3600

SA remaining duration (kilobytes/sec): 1843189/3084

Max received sequence-number: 166

Anti-replay check enable: Y

Anti-replay window size: 64

UDP encapsulation used for NAT traversal: N

Status: Active

[Outbound ESP SAs]

SPI: 2264112167 (0x86f39c27)

Connection ID: 4294967297

Transform set: ESP-ENCRYPT-3DES-CBC ESP-AUTH-SHA1

SA duration (kilobytes/sec): 1843200/3600

SA remaining duration (kilobytes/sec): 1843189/3084

Max sent sequence-number: 167

UDP encapsulation used for NAT traversal: N

Status: Active

配置成功之后,左右两边的私网就可以实现互通。下一期我们给大家介绍GRE over IPsec的排错。

相关文章