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

时间:2015-06-21 06:42:17

标签: 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

1 个答案:

答案 0 :(得分:1)

来自Apple:

  

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

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