isOnDemandEnabled
上
NEVPNManager
并制定了与任何事物相匹配的规则。
var vpnManager : NEVPNManager
var protcol: NEVPNProtocol
let ikev2 = NEVPNProtocolIKEv2()
ikev2.useExtendedAuthentication = true
...
protcol = ikev2
protcol.disconnectOnSleep = false
let connectRule = NEOnDemandRuleConnect()
connectRule.interfaceTypeMatch = .any
vpnManager.onDemandRules = [connectRule]
vpnManager.isOnDemandEnabled = true
这意味着任何访问internet的尝试都应该符合此规则,并且只能通过VPN。(这是我对它的理解,我希望是对的)。
VPN术语中的Killswitch是一种功能,一旦VPN变得不可用,它就会停止所有进出设备的internet流量。这是为了在VPN隧道无法访问时防止任何泄漏。这可以像监视当前IP地址是否波动一样简单,以此作为触发条件。
我不知道的是,iOS 10.3+是否已经在后台完成了这项工作,只要
OnDemand
或者,这只是一种在VPN断开后立即重新连接到VPN的方法,但在没有VPN的情况下,流量仍可能泄漏到现有4G?
我还找不到关于这个的任何信息。有什么建议吗?