通过VPN连接Swift发送所有流量

Cal*_*n54 20 ios swift

我正在创建一个连接到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
Run Code Online (Sandbox Code Playgroud)

Cri*_*pto 1

来自苹果:

这是默认的路由方法。IP 路由由数据包隧道提供商扩展在 VPN 隧道完全建立时指定。有关更多详细信息,请参阅 NETunnelProvider。

这通常是从服务器端指定的,l2tp 确实允许用户切换此设置。为此,请查看NETunnelProviderroutingMethod的一部分。向下滚动到您要查找的信息部分。Routing Network Data to the VPN