我已经用过这些指示设置 VPN 服务。但是,服务没有启动。执行后
sudo service openvpn start
什么都没发生。它没有显示任何错误,只是返回正常提示。如果我用浏览器检查我的 IP,我仍然可以看到我的原始 IP。我还尝试了配置文件的不同后缀,如*.ovpn
和*.conf
。
直接从 CLI 使用 openvpn,例如,
sudo openvpn --config /etc/openvpn/us1.ovpn --auth-user-pass /path/to/password.file
确实有效,但我还想将其作为服务启动。
我错过了什么?
我使用的配置文件是:
client
dev tun1
proto tcp
remote 198.7.62.204 443
remote us1.vpnbook.com 443
resolv-retry infinite
nobind
persist-key
persist-tun
auth-user-pass
comp-lzo
verb 3
cipher AES-128-CBC
fast-io
pull
route-delay 2
redirect-gateway
<certificate info> ...
答案1
哪个版本的 Ubuntu 伙伴?如果是 15.10 或更高版本 (IIRC),那么它是一个基于 systemd 的发行版,您需要进行适当的配置。
以下是如何做到这一点的详细信息askubuntu 问题 。请注意,我编辑了该答案,但没有该网站的编辑权限,因此旧版本可能位于该网址。您需要修改它才能使用您的 conf 文件。
使用 15.10 和 systemd,服务的工作方式略有不同。首先,您需要在 /usr/lib/systemd/system/openvpn@service 创建一个 systemd 单元文件,并将以下内容粘贴到其中:
[Unit]
Description=OpenVPN Robust And Highly Flexible Tunneling Application On %I
After=syslog.target network.target
[Service]
PrivateTmp=true
Type=forking
PIDFile=/var/run/openvpn/%i.pid
ExecStart=/usr/sbin/openvpn --daemon --writepid /var/run/openvpn/%i.pid --cd /etc/openvpn/ --config %i.conf
[Install]
WantedBy=multi-user.target
然后,当您想要启动服务时,只需运行:
系统控制启动[电子邮件保护]如果您想将其添加到系统启动中,您可以使用以下命令将 systemd 配置为在启动期间启动它(在运行级别多用户又名 3 时):
systemctl daemon-reload
sudo systemctl enable [email protected]
您可以通过以下方式随时检查服务状态:
sudo systemctl status [email protected]
或者,无论版本如何,您都可以使用概述的传统方法这里。
或者更简单地将交互工作的命令放入 /etc/rc.local 文件中并使该文件可执行。请记住,在 rc.local 文件中,您必须使用可执行文件(即 openvpn)的完整路径,因为它没有完全填充的 PATH 环境变量。
。