如何在 Ubuntu 加载时默认通过 VPN 创建连接?此外,如果 VPN 连接未建立或断开,我不需要访问互联网。
简而言之,我只需要通过 VPN 连接到互联网。
答案1
这就是我现在所拥有的,过一段时间我会编写一个脚本让这一切在启动时自动完成,但同时我希望它对你有用。
我假设您正在使用 OpenVPN,如果没有,您必须了解它的概念,然后将其转换到您的 VPN 程序中。
首先,您需要进入 /etc/openvpn 并创建一个名为 VPNconfig 的文件,其中包含两行(包含您的真实值)
VPN_User
VPN_Password
现在,你应该将 /etc/openvpn 中的所有 .ovpn 文件替换为
auth-user-pass
和
auth-user-pass VPNconfig.txt VPNconfig.txt
这将确保您不必在每次登录时都输入用户名和密码(这也是非常不安全的,因此请注意您为 VPN 使用的密码,确保它不是您用于其他所有密码的密码)
现在我将在 /root/.bashrc 中创建一个别名
alias vpn='cd /etc/openvpn/ && openvpn /etc/openvpn/Your_VPN_Ovpn_File.ovpn'
因此,当您启动时,只需打开一个终端并运行
sudo su
vpn
为了确保 VPN 断开连接时你的 IP 不会被泄露,你应该使用 iptables 脚本,请按照指定的步骤操作这里,请特别检查第一页底部 windom 的答案。如果您使用 PIA 以外的其他 VPN,则必须修改脚本以获取您的 IP 范围。
该脚本生成第一篇文章中指定的两个文件 iptables-vpn 和 iptables-novpn。
您还希望避免 DNS 泄漏,因为在每个 .ovpn 开头附加
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf
--script-security 2
并检查是否有效这里
正如 gertvdijk 所说,您需要连接才能访问 VPN,因此顺序为,连接到 VPN,然后执行 ./iptables-vpn ,现在您就可以确保 VPN 断开连接,问题是如果断开连接,您将必须手动设置执行 ./iptables-novpn ,重置 VPN 连接,然后重新打开 iptables-vpn。
有一种使用 netifaces 的 python 脚本的更快捷方法,但我仍在使用这个...希望它有帮助!
答案2
默认连接到VPN:
单击系统托盘中的网络管理器图标并选择“编辑连接...”。
选择您的默认连接并单击“编辑”按钮。
在常规选项卡中有一个设置“使用此连接时自动连接到 VPN”,选择您的 VPN。
仅通过 VPN 连接到互联网:
这可以使用防火墙来实现,例如使用 UFW(简单防火墙),请参阅OpenVPN 的 UFW。