【问题标题】:Need create VPN connect L2TP on osx需要在 osx 上创建 VPN 连接 L2TP
【发布时间】:2018-07-11 21:06:40
【问题描述】:

需要在没有共享密钥的 osx 上创建 VPN 连接 L2TP

NSString *server = @"serverIP";
        NSString *username = @"user";
        NSString *password = @"pass";  
        const void* passwordData = [[password dataUsingEncoding:NSUTF8StringEncoding] bytes];
    [vpnManager loadFromPreferencesWithCompletionHandler:^(NSError *error) {
        if (error) {
              NSLog(@"Load config failed [%@]", error.localizedDescription);
                return;
            }

    NEVPNProtocol *p = (NEVPNProtocol *)vpnManager.protocolConfiguration;

    if (!p) {
        p = [[NEVPNProtocol alloc] init];
    }
    p.username = username;
    p.serverAddress = server;
    p.passwordReference = (__bridge NSData * _Nullable)(passwordData);
    p.disconnectOnSleep = NO;

    vpnManager.protocolConfiguration = p;
    vpnManager.localizedDescription = @"L2TPOverIPSec";
    vpnManager.enabled = YES;

    [vpnManager saveToPreferencesWithCompletionHandler:^(NSError *error) {
        if (error) {
            NSLog(@"Save config failed [%@]", error.localizedDescription);
        }
    }];

}];

NEVPNConnection *connect = [vpnManager connection];
NSError *error1;
if ([connect startVPNTunnelAndReturnError:  &error1]) {
    NSLog(@"connect");
} else {
    NSLog(@"not connect");
}

构建后我收到此错误Missing protocol or protocol has invalid type,并且其他 2 个协议使用 IKE 隧道,你有什么建议给我吗?其他选项是从代码运行终端并添加此字符串 networksetup -connectpppoeservice VPNConnect 但我不知道是否可能

【问题讨论】:

    标签: objective-c macos vpn l2tp


    【解决方案1】:

    我知道这是个老问题,但我在这里要注意的是,网络扩展框架(NEVPNProtocol 的来源)不能继续使用 OSI 2 级协议,即 L2TP。 (https://forums.developer.apple.com/thread/29909)

    现在看来(从 iOS 8 和 os x 10.10 开始)Apple 设备上的推荐方式是使用内置协议,或者在 L3 / L4 上实现自己的协议:https://developer.apple.com/documentation/networkextension

    (因此没有使用 L2TP 的公共 API)

    【讨论】:

      【解决方案2】:

      不,您需要使用 SCNetwork 和 Helper Tool(获取 root 访问权限)通过此链接,您将能够创建 L2TP 协议并与之连接。

      即使在最新版本的 MacOS 11 "Big Sure" 上也可以使用

      【讨论】:

        猜你喜欢
        • 2021-09-12
        • 2019-02-03
        • 2022-11-13
        • 2015-05-02
        • 2018-11-22
        • 2018-10-05
        • 2019-03-31
        • 2019-02-01
        • 2018-04-27
        相关资源
        最近更新 更多