【问题标题】:linux setup pptp vpn programmaticallylinux以编程方式设置pptp vpn
【发布时间】:2013-02-28 13:34:16
【问题描述】:

我想在 Linux 下用 C 代码设置 PPTP VPN 连接。然后监控它的状态,当它离线时,我想重新连接它。但我还没有找到任何用于执行此操作的 api。是否有任何 api 或库来实现这一点?还是有其他替代方法?

【问题讨论】:

  • 如果您安装了正确的库,我相信您应该能够使用 network-manager-pptp 插件对 network-manager 进行 dbus 调用来做到这一点。否则,您将不得不手动完成并在您的 C 代码中自己执行正确的守护进程。
  • 我就是这么想的。但我不知道如何确定设置连接时创建的虚拟设备。我还有其他 pppoe 连接,它也创建了类似 ppp+ 的设备。

标签: linux vpn


【解决方案1】:

我使用以下 shell 命令在我的代码中设置 pptp vpn。

pppd pty "pptp <vpn-host> --nolaunchpppd" user <vpn-user> password <vpn-password> lock noauth nobsdcomp nodeflate nodetach

最后一个选项告诉 pppd 不要作为守护进程运行。然后我可以通过杀死pppd的具体进程来断开vpn。

读取 pppd 标准输出流,可以获得更多关于 vpn 连接的信息,比如虚拟设备、本地 IP、远程 IP 等等。

【讨论】:

    猜你喜欢
    • 2012-11-22
    • 2015-06-28
    • 2015-03-22
    • 2013-12-23
    • 2015-05-15
    • 2016-09-19
    • 2018-11-03
    • 1970-01-01
    • 2012-06-05
    相关资源
    最近更新 更多