【发布时间】:2015-06-21 06:42:16
【问题描述】:
我正在创建一个连接到 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
【问题讨论】:
-
没有使用
NEVPNManager,但是根据我在配置VPN网络时的记忆,你应该在服务器端这样做。换句话说,当 VPN 连接建立时,根据服务器端规则(VPN 配置),您的本地路由表会被修改。您可以将其设置为仅通过 VPN 路由某些子网,所有流量,...只需我的 $.02 美元,时间很长... -
看起来您正在配置管理器但未启动它。 This answer 似乎有一个工作示例。
-
也许我的回答可以帮到你stackoverflow.com/a/36124092/2858543