利用SD卡和NTFS软链接配置Windows 10 Mobile的IKEv2 VPN

如上一篇日志所述,Windows 10 Mobile由于微软莫名其妙的改动,导致通过“设置”界面配置的IKEv2 VPN根本无法使用,在没有MDM的情况下难以解决。
不过 XDA-DevwfunWindowsCentral 上有人找到了解决方法。

方法一

需要Interop解锁(相当于Android的root或者iOS的jailbreak)之后直接编辑rasphone.apk文件的相应行。不赘述。

方法二

无需Interop,但需要有(1)TF卡、(2)读卡器、(3)Win10电脑,步骤如下:

  1. 准备正确的rasphone.pbk文件

    1. 在Windows 10的电脑上配置好VPN,按照前一篇日志提到的方法手动修改网关和跃点配置,连接一下确认是否可用。
    2. 打开 C:\Users\你的用户名\AppData\Roaming\Microsoft\Network\Connections\Pbk,里面应该能找到生成的 rasphone.pbk 文件。
  2. 准备文件并创建软链接

    1. 取出TF卡插到读卡器上,连接到电脑。
    2. 备份所有文件,然后把卡格式化成NTFS文件系统。格完后把所有文件再拷回去。
    3. 在TF卡里新建一个文件夹,名称任意,例如 myvpn。把上面提到的 rasphone.pbk 复制进去,如果证书登录那么把证书也复制进去。
    4. 以管理员身份运行命令提示符(cmd.exe),输入如下命令(假设TF卡的盘符为 X:
      X:
      cd myvpn
      mklink /d "pbk" "C:\Data\Users\DefApps\AppData\Roaming\Microsoft\Network\Connections\Pbk"
      exit
      
    5. 完成之后把TF卡装回手机。
  3. 将正确的 rasphone.pbk 装进手机

    1. 在设置里创建一个VPN连接,然后删除,目的是让手机pbk文件夹可读写。
    2. 重启手机。
    3. 从应用商店里安装文件管理器(微软出品的),然后打开SD卡->myvpn,你会看到刚才地那个pbk文件夹(其实是软链接)和复制进去的文件。
    4. 把你刚才复制进TF卡里的 rasphone.pbk 复制到 myvpn\pbk 文件夹。然后点进 pbk 文件夹确认一下是否成功复制。
    5. 如果是证书登陆的VPN,那么把刚才复制的证书安装进手机。
    6. 重启手机。

以上设置完毕。试着连接VPN并访问Google,如果能访问的话就是成功了。

方法三

基于方法二改进,适用于无SD卡的机型且无需Interop,请参见这个帖子
思路是直接做一个快捷方式指向手机系统的 rasphone.pbk 然后就能直接修改真正的 rasphone.pbk,关键是要创建这个快捷方式,以及要找到Win10M上合适的文件编辑器(WP应用商店的垃圾应用太多,好应用很难找)。
.Vicer提供了所需的快捷方式,文件编辑器则可以使用NotepadX。将 @rasphone.lnk.db 复制到手机上,重命名为 @rasphone.lnk,然后用NotepadX打开就可以编辑真正的 rasphone.pbk。需要修改的是:

  1. IpPrioritizeRemote=0 改为 IpPrioritizeRemote=1
  2. IpInterfaceMetric=0 改为 IpInterfaceMetric=15 (或更小的数字)

然后保存即可。

这种方法是利用了NTFS系统的软链接以及Win10m的pbk文件夹权限问题,应该算是漏洞,但以微软的习性应该会当作Feature不会修复。顺便提一下相关BugFeature:

  1. 如果经过上述步骤配置后仍有问题,可能是你某些步骤没有重启。解决方法是重启,删除所有VPN配置,删不掉的话重启后再尝试删除,直到全部删除,然后重启并重新开始配置。喜欢就买,不行就分,多喝点水,重启试试
  2. 从移动数据网络切换到WiFi网络时,IKEv2 VPN会自动重连;然而如果从WiFi切换到移动数据时VPN不会自动重连。
  3. 接上条,此时VPN配置页里显示未连接状态,实际上VPN并未挂断,如果切换回WiFi网络会自动重连。
  4. 接上条,如果不切换回去而是直接再连接VPN会失败,提示809错误。解决方法是重启。
  5. Win10m里,如果软链接指向的文件夹不存在,不会有出错提示,而是显示空文件夹,所以要尤其注意软链接路径是否正确。
  6. Win10m里,点开指向C盘的软链接只能看到当前文件夹里的文件和文件夹,看不到次级文件夹里的内容。这可能是某种安全设置,但不会报错。

参考资料

  1. The problem about VPN(IKEv2) with Win10 Mobile
  2. How to make VPN work in W10M
  3. 修复Win10Mobile的VPN问题(IKEv2),不用解锁,纯手机端操作,全机型

发表评论

您的电子邮箱地址不会被公开。