24
2024
01
00:06:13

用WireShark抓包解决StrongSwan和H3C对接失败的问题



推荐点击下面图片,通过本站淘宝优惠价购买:

image.png

strongSwan是一个开源的基于IPsec的VPN解决方案,默认安装路径是/etc/strongswan/,比较重要的配置文件就是ipsec.confstrongSwan之ipsec.conf配置手册和ipsec.secretsstrongSwan之ipsec.secrets配置手册这两个配置文件了。

今天就来介绍一下如何配置strongSwan和华三设备的IPsec对接。



对比华三设备配置,讲解Linux主机如何配置strongSwan的组网拓扑稍作调整,用一台华三VSR替换掉Linux2主机,使Linux服务器和VSR直接对接,如下图所示:



对比华三设备配置,讲解Linux主机如何配置strongSwan中,我们已经对strongSwan和VSR的IPsec配置进行了初步对比,简单回顾一下:

先看VSR和strongSwan一样的地方:第一阶段的协商模式默认都是主模式,第二阶段默认的加密模式都是ESP,报文封装模式默认都是隧道模式。

再看有差别的地方,strongSwan的ipsec.conf配置文件如下:

cat /etc/strongswan/ipsec.confconn swan authby = psk keyexchange=ikev1 left=12.1.1.1 leftsubnet=11.1.1.0/24 right=12.1.1.2 rightsubnet=22.1.1.0/24 auto=route

这里面有隐藏的默认配置:

conn swan leftid=12.1.1.1 rightid=12.1.1.2 ike = aes128-sha256-modp3072 esp = aes128-sha256

这里有个问题,就是IKE算法中的PRF-modp3072算法华三暂时不是支持的。同时strongSwan有依据说明,如果没有给出PRF,则为完整性定义的算法将用于PRF,所以我们把配置修改为ike = aes128-sha256试一下。

到这里,strongSwan的配置就完成了。

conn swan authby = psk keyexchange=ikev1 left=12.1.1.1 leftid=12.1.1.1 leftsubnet=11.1.1.0/24 right=12.1.1.2 rightid=12.1.1.2 rightsubnet=22.1.1.0/24 auto=route ike = aes128-sha256 esp = aes128-sha256cat /etc/strongswan/ipsec.secrets12.1.1.2 12.1.1.1 : PSK swan

接下来就是比较拿手的H3C配置了,按照strongSwan的配置进行调整,直接上配置:

#ike keychain swan pre-shared-key address 12.1.1.1 255.255.255.0 key simple swan#ike proposal 10 encryption-algorithm aes-cbc-128 authentication-algorithm sha256#ike profile swan keychain swan local-identity address 12.1.1.2 match remote identity address 12.1.1.1 255.255.255.0 proposal 10#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 swan esp encryption-algorithm aes-cbc-128 esp authentication-algorithm sha256#ipsec policy swan 10 isakmp transform-set swan security acl 3402 local-address 12.1.1.2 remote-address 12.1.1.1 ike-profile swan#interface GigabitEthernet3/0 ipsec apply policy swan

然后触发一下,发现IPsec协商失败,状态未知。



在Linux端查看也是IKE SA建立失败。



在VSR上进行debug,发现有报错,提示“No HASH in notification payload.”,翻译一下就是说通知有效负载中没有HASH。



然后抓包看一下。



我们发现DH组和生命周期信息还是存在一些差异,修改strongSwan的算法配置为ike = aes128-sha256-modp1024,对应的,调整VSR中ike proposal的DH组为2(1024-bit),命令dh group2。同时调整strongSwan的ikelifetime为86400(1天)。

ike = aes128-sha256-modp1024ikelifetime=86400

再次触发一下,通了!



查看VSR上相关的SA信息。



查看strongSwan的相关状态信息。



报文交互也是正常。



看来strongSwan和H3C的IPsec对接也不难啊!

最后给一份完整的设备配置。

cat /etc/strongswan/ipsec.confconn swan authby = psk keyexchange=ikev1 left=12.1.1.1 leftid=12.1.1.1 leftsubnet=11.1.1.0/24 right=12.1.1.2 rightid=12.1.1.2 rightsubnet=22.1.1.0/24 auto=route ike = aes128-sha256-modp1024 esp = aes128-sha256 ikelifetime=86400cat /etc/strongswan/ipsec.secrets12.1.1.1 12.1.1.2 : PSK swan

VSR配置:

#interface GigabitEthernet3/0 ipsec apply policy swan#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 swan esp encryption-algorithm aes-cbc-128 esp authentication-algorithm sha256#ipsec policy swan 10 isakmp transform-set swan security acl 3402 local-address 12.1.1.2 remote-address 12.1.1.1 ike-profile swan#ike profile swan keychain swan local-identity address 12.1.1.2 match remote identity address 12.1.1.1 255.255.255.0 proposal 10#ike proposal 10 encryption-algorithm aes-cbc-128 dh group2 authentication-algorithm sha256#ike keychain swan pre-shared-key address 12.1.1.1 255.255.255.0 key simple swan

挺简单的,不是吗?


本文链接:https://hqyman.cn/post/4881.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:





休息一下,本站随机推荐观看栏目:


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

您的IP地址是: