原文作者: Mansur

原文链接: http://nbma.info/getvpn/

Group Encrypted Transport VPN,思科私有技术
用于内网(全局可路由)加密的VPN,不是互联网VPN(peer无法直接路由)
目前的场景是用于加密MPLS VPN,因为MPLS本身只是加标签,并没有加密

封装格式

copy原始IP头部,然后内部用ESP加密IP数据报文,不影响QoS

1
2
3
+———-—+———-+————–+
| 原始IP头部 | esp头部 | 加密原始IP报文 |
+———–+——–+————–+

原理

组成员Group Member向密钥服务器Key Server注册,KS上配置策略,产生一个ipsec sa,向同一组的GM推送sa和感兴趣流。
组内成员可以实现any-to-any通讯,支持单播和组播

KS:验证组成员,管理安全策略,产生组密钥,分发策略和密钥,并不能加解密数据
GM:加密设备,组播参与者,在安全和不安全区域执行路由。
GETVPN最好有组播环境,这样KS只向一个组播地址分发即可。
GDOI: Group Domain of Interpretation 公有协议,用于KS和GM之间通讯,和其他厂商兼容,UDP848

KSCP: Cooperative Protocol 协作协议,思科私有,用于主KS和备份KS通讯

协商过程

GM <—-> KS:ike第一阶段协商,验证GM,6个包工作在UDP848,不是UDP500,生成IKE SA
GM ——> KS:使用ike sa加密,提供group ID
GM <—— KS:使用ike sa加密,发送安全策略 .
GM ——> KS:使用ike sa加密,确认
GM <—— KS:使用ike sa加密,发送TEK,KEK
…..
GM <—— KS:使用KEK加密,周期更新密钥,rekey sa的密钥
…..

TKE 用于GM之间加密,ipsec sa的密钥

配置

KS配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#生成rsa密钥,用于前面rekey,
ip domain name nbma.info
crypto key gemerate ras label GETVPN_KEY modulus 1024 exportable

#ike第一阶段,所有ks和gm的预共享密钥
crypto isakmp policy 10
authentication pre-share
crypto isakmp key PRE-KEY address 10.1.1.1
crypto isakmp key PRE-KEY address 10.1.1.2
crypto isakmp key PRE-KEY address 10.1.1.254

#感兴趣流
ip access-list ex GETVPN_traffic
primit ip 10.1.0.0 0.0.255.255 10.1.0.0 0.0.255.255
#rekey更新流量
ip access-list ex GETVPN_muiltucast
primit udp host 10.1.1.1 eq 848 host 239.1.1.1 eq 848

#定义转换集和profile
crypto ipsec transform-set TRANS esp-3des esp-md5-hmac
crypto ipsec profile IPSPROF
set transform-set TRANS

#GDOI组,组名本地有效
crypto gdoi group GDOI_GROUP
#所有的KS,GM的id要一致
identity number 66666

#指定本地作为KS服务器
server local
address ipv4 10.1.1.1

#指定rsa用于签名
rekey authentication mypubkey rsa GETVPN_KEY

#如果用单播rekey还需要敲:rekey transport unicast

#对rekey的加密算法(可选,默认3des)
rekey algorithm aes 256

#rekey更新流量
rekey address ipv4 GETVPN_muiltucast

# 配置ipsec sa
sa ipsec 1
match address ipv4 GETVPN_traffic
profile IPSPROF
reply time windows-size 3

GM配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
crypto isakmp policy 10
authentication pre-share

#只需要配置主备ks的预共享密钥
crypto isakmp key PRE-KEY address 10.1.1.1
crypto isakmp key PRE-KEY address 10.1.1.2

crypto gdoi group GDOI-GROUP
identity number 66666
server address ipv4 10.1.1.1
server address ipv4 10.1.1.2

crypto map GDOI-MAP 10 gdoi
set group GDOI-GROUP

inerface e0/0
crypto map GDOI-MAP

其他命令

1
2
3
4
5
6
7
8
9
10
11
#在ks上查看GM注册信息
show crypto gdoi ks member

#在gm上查看gdoi
show crypto gdoi

#在GM上设置bypass流量,只能deny
ip access-list external GM-ACL
deny ip 10.1.0.0 0.0.255.255 10.1.2.0 0.0.0.255
crypto map GDOI-MAP 10 gdoi
match address GM-ACL

主备KS配置

手动同步。手敲相同的配置,包括rsa密钥对,感兴趣流,转换及,ipsec sa的lifetime

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#在KS1上
crypto gdoi group GDOI_GROUP
server local
redundancy
peer address ipv4 10.1.1.2
local priority 100(越大越优先)

#导出KS1的key
crypto key export rsa GETVPN_KEY pem terminal 3des csico123

#在KS2上导入密钥
crypto key import rsa GETVPN_KEY pem terminal 3des csico123
复制公钥
复制私钥
quit

#(策略-略)

crypto gdoi group GDOI_GROUP
server local
redundancy
peer address ipv4 10.1.1.1
local priority 75