仅通过 VPN 连接

仅通过 VPN 连接

如何在 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

相关内容