搜索了一段时间后,我发现在mac中以编程方式建立vpn连接的唯一最佳来源是
http://lists.apple.com/archives/Macnetworkprog/2011/May/msg00032.html
但是我在第5点发现了关于kSCNetworkProtocolTypePPP的编码并且没有这样的东西......
有人这样做,如上面的链接所示 或者是否还有其他来源......?
答案 0 :(得分:2)
但是我在第5点发现了关于kSCNetworkProtocolTypePPP的编码并且没有这样的东西......
无需获取PPP协议,您可以将设置直接应用于您创建的界面。如果你创建了这样的界面:
interface = SCNetworkInterfaceCreateWithInterface(bottomInterface, kSCNetworkInterfaceTypePPP);
您可以使用以下方式直接应用PPP选项:
SCNetworkInterfaceSetConfiguration(interface, myOptions)
您必须使用
应用共享密钥SCNetworkInterfaceSetExtendedConfiguration(interface, CFSTR("IPSec"), myOptions)
如果要启用“通过VPN发送所有流量”,则需要先通过提取IPv4协议来应用这些设置:
SCNetworkProtocolRef protocol = SCNetworkServiceCopyProtocol(service, kSCNetworkProtocolTypeIPv4);
SCNetworkProtocolSetConfiguration(protocol, myOptions)
此答案中提到的源代码是从https://github.com/halo/macosvpn/blob/master/macosvpn/Classes/VPNController.m中提取的,您可以在其中找到它。