我有一个 *.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
答案2
Ubuntu 源自 Debian。Debian 有一个关于此内容的手册页:https://wiki.debian.org/OpenVPN#Auto-start
它们都随 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:重启并检查一下!