问题描述
我试图让 OpenVPN 在启动时自动启动。今天我必须手动输入
sudo openvpn --client --config $HOME/openvpn/anonine.ovpn --ca $HOME/openvpn/anonine.ca.crt
其次是用户名和密码。有没有一种好方法可以在启动时自动执行此操作?
最佳答案
编辑 /etc/default/openvpn
。只需按键盘上的 Ctrl
+ Alt
+ T
即可打开终端。打开后,运行以下命令:
sudo gedit /etc/default/openvpn
取消注释 AUTOSTART="all"
行。保存并关闭。重新启动系统。
次佳答案
如果您在 systemd (16.04) 上,配置了 AUTOSTART=”all” 并且它仍然没有开始注意这一点:
> # If you're running systemd, changing this variable will
> # require running "systemctl daemon-reload" followed by
> # a restart of the openvpn service (if you removed entries
> # you may have to stop those manually)
做一个
systemctl daemon-reload
然后重启服务
sudo service openvpn restart
第三种答案
您可以将 auth-user-pass filename
放入您的 anonine.ovpn
中,其中 filename
是包含 2 行用户名/密码的文件。
确保 filename
得到适当保护,因为它将包含普通的用户名/密码。
这是来自 openvpn --help
:
Client options (when connecting to a multi-client server):
--auth-user-pass [up] : Authenticate with server using username/password.
up is a file containing username/password on 2 lines,
or omit to prompt from console.
您还可以将您的证书添加到您的 anonine.ovpn
中,这样添加它:
<ca> -----BEGIN CERTIFICATE----- -----END CERTIFICATE----- </ca>
第四种答案
如果连接时不需要用户名/密码,则将 .ovpn 文件重命名为具有 .conf 的扩展名。
OpenVPN 应该在启动时连接,即使没有 autostart=all。
如果需要用户名/密码,
编辑 .conf 文件
编辑 auth-user-pass user-password-filename
创建一个包含以下内容的文件:
username
password
如果要连接网络管理器,请确保首先执行以下操作:
sudo apt-get install network-manager-openvpn
确保您的 Ubuntu 至少为 14.04。这不适用于 12.04。
如果您没有 ca.crt、client.crt 等,请从 .conf 中提取它们。
使用网络管理器,创建一个新的 VPN 连接或导入您的配置文件。
添加证书和 ta.key。
路由,仅将连接用于其网络上的资源。
使用网络管理器编辑您的 Internet 连接。选择使用 VPN 连接,然后选择您的 VPN 连接。