Ubuntu 16.04自动启动VPN
我有一个守护进程从我自己的自托管vpn开始,运行良好:
sudo openvpn --config /home/philip/open_vpn/client1.ovpn
现在,我改为付费VPN服务,但上述工作,但每次都需要我手动输入我的凭据。 这意味着我的自动启动中断。
看看网络管理器的GUI,似乎我可以让任何单个网络自动连接到VPN,但未知网络是我使用vpn的最重要时刻。
如何在不输入我的电子邮件和密码的情况下让auto-vpn正常工作?
以下是我如何使用它。 在我的所有vpn ovpn文件的文件夹中,我创建了一个名为auth.txt
的文件。 其中包含以下内容, 替代我的实际凭据 :
Username Password
然后我打开了我想要使用的ovpn文件,并找到了使用auth-user-pass
我修改它看起来像这样, 用auth.txt文件的完整路径替换路径 :
auth-user-pass /home/philip/open_vpn/auth.txt
然后我创建了一个名为start_vpn.sh
的bash脚本,它看起来像:
#!/usr/bin/env bash sudo openvpn --config /home/philip/open_vpn/nord/ca24.nordvpn.com.udp1194.ovpn
然后我在/etc/systemd/system/start-openvpn.service
创建一个systemd启动脚本,它看起来像:
[Service] ExecStart=/home/philip/open_vpn/start_vpn.sh [Install] WantedBy=default.target
然后我启用systemd作业:
systemctl enable start-openvpn.service
奖金:
如果您有像我这样的100个ovpn文件,您可能需要立即更新所有这些文件中的行。 这是我在我的ovpn文件的文件夹中使用的sed
命令, 您将需要更新以反映您的系统 :
sed -i *nordvpn* -e 's/auth-user-pass/auth-user-pass \/home\/philip\/open_vpn\/auth.txt/g'
首先,您编辑文件vim /etc/default/openvpn
并取消注释AUTOSTART="all"
行。 保存并重新启动系统。
您可以阅读更多链接: 在启动时自动启动Openvpn客户端