在启动时自动启动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
检查您的配置,而不是一直重新启动。