在 iPhone 上如何配置 VPN 由三个条件决定:服务器提供哪种协议、手机是个人管理还是受监管,以及网络变化时会发生什么。原生配置描述文件与服务商应用是两种不同的机制,而不是输入同一地址的两种方式。把二者与这些条件对齐,可以避免大部分在第一次走出办公楼后就失效的配置。

协议是第一道筛选条件;第二道是谁控制设备。

先匹配协议,再进 App Store

iOS 原生支持 IKEv2、L2TP(经 IPsec)以及 Cisco IPsec 配置,每种都有各自的认证选项和描述文件字段。包括 OpenVPN 和 WireGuard 在内的其他协议,则通过使用 Network Extension 框架的应用提供。为一种协议生成的文件无法被选作另一种,这正是能顺利导入的描述文件仍可能连接失败的原因。在选择客户端之前,先确认服务器的协议。

向服务商索取它为 iOS 所期望的确切配置。桌面端说明常常假定手机并不开放的功能,而针对手机导出的配置能消除猜测。

系统级描述文件,还是应用包

原生描述文件安装在系统级,因此在任何应用打开之前连接就可以存在,并且可以由提供描述文件的同一方管理。服务商应用把隧道打包进应用内部,为服务商留出自家界面和功能的空间。在工作手机上,受管理的描述文件可能带有证书和针对特定资源的访问规则,用个人应用替换它并不是等价交换。改动之前先询问管理员。

在个人手机上,批准描述文件之前先核对来源。完整导出和二维码可能包含凭据或受信任根证书,因此要把它们当作机密,不要留在截图和聊天记录里。

On Demand 究竟承诺了什么

On Demand 可以在 Apple 定义的条件下拉起连接,而受监管的 Always On 模式具有个人设备拿不到的更严格行为。不应假定消费级应用的自动连接标签能提供其中任何一种。实际问题在于:隧道可用之前会发生什么、手动断开之后会发生什么,以及手机重启时会发生什么。自动重连与阻断隧道之外的流量是两项独立的承诺。

覆盖范围是第三个问题:配置可以承载全部互联网流量、一组私有目标,或只承载受管理的应用。

测试切换与吊销

先通过正常的 iOS 提示完成 Wi-Fi 门户登录,因为强制门户不会让隧道建立起来。然后测试你实际会遇到的切换:从 Wi-Fi 到蜂窝网络、从蜂窝网络切回 Wi-Fi,以及连接闲置时锁屏。记录隧道是否恢复、应用是否随之恢复。协议名称并不保证切换期间通话不中断。

已保存的区域、被允许的设备位置以及持续的账户登录,都不是对公网出口的测量。在相关时测试目标应用和两种地址族,并使用能报告实际结果的检查。

手机丢失时,确认描述文件的来源和吊销流程。删除本地应用并不一定撤销它的远程授权。

相关文章