IPsec的案例已经介绍了很多了(IPsec合集),突然发现原来很多地方已经开始用IKEv2了。说实话,之前还真没深入了解过,我一直以为IKEv2应该是给IPv6用的,没想到我还真就理解错了。
其实IKEv2是IKEv1的增强版本,具有抗攻击能力、更强的密钥交换能力以及减少报文交互数量等特点。
可能比较直观能看到的就是报文交互数量的减少吧。当需要建立一对IPsec SA时,IKEv1需要经历两个阶段,至少需要交换6条消息;而IKEv2只需要进行两次交互,使用4条消息就可以完成一个IKEv2 SA和一对IPsec SA的协商建立。如果要求建立的IPsec SA的数目大于一对,则每增加一对IPsec SA只需要额外增加一次交互。
今天我们就通过一个IKEv2的小实验来看一下IKEv2和IKEv1的差别。
组网图和使用IKEv1建立IPsec隧道是一样的。首先按照组网图所示配置各接口的IP地址,使得RTA和RTB可以互通。

配置上比较直观的就是IKE密钥配置命令不同了,使用IKEv1的配置命令如下:
#ike keychain key1 pre-shared-key address 13.1.1.3 255.255.255.0 key simple qwe123
而使用IKEv2时,需要为每个对等体都创建一个子视图,并且将命令拆开了,本来1条命令能解决的事情,现在要用4条命令。创建IKEv2密钥,创建IKEv2对等体,指定对等体的主机地址,指定对等体的身份信息,配置对等体使用的预共享密钥。
# ikev2 keychain IKEV2 peer RTB address 23.1.1.3 255.255.255.255 identity address 23.1.1.3 pre-shared-key plaintext IKEV2
在配置IKEv1的安全框架时,指定密钥和对等体信息就可以了。
#ike profile pro1 keychain key1 match remote identity address 13.1.1.3 255.255.255.0
在使用IKEv2的安全框架时,除了指定密钥和对等体信息之外,还需要分别指定本端和对端的身份认证方式。
#ikev2 profile IKEV2 authentication-method local pre-share authentication-method remote pre-share keychain IKEV2 match remote identity address 23.1.1.3 255.255.255.255
其余的就一样了,配置保护数据流的ACL。
#acl advanced 3402 rule 0 permit ip source 11.1.1.0 0.0.0.255 destination 22.1.1.0 0.0.0.255
创建IPsec安全提议。
#ipsec transform-set IKEV2 esp encryption-algorithm des-cbc esp authentication-algorithm sha1
创建IPsec安全策略,引用的IKEv2 profile。
#ipsec policy IKEV2 10 isakmp transform-set IKEV2 security acl 3402 remote-address 23.1.1.3 ikev2-profile IKEV2
在接口上应用IPsec安全策略。
#interface GigabitEthernet0/0 ipsec apply policy IKEV2
最后配置到对端子网的静态路由。
#ip route-static 22.1.1.0 24 12.1.1.2

RTB和RTA的配置相近,直接上配置。
#acl advanced 3402 rule 0 permit ip source 22.1.1.0 0.0.0.255 destination 11.1.1.0 0.0.0.255#ipsec transform-set IKEV2 esp encryption-algorithm des-cbc esp authentication-algorithm sha1#ikev2 keychain IKEV2 peer RTA address 12.1.1.1 255.255.255.255 identity address 12.1.1.1 pre-shared-key plaintext IKEV2#ikev2 profile IKEV2 authentication-method local pre-share authentication-method remote pre-share keychain IKEV2 match remote identity address 12.1.1.1 255.255.255.255#ipsec policy IKEV2 10 isakmp transform-set IKEV2 security acl 3402 remote-address 12.1.1.1 ikev2-profile IKEV2#interface GigabitEthernet0/0 ipsec apply policy IKEV2#ip route-static 11.1.1.0 24 23.1.1.2

查看IKEv2安全框架信息。
查看IKEv2安全提议的配置信息。
通过手工触发建立RTA和RTB之间的IKEv2 SA和IPsec SA。
看一下报文交互,可以发现,SA建立有2个交换:IKE_SA_INIT交换和IKE_AUTH交换。第一个报文中,Key Exchange内容如下:
Security Association中信息较多,单独展开看一下。可以看到加密算法提供了AES_CBC和3DES两种,认证算法提供了HMAC_SHA1和HMAC_MD5两种。
另外还提供了两种PRF(Pseudo-random Function,伪随机函数)算法HMAC_SHA1和HMAC_MD5,还有两个DH组:组5和组2。这就是DH猜想,响应方根据发起方“猜测”的DH组来响应发起方。如果发起方猜测成功,则这样通过两条消息就可以完成IKE_SA_INIT交换。
然后我们看一下RTB的响应报文,可以看到RTB的加密算法选择了AES_CBC,认证算法选择了HMAC_SHA1,PRF算法选择了HMAC_SHA1,DH组选择了组5。比较幸运,应该是同厂商设备的原因,一次协商成功。
紧接着完成了对等体的身份认证以及IPsec SA的创建。
所以报文交互数量是4个,我们回顾一下,使用IKEv1主模式时创建IPsec SA需要2个阶段共9个报文。(IKE主模式及预共享密钥认证配置)
使用IKEv1野蛮模式时创建IPsec SA需要2个阶段共6个报文,这就是最少的情况了。(采用IKE野蛮模式建立保护IPv4报文的IPsec隧道)
再有就是IKEv2增加了一些对加密算法camellia算法的支持,提高了抗攻击能力。
推荐本站淘宝优惠价购买喜欢的宝贝:
本文链接:https://hqyman.cn/post/9098.html 非本站原创文章欢迎转载,原创文章需保留本站地址!
休息一下~~