iOS和OSX使用IKEv2连接正好8分钟时就断开
bindiry opened this issue · 16 comments
服务器系统:Ubuntu 14.04.2 x64 (OpenVZ)
客户端系统:iOS 9.3.1 / OSX 10.11.4
连接方式: IKEv2 (使用IKEv1能正常连接不断线)
测试过多次,每次都能正常连接并正常使用,但正好8分钟时就断开。日志如下:
Apr 1 22:12:31 152424 charon: 14[IKE] 客户端IP is initiating an IKE_SA
Apr 1 22:12:32 152424 charon: 15[IKE] IKE_SA ios_ikev2[13] established between 服务器IP[服务器域名]...客户端IP[192.168.1.5]
Apr 1 22:12:32 152424 charon: 15[IKE] CHILD_SA ios_ikev2{20} established with SPIs 5c12d761_i 0e37ed88_o and TS 0.0.0.0/0 === 10.31.2.1/32
Apr 1 22:20:32 152424 charon: 13[IKE] 客户端IP is initiating an IKE_SA
Apr 1 22:20:33 152424 charon: 13[IKE] deleting IKE_SA ios_ikev2[13] between 服务器IP[服务器域名]...客户端IP[192.168.1.5]
Apr 1 22:20:33 152424 charon: 13[IKE] IKE_SA deleted
会可能是什么原因导致的?
由于iOS9的配置是参考文末那两篇文章的,我手头没有iOS设备所以也没法完善测试,抱歉.
之前IKE的配置有点问题,现已将ike=aes256-sha1-modp1024,3des-sha1-modp1024,aes256-sha1-modp1024!修改为ike=aes256-sha256-modp1024,3des-sha1-modp1024,aes256-sha1-modp1024!
Github上脚本已经更新.
如果不重装的话,直接修改ipsec.conf文件并重启ipsec服务后检查是否能在iOS上正常工作.
rekey=no这个设置项是为了兼容windows,否则windows设备会断开链接.
如果上述修改仍然无效的话,你可以尝试下将 dpdaction=clear 去掉看看能否改善这个问题.
试了一下改成 ike=aes256-sha256-modp1024,3des-sha1-modp1024,aes256-sha1-modp1024!
测试还是会在8分钟时断开
然后又试了一下将 dpdaction=clear
去掉,也还是会断开
另外在官方wiki上看到,似乎之前的ike配置就是对的。
这个问题确实很奇怪,暂时也没看到有什么好的解决方法...
试试用rekey把lifetime设置得大一些,比如24h
相同的问题
Server system: Ubuntu 14.04.4 x64 (KVM)
Client system: OSX 10.11.4
修改 ios_ikev2 里的 rekey & lifetime 无效,还是 8 min 自动断线
我是否应该在 ipsec.conf 里再建立一个 OSX 的 section?
配置里改为
ike=aes256-sha256-modp2048,3des-sha1-modp2048,aes256-sha1-modp2048!
就可以了
杂七杂八搜的,也找不到了,据说苹果还是继续支持dh2的,https://support.apple.com/zh-cn/HT206154,目前猜测应该改成rekey=yes,尝试一下,看是否会在dh14失败的时候,尝试dh2
苹果公司和美国fbi之间的战斗,始于各种加密解密,所以建议dh14,最好还是用的好
@siriulx @asmc
如果设置rekey=yes,windows/wp 客户端会用不了
更新到dev分支了.是否稳定还希望各位有iOS/OSX设备的童鞋们能帮忙测试下~
根据strongswan官方文档 IKEv2 on iOS 9 and iOS 10,这个问题会在strongswan5.5.1中修复。
现在的解决办法是 禁用 MOBIKE
或者 DPD
mobike=no
dpdaction=none
请作者@quericy尽快将strongswan升级到最新版本。
此Bug应该已在Strongswan5.5.1中解决,如果没有后续反馈,将关闭此Issue.
是ipsec.conf中的ike和esp配置的不正确。
可以将日志打全一点,然后就能看到client都有哪些加解密方式服务器没有配置了。在8分钟断开的时候会有日志。
打开日志的方式
config setup
charondebug="ike 2, knl 2, cfg 2, net 2, esp 2, dmn 2, mgr 2"
执行 sudo ipsec start --nofork 就能在终端里 看到日志了
IKEv2 Cipher Suites照着这上边填好配置就行
Apple Clients这个网页上写的太少了,只配置这三个是不够的