iOS 8 IKEv2 Ondemand 的蛋疼问题,目前无解

2014-10-10 23:24:05 +08:00
 cattyhouse
由于IKEv2具备Mobike的功能,iOS也继承了这一点,但是它做的真尼玛蛋疼。具体表现为(以下的前提是你设置了Ondemand或者Alwayson的rule):

1, 假设你现在连接3G,wifi没有打开,当你访问任何网站的时候,VPN会自动连接。然后你打开WIFI,按理说此刻网络流量应该全部走WIFI了,VPN应该自动断开并且自动重连接,但iOS蛋疼的是,它不断开!!! 接下来你的所有流量都经由3G的VPN,与WIFI半毛钱关系也没有!!!

2,假设你在现在连着WIFI,并且VPN是关闭状态(比如你手动关闭了),此时上任何网站,VPN都会自动重连,然后再关闭WIFI,此时VPN断开了,但是它却是『正在连接』状态,它在等待你的WIFI重新联网,此时此刻,你的3G网络形同虚设,根本没用,任何网站都打不开。。。除非你再打开WIFI,它就会自动现实已连接。

总结一下就是,IKEv2在iOS上,它会坚持等待它拨号的时候通过的那个网络,如果那个网络关闭了,那么,他会一直等待,然后让其他网络根本无法用,其实iOS上就2个网络,WIFI和Cellular。这与IKEv2的mobike功能相悖。。。也就是说iOS上的IKEv2不能在WIFI和Cellular之间漫游!!!

以上测试在iOS 8.1 beta 2上完成,服务器用的Debian+Strongswan 5.2.0,为此我也咨询了12vpn这个服务商,他们的回复跟我遇到的情况一模一样:

Unfortunately this is standard behaviour for iOS and OS/X. Existing connections will stay on the old network if the old network is still available.

You've found that VPN will use cellular if WiFi is switched on after the VPN connected. The same is true for other connections: if you connect something else first, then connect the VPN, the old connection will not use the VPN.

I agree that it would be better if the VPN can reconnect automatically when you change networks. In fact, IKEv2 can technically do this, but it's up to Apple to enable it.
16840 次点击
所在节点    iPhone
21 条回复
xuJaff
2015-11-17 18:26:30 +08:00
我用的 strongSwan 搭建的 vpn 服务器,安卓的 ipsec 和 ikev2 都支持, iOS 端支持 ipsec 但是不支持 ikev2 ikev2 证书怎么配置的 大神们能指点指点吗

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/138171

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX