我正在为企业开发一个解决方案,它将提供 Per App VPN 解决方案。我阅读了有关 Per App VPN 的苹果文档,我的理解是,MDM 服务器对于 Per App VPN 是必须的,它将向管理设备推送配置文件,其中可能包含 VPN 配置和必须通过此 VPN 的应用程序列表.
但是,我还阅读了有关配置文件服务器以及配置文件服务器如何将配置文件发送到设备的信息。与 MDM 相比,配置配置文件服务器相对容易。
那么 MDM 是在 iOS 中实施 Per App VPN 的必要条件吗? 我还想要一种通过我的应用程序禁用 VPN 的方法。如何做到这一点?
需要 MDM 将任何应用程序链接到每应用程序 VPN^。当 MDM 将应用程序推送到设备时,需要为应用程序设置引用 VPNUUID 的属性。
您应该能够通过将“按需”切换为关闭来禁用应用程序中的 VPN。然而,这只会停止正在建立的 VPN 连接,并且不会通过正常的非 VPN 网络将应用程序流量路由回。
如果您确实想这样做,我会说可以让您的应用程序添加/删除每应用程序VPN配置文件以启用和禁用VPN,尽管我怀疑这是可能的。
^ 如果您正在开发自己的 VPN 插件并且仅在开发阶段,则可以使用 NETestAppMapping 将应用程序链接到每应用程序 VPN。
MDM 是实施每应用 VPN 的必备条件。但苹果也有测试每应用 VPN。无需 MDM 即可工作。如上所述:
测试每应用 VPN 如上所述,需要 MDM 服务器来为通过 App Store 分发的 VPN 应用程序配置 Per-App VPN。为了更轻松地测试每应用 VPN,可以在开发过程中使用 NETestAppMapping Info.plist 密钥在没有 MDM 服务器的情况下配置每应用 VPN。