openvpn --config /etc/openvpn/openvpn.conf

openvpn --config /etc/openvpn/openvpn.conf

当我在服务器上启动 openvpn 时:

sudo openvpn /etc/openvpn/server.conf 

它可以运行并且我可以将我的客户端连接到它。

当我用以下命令启动它:

sudo /etc/init.d/openvpn start

正如我所见,它似乎有效:

* Starting virtual private network daemon(s)...
*   Autostarting VPN 'openvpn': missing /etc/openvpn/openvpn.conf file !

但我无法将客户端连接到它。

检查端口显示它在后一种情况下为“关闭”(意思是没有任何东西在那里监听……它没有被防火墙关闭),而在前一种情况下为“打开”。

那么断开连接在哪里? init.d 是否没有按我想象的那样启动?它是否没有加载正确的 conf 文件(但为什么我直接启动服务器时不需要加载 openvpn.conf)?我是否在某个地方遗漏了参数?


编辑:解决方案背后的原因

按照 JeffG 的建议检查 init.d 脚本,结果显示它从以下位置获取了 conf 文件的 $NAME:

NAME=${NAME%%.pid}

然后寻找:

$CONFIG_DIR/$NAME.conf

这使得:NAME=openvpn然后脚本开始寻找openvpn.conf不存在的文件,因为我命名了该文件server.conf(这是 openvpn 网站上的说明中提到的文件命名方式)。只需将该文件复制到 init.d 脚本中并命名为所需的名称(Hyppy 的解决方案)即可解决问题。

答案1

尝试这个:

sudo cp /etc/openvpn/server.conf /etc/openvpn/openvpn.conf

答案2

我对 Raspberi Pi 还很陌生,安装 OpenVPN 后也遇到了同样的问题。当我使用以下 CLI 启动它时,它可以正常工作:

openvpn --config /etc/openvpn/openvpn.conf

但每当我通过“/etct/init.d/openvpn start”或“service openvpn start”启动它时,它似乎都没有读取我的配置文件。启动脚本的这一部分给了我一个提示...

  # autostart VPNs
  if test -z "$2" ; then
    # check if automatic startup is disabled by AUTOSTART=none
    if test "x$AUTOSTART" = "xnone" -o -z "$AUTOSTART" ; then
      log_warning_msg " Autostart disabled."
      exit 0

所以我在 Google 上搜索了如何在 Raspbian 上自动启动守护进程。在我启用 openvpn 自动启动后,它就起作用了。

更新 rc.d openvpn 启用

服务 openvpn 启动

我希望这有帮助 :)

答案3

检查你的 init.d 脚本。确保它用于/etc/openvpn/server.conf配置

相关内容