【问题标题】:How to programatically create a VPN connection on Mac OS X?如何在 Mac OS X 上以编程方式创建 VPN 连接?
【发布时间】:2011-03-16 17:14:31
【问题描述】:

我有一个完整描述如何连接到 VPN 的配置文件。我想编写一个工具(C 或 Objective-C)来读取文件,然后在系统上创建一个新的 VPN 接口。 我猜答案将与 SCNetworkServiceCreate 和/或 SCNetworkInterfaceCreateWithInterface 有关。这两个都想绑定到另一个接口。让我感到困惑的是,理论上,VPN 连接应该在任何 IP 接口之上,所以我不知道该为基本接口使用什么。 任何帮助或指示将不胜感激。

【问题讨论】:

标签: macos


【解决方案1】:

为了完整起见回答这个问题。

所以,答案没有很好的记录。但是,对于您想要在当前连接的 IPv4 接口 kSCNetworkInterfaceIPv4 之上使用的任何协议,都有一个神奇的常量接口定义。

因此,用于创建新 VPN 的代码会在该接口之上构建 VPN 堆栈。

【讨论】:

    【解决方案2】:

    macosvpn 是一个在 GitHub 上用 Objective-C 编写的命令行工具,它允许您“以编程方式创建 Mac OS VPN”。例如。要添加 L2TP over IPSec VPN 服务,您可以这样做:

    sudo macosvpn create --l2tp Atlantic --endpoint atlantic.example.com --username Alice --password p4ssw0rd --shared-secret s3same
    

    将配置文件参数读入命令的标志参数应该很简单。

    截至今天,macosvpn 可通过 Homebrew 获得:brew install macosvp。 Xcode 是构建要求。

    【讨论】:

      猜你喜欢
      • 2015-03-22
      • 2015-05-02
      • 2010-09-24
      • 2011-12-04
      • 2015-05-03
      • 2011-10-24
      • 2013-04-25
      • 2010-09-16
      • 2018-11-03
      相关资源
      最近更新 更多