仅通过 VPN 连接

Pet*_*ter 11 vpn

Ubuntu加载时如何默认通过VPN创建连接?如果 VPN 连接未建立或断开连接,我也不需要访问 Internet。

简而言之,我只需要通过 VPN 连接到 Internet。

Vnd*_*tta 3

这就是我现在所拥有的,稍后我将制作一个脚本,使所有这些在启动时自动进行,但同时我希望它对您有用。

我假设您正在使用 OpenVPN,如果您没有使用 OpenVPN,那么您必须了解这个想法,然后将其转换为您的 VPN 程序。

首先,您需要转到 /etc/openvpn 并创建一个名为 VPNconfig 的文件,其中包含两行(包含您的实际值)

VPN_User
VPN_Password
Run Code Online (Sandbox Code Playgroud)

现在,对于 /etc/openvpn 中的所有 .ovpn 文件,您应该替换

auth-user-pass
Run Code Online (Sandbox Code Playgroud)

auth-user-pass VPNconfig.txt VPNconfig.txt
Run Code Online (Sandbox Code Playgroud)

这将确保您不必每次登录时都写入用户名和密码(这也是高度不安全的,因此请注意您的 VPN 使用的密码,确保它不是您用于其他所有内容的密码)

现在我将在 /root/.bashrc 中创建一个别名

alias vpn='cd /etc/openvpn/ && openvpn /etc/openvpn/Your_VPN_Ovpn_File.ovpn'
Run Code Online (Sandbox Code Playgroud)

所以当你启动时,你只需打开一个终端并运行

sudo su
vpn
Run Code Online (Sandbox Code Playgroud)

为了确保您的 IP 在 VPN 断开连接时不会被泄露,您应该使用 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
Run Code Online (Sandbox Code Playgroud)

并检查它是否在这里工作

因此,正如 gertvdijk 所说,您需要连接才能访问 VPN,因此顺序是,连接到 VPN,然后执行 ./iptables-vpn,现在您将可以避免 VPN 断开连接,问题是,如果它断开连接,您将必须手动设置执行 ./iptables-novpn ,重置 VPN 连接,然后重新打开 iptables-vpn。

有一种使用 netifaces 的 python 脚本更快的方法,但我仍在使用这个......希望它有帮助!


fre*_*bob 1

默认连接 VPN:

单击系统托盘中的网络管理器图标,然后选择“编辑连接...”。

选择您的默认连接并单击“编辑”按钮。

在常规选项卡中有一个设置“使用此连接时自动连接到 VPN”,选择您的 VPN。

仅通过 VPN 连接到互联网:

这可以使用防火墙来实现,例如使用 UFW(简单防火墙)请参阅UFW for OpenVPN