在启动时自动启动OpenVPN客户端

我试图让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"行。 保存并关闭。 重新启动系统。

图片

你可以在你的anonine.ovpn中放置auth-user-pass filename ,其中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 ,这样添加:

  -----BEGIN CERTIFICATE----- -----END CERTIFICATE-----  

如果您使用的是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 

如果连接不需要用户名/密码,则将.ovpn文件重命名为.conf的扩展名。

即使没有autostart = all,OpenVPN也应该在启动时连接。

如果需要用户名/密码,

编辑.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连接或导入您的conf。

添加证书和ta.key。

路由,仅使用其网络上的资源连接。

使用网络管理器编辑Internet连接。 选择与VPN连接 ,然后选择您的VPN连接。

虽然它可能对OP不感兴趣,但我对此服务感到沮丧,直到登录才开始 – 无论是图形还是Ctrl + Alt + F#TTY之一。 我最终意识到我的机器只有在我登录时才能连接到wifi。将这里的其他答案与标准建议结合起来运行sudo update-rc.d openvpn defaults ,并且在这个问题的第一个答案对我有用。 也许这可能有助于另一位Google员工。

对我来说

auth-user-pass filename

不工作

使用

askpass /etc/openvpn/filename

并且只在顶部有密码

它工作,现在openvpn启动时启动

用于检查openvpn是否正常工作的命令:

systemctl status openvpn@"your vpn user name"

wget -qO- http://ipecho.net/plain ; echo

检查您的IP(它必须与您的路由器的外部IP不同)

sudo service openvpn stop

sudo service openvpn start

检查您的配置,而不是一直重新启动。