在 Ubuntu 启动时连接 OpenVPN 客户端

在 Ubuntu 启动时连接 OpenVPN 客户端

我想在启动时连接 OpenVPN。

我已添加sudo openvpn /file.ovpncrontab,但它在启动时无法连接。

正确的程序是怎样的?

答案1

我已经添加sudo openvpn /file.ovpn到 crontab,但它在启动时不会连接。

作为管理员,您通常使用 cron 来安排重复的作业,而不是运行需要启动的守护程序和服务。

此外,当您拥有管理员权限时,您不会在 cron 作业中使用,而是在配置文件的字段sudo中设置正确的用户。<user>/etc/crontab/etc/cron.d/job.spec

正确的程序是怎样的?

阅读手册:https://openvpn.net/index.php/open-source/documentation/howto.html#startup

Linux
如果您在 Linux 上通过 RPM 或 DEB 包安装 OpenVPN,安装程序将设置一个启动脚本。执行时,启动脚本将扫描.conf中的配置文件/etc/openvpn,如果找到,将为每个文件启动一个单独的 OpenVPN 守护程序。

因此,只需将您的配置文件复制到/etc/openvpn/connection-name.conf


我最近必须在 Ubuntu 16.04 LTS 服务器上设置 OpenVPN,这个过程稍微复杂一些,因为使用 systemd 时,不再使用 init 脚本,而是模板化使用 systemd 单元文件。

  1. 仍然将您的配置文件复制到/etc/openvpn/connection-name.conf
  2. 测试 OpenVPN 连接是否以“connection-name”开头
    systemctl start openvpn@connection-name
  3. 使用以下方式确认链接是否建立:
    ip addr listand ip route list
    systemctl status openvpn@connection-nameand/or
    journalctl --identifier ovpn-connection-name and/or
  4. 确保服务在重启后仍然存在:
    systemctl enable openvpn@connection-name

答案2

/etc/init.d我会按照描述添加一个 .sh在此 Unix 和 Linux stackexchange 页面上或者配置服务控制器

或者@reboot在 crontab 中使用。

顺便说一句,你应该添加你在 crontab 中所写的内容,以便我们了解哪里出了问题。

答案3

对于这个特定的应用程序来说,使用@rebootincrontab不起作用。

我创建了一个/etc/rc.local, chmod u+x /etc/rc.local

/etc/rc.local这是文件的内容

openvpn ~/file.ovpn

重启服务器后,连接成功。

相关内容