【问题标题】:Initiating a VPN Connection Programatically on Linux via Java, or Shell Script通过 Java 或 Shell 脚本在 Linux 上以编程方式启动 VPN 连接
【发布时间】:2013-01-20 08:18:34
【问题描述】:

我有一个需要调用 URL 的 Java 程序,该 URL 只有在建立 VPN 连接(到远程 VPN 主机)后才能访问。该程序在 Linux 机器上运行。

因此,我需要能够根据需要启动/停止 VPN 连接(基本上我不需要 24 小时)。

最好的方法是什么:

  1. 我可以在 Java 中以编程方式创建 VPN 连接吗?有可能吗?
  2. 我能否在 Linux 机器上安装 VPN 客户端软件,然后通过 shell 脚本(我将通过 Java 调用),在需要时启动/停止 VPN 客户端连接。这是可行的还是更好的解决方案?

【问题讨论】:

    标签: java linux vpn


    【解决方案1】:

    是的,您可以通过运行适当的管理命令从程序(无论哪种编程语言)启动 VPN 连接。确切的管理命令是特定于分发甚至安装的。

    通常,VPN 连接(由OpenVPN 提供)将由(shell)命令/etc/init.d/openvpn start vpnname 或包装脚本启动(RedHat 衍生产品有,其他发行版可能没有)。该命令必须以root 执行,因此您还需要为其添加前缀sudo 并配置sudo,以便运行应用程序的用户可以运行该命令。

    由于该命令特定于安装,因此您需要使其可配置(并可能提供适合您使用的发行版的默认配置)。

    还有其他相互不兼容的 VPN 实现。每个都有不同的命令来启动它,但是每个都有这样的命令,所以实现应该能够在适当的配置下启动它们中的任何一个。

    请注意,VPN 通常可能需要密码才能启动。如果是这样,则必须将密码保存在客户端上,或者您还需要为用户提供输入密码的方法。它的传递方式又是 VPN、分发和可能的安装特定的。

    【讨论】:

      猜你喜欢
      • 2015-11-09
      • 2015-10-21
      • 1970-01-01
      • 2016-12-26
      • 2012-06-05
      • 2014-05-19
      • 1970-01-01
      • 2010-10-26
      • 2011-10-27
      相关资源
      最近更新 更多