如何在 Ubuntu 12.04 CLI 上自动启动 OpenVPN(客户端)?

如何在 Ubuntu 12.04 CLI 上自动启动 OpenVPN(客户端)?

我有一个 *.ovpn 文件,如果我输入以下内容,它可以起作用:sudo openvpn filename.ovpn

现在我想在启动计算机时启动 OpenVPN。如果这很重要的话,它是 Ubuntu 12.04 64 位的无头版本。

我将 filename.ovpn 复制到/etc/openvpn,但它没有启动,即使我运行:service openvpn start

我怎样才能做到这一点?

答案1

如果能有一种非黑客的方式来实现这一点那就太好了,但是现在只能这样做了。

1)在 /etc/init.d/ 中创建文件 myopenvpn

nano /etc/init.d/myopenvpn

2)插入myopenvpn并保存:

# OpenVPN autostart on boot script

start on runlevel [2345]
stop on runlevel [!2345]

respawn

exec /usr/sbin/openvpn --status /var/run/openvpn.client.status 10 --cd /etc/openvpn --config /etc/openvpn/client.conf --syslog openvpn

来源:http://www.hackerway.ch/2012/12/11/how-to-auto-start-openvpn-client-in-debian-6-and-ubuntu-12-04/#comment-79

答案2

  1. Ubuntu 源自 Debian。Debian 有一个关于此内容的手册页:https://wiki.debian.org/OpenVPN#Auto-start

  2. 它们都随 openvpn 软件包一起安装了 README 文件。该文件说明了如何以及在何处放置配置以使自动启动工作,但它提供了旧 init 系统的说明,并且对于带有 systemd 的系统具有误导性。

配置应该放入 /etc/openvpn/文件名会议,而不是 .ovpn。

在新系统上,请使用 systemd 克隆服务。要启用(自动启动)服务,请使用配置 /etc/openvpn/文件名.conf 执行:

systemctl enable [email protected]

然后您可以照常使用新创建的服务。

在旧版 Debian(systemd 之前)上,默认情况下“openvpn”服务会尝试运行它们全部。/etc/default/openvpn 可用于选择默认执行哪些配置。

这同样适用于所有“点对点”、“客户端”和“服务器” openvpn 部署变体。

答案3

你可以通过 SERVICE 来实现这一点systemd。 我们开工吧 !

步骤 1:创建文件vpn 服务将以下内容放入/etc/systemd/系统

[Unit]
Description=<your description>
After=network.target
StartLimitIntervalSec=0

[Service]
Type=simple
Restart=always
RestartSec=1
User=root
ExecStart=openvpn --config <conf file path>

[Install]
WantedBy=multi-user.target

第2步:“创业之事”

systemctl enable vpn

步骤3:重启并检查一下!

相关内容