如果 VPN 连接断开,则阻止互联网

如果 VPN 连接断开,则阻止互联网

尝试设置 gufw,这样如果我的 vpn 连接断开,我的计算机将无法再访问互联网。

我的计划是阻止所有传出,但只允许连接到我的 vpn 服务器的 IP,但我发现当实施防火墙时,即使连接了 vpn,我也无法加载网站。

Gufw 设置

以上是我目前正在尝试的设置(部分隐藏 IP 是我的 vpn 服务器),我做错了什么?

答案1

您只需使用 ufw GUI 即可完成此操作:

  • 配置 ufw 以全局拒绝传出流量(就像你所做的一样)
  • 添加以下两个规则,假设eth0是您的公共接口、tun0是 VPN 创建的接口以及xxx.xxx.68.138是您的 VPN IP:
    1. 允许通过公共接口连接到 VPN IP:添加一条包含Policy=AllowDirection=OutInterface=eth0的规则To=xxx.xxx.68.138
    2. 允许所有内容通过 VPN 接口:添加一条规则,其中包含Policy=AllowDirection=OutInterface=tun0To=0.0.0.0/0

就这样!

您几乎已经做到了,只是忘记允许通过 VPN 传出流量,因为全局拒绝传出流量适用于所有接口,包括 VPN 创建的接口。

顺便说一句,我建议您全局拒绝传入流量,这将防止在您的网络上运行的恶意人员或机器人利用正在运行的网络服务的错误或错误配置来侵入您的计算机(默认情况下,Ubuntu 运行一些网络服务监听所有接口,而不仅仅是本地接口)。

答案2

尝试这样的事情

您希望ufw根据interface状态更改规则。

进行此类活动的好地方/etc/network/if-down.d//etc/network/if-up.d/

您可以在此文件夹中放置一些脚本并执行操作。例如,将此脚本放入每次关闭时/etc/network/if-down.d/更改规则。ufwtun0

使脚本script以执行权限被调用755

sudo nano /etc/network/if-down.d/script

脚本是

# Check interface
[ "$IFACE" != "tun0" ] || exit 0
# Do something
sudo ufw default deny outgoing
sudo ufw allow out to xxx.xxx.xxx.xxx

更改脚本的权限

chmod 755 /etc/network/if-down.d/script

代表你的服务器script xxx.xxx.xxx.xxx的 IPvpn

重新连接时,vpn您需要再次更改ufw规则。再制作一个脚本,又名script2

sudo nano /etc/network/if-up.d/script2

脚本是这样的

# Check interface
[ "$IFACE" != "tun0" ] || exit 0
# Do something
sudo ufw default allow outgoing
#also you can add more ufw rules ...
sudo ufw ....

更改脚本的权限

chmod 755 /etc/network/if-up.d/script2

如果发生故障,第一个脚本将使tun0默认传出策略拒绝,但将允许访问vpn服务器。第二个脚本将更改默认传出策略为allow

相关内容