据我了解,VPN 终止开关会修改路由以确保所有流量都必须通过 VPN 的隧道接口发送,否则互联网访问会受到限制。在桌面应用程序上,如何实现这一点似乎很明显,因为提供此类服务的应用程序无论如何都具有管理员权限并且可以修改路由表。
然而,当它进入移动平台时,应用程序没有这些权限,所以我对这样的终止开关如何操作感到困惑。许多 VPN 服务提供商(以 Surfshark 为例)在所有平台(包括 iOS 和 Android)上的应用程序中都支持终止开关。
在 Android 上,在 Android 8.0+ 之前甚至不可能阻止 VPN 连接之外的流量(在 7.0+ 上也可以设置永远在线选项),但这些应用程序支持 Android 5.0+。此外,此设置必须由用户手动打开,这在应用程序中不会发生。
在 iOS 上,似乎任何版本都无法使用终止开关:https : //developer.apple.com/forums/thread/113636。我确实知道自 iOS 6 以来可以配置一个始终开启的设置(如 Android),即使这绝不是一个终止开关,这些应用程序可以启用这些设置吗?
我只是好奇,如果这样的应用程序没有修改路由选项的必要权限,它们如何声称可以通过终止开关来保护此类数据泄漏?在这种情况下,他们是否会使用操作系统功能(例如“始终在线”连接)并将其作为终止开关传递,因为理论上您应该始终保持连接?或者,如果检测到 IP 发生变化,他们是否真的可以在整个设备上禁用互联网?
我希望这是发布此类问题的正确位置,如果有人有任何关于这可能如何工作的详细信息,将不胜感激。