如上一篇日志所述,Windows 10 Mobile由于微软莫名其妙的改动,导致通过“设置”界面配置的IKEv2 VPN根本无法使用,在没有MDM的情况下难以解决。
不过 XDA-Dev、wfun 和 WindowsCentral 上有人找到了解决方法。
方法一
需要Interop解锁(相当于Android的root或者iOS的jailbreak)之后直接编辑rasphone.apk文件的相应行。不赘述。
方法二
无需Interop,但需要有(1)TF卡、(2)读卡器、(3)Win10电脑,步骤如下:
-
准备正确的rasphone.pbk文件
- 在Windows 10的电脑上配置好VPN,按照前一篇日志提到的方法手动修改网关和跃点配置,连接一下确认是否可用。
- 打开
C:\Users\你的用户名\AppData\Roaming\Microsoft\Network\Connections\Pbk
,里面应该能找到生成的rasphone.pbk
文件。
-
准备文件并创建软链接
- 取出TF卡插到读卡器上,连接到电脑。
- 备份所有文件,然后把卡格式化成NTFS文件系统。格完后把所有文件再拷回去。
- 在TF卡里新建一个文件夹,名称任意,例如
myvpn
。把上面提到的rasphone.pbk
复制进去,如果证书登录那么把证书也复制进去。 - 以管理员身份运行命令提示符(cmd.exe),输入如下命令(假设TF卡的盘符为
X:
)X: cd myvpn mklink /d "pbk" "C:\Data\Users\DefApps\AppData\Roaming\Microsoft\Network\Connections\Pbk" exit
- 完成之后把TF卡装回手机。
-
将正确的
rasphone.pbk
装进手机- 在设置里创建一个VPN连接,然后删除,目的是让手机pbk文件夹可读写。
- 重启手机。
- 从应用商店里安装文件管理器(微软出品的),然后打开SD卡->myvpn,你会看到刚才地那个pbk文件夹(其实是软链接)和复制进去的文件。
- 把你刚才复制进TF卡里的
rasphone.pbk
复制到myvpn\pbk
文件夹。然后点进pbk
文件夹确认一下是否成功复制。 - 如果是证书登陆的VPN,那么把刚才复制的证书安装进手机。
- 重启手机。
以上设置完毕。试着连接VPN并访问Google,如果能访问的话就是成功了。
方法三
基于方法二改进,适用于无SD卡的机型且无需Interop,请参见这个帖子。
思路是直接做一个快捷方式指向手机系统的 rasphone.pbk
然后就能直接修改真正的 rasphone.pbk
,关键是要创建这个快捷方式,以及要找到Win10M上合适的文件编辑器(WP应用商店的垃圾应用太多,好应用很难找)。
.Vicer提供了所需的快捷方式,文件编辑器则可以使用NotepadX。将 @rasphone.lnk.db
复制到手机上,重命名为 @rasphone.lnk
,然后用NotepadX打开就可以编辑真正的 rasphone.pbk
。需要修改的是:
IpPrioritizeRemote=0
改为IpPrioritizeRemote=1
IpInterfaceMetric=0
改为IpInterfaceMetric=15
(或更小的数字)
然后保存即可。
这种方法是利用了NTFS系统的软链接以及Win10m的pbk文件夹权限问题,应该算是漏洞,但以微软的习性应该会当作Feature不会修复。顺便提一下相关BugFeature:
- 如果经过上述步骤配置后仍有问题,可能是你某些步骤没有重启。解决方法是重启,删除所有VPN配置,删不掉的话重启后再尝试删除,直到全部删除,然后重启并重新开始配置。
喜欢就买,不行就分,多喝点水,重启试试 - 从移动数据网络切换到WiFi网络时,IKEv2 VPN会自动重连;然而如果从WiFi切换到移动数据时VPN不会自动重连。
- 接上条,此时VPN配置页里显示未连接状态,实际上VPN并未挂断,如果切换回WiFi网络会自动重连。
- 接上条,如果不切换回去而是直接再连接VPN会失败,提示809错误。解决方法是重启。
- Win10m里,如果软链接指向的文件夹不存在,不会有出错提示,而是显示空文件夹,所以要尤其注意软链接路径是否正确。
- Win10m里,点开指向C盘的软链接只能看到当前文件夹里的文件和文件夹,看不到次级文件夹里的内容。这可能是某种安全设置,但不会报错。