这就是我现在所拥有的,稍后我将制作一个脚本,使所有这些在启动时自动进行,但同时我希望它对您有用。
我假设您正在使用 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 脚本更快的方法,但我仍在使用这个......希望它有帮助!
默认连接 VPN:
单击系统托盘中的网络管理器图标,然后选择“编辑连接...”。
选择您的默认连接并单击“编辑”按钮。
在常规选项卡中有一个设置“使用此连接时自动连接到 VPN”,选择您的 VPN。
仅通过 VPN 连接到互联网:
这可以使用防火墙来实现,例如使用 UFW(简单防火墙)请参阅UFW for OpenVPN。
| 归档时间: |
|
| 查看次数: |
8989 次 |
| 最近记录: |