我正在创建一个连接到VPN服务器的应用程序。我已经弄清楚如何做到这一点,但需要能够通过连接发送所有流量。有没有可以做到这一点的代码?到目前为止,我已经尝试过:
let manager: NEVPNManager = NEVPNManager.sharedManager()
var p = NEVPNProtocolIPSec()
manager.`protocol` = p
let pw = ""
p.username = ""
p.passwordReference = pw.dataUsingEncoding(NSUTF8StringEncoding)
p.serverAddress = ""
p.authenticationMethod = NEVPNIKEAuthenticationMethod.SharedSecret
//p.sharedSecretReference = getPasscodeNSData("vpnSharedSecret")
p.useExtendedAuthentication = true
p.disconnectOnSleep = false
答案 0 :(得分:1)
来自Apple:
这是默认路由方法。 IP路由由。指定 VPN隧道所在的数据包隧道提供程序扩展 完全成立。有关详细信息,请参阅NETunnelProvider。
这通常是从服务器端指定的,l2tp允许用户切换此设置。为此,请查看NETunnelProvider的routingMethod
部分。向下滚动到Routing Network Data to the VPN
部分,查找您要查找的信息。