jl3*_*354 7 vpn networking ufw gufw openvpn
尝试设置 gufw,以便在我的 vpn 连接断开时,我的计算机将无法再访问互联网。
我的计划是阻止所有传出,但只允许连接到我的 vpn 服务器的 IP,但是我发现在实施防火墙时,即使 vpn 已连接,我也无法加载站点。
以上是我目前正在尝试的设置(部分隐藏的 IP 是我的 vpn 服务器),我做错了什么?
小智 3
您只需使用 ufw GUI 即可做到这一点:
eth0
是您的公共接口,tun0
是 VPN 创建的接口,xxx.xxx.68.138
您的 VPN IP:
Policy=Allow
, Direction=Out
,的规则Interface=eth0
的To=xxx.xxx.68.138
Policy=Allow
允许所有内容通过 VPN 接口:添加带有、Direction=Out
和Interface=tun0
的规则To=0.0.0.0/0
就这样!
您几乎做到了,只是忘记允许传出流量通过 VPN,因为全局拒绝传出流量适用于所有接口,包括 VPN 创建的接口。
顺便说一句,我建议您全局拒绝传入流量,这将防止邪恶的人或在您的网络上运行的机器人通过利用正在运行的网络服务的错误或错误配置来侵入您的计算机(默认情况下,Ubuntu 运行一些网络服务侦听所有接口,而不仅仅是本地接口)。
尝试这样的事情
您希望ufw
根据interface
状态更改规则。
进行此类活动的好地方是/etc/network/if-down.d/
和/etc/network/if-up.d/
您可以在此文件夹中放置一些脚本并执行操作。例如,放入此脚本以在每次停机时/etc/network/if-down.d/
更改规则。ufw
tun0
使脚本script
以执行权限调用755
sudo nano /etc/network/if-down.d/script
Run Code Online (Sandbox Code Playgroud)
脚本是
# Check interface
[ "$IFACE" != "tun0" ] || exit 0
# Do something
sudo ufw default deny outgoing
sudo ufw allow out to xxx.xxx.xxx.xxx
Run Code Online (Sandbox Code Playgroud)
更改脚本的权限
chmod 755 /etc/network/if-down.d/script
Run Code Online (Sandbox Code Playgroud)
代表你服务器script
xxx.xxx.xxx.xxx
的ipvpn
当vpn
重新连接时,您需要再次更改ufw
规则。再制作一个脚本script2
sudo nano /etc/network/if-up.d/script2
Run Code Online (Sandbox Code Playgroud)
脚本是这样的
# Check interface
[ "$IFACE" != "tun0" ] || exit 0
# Do something
sudo ufw default allow outgoing
#also you can add more ufw rules ...
sudo ufw ....
Run Code Online (Sandbox Code Playgroud)
更改脚本的权限
chmod 755 /etc/network/if-up.d/script2
Run Code Online (Sandbox Code Playgroud)
第一个脚本如果tun0
关闭,将使默认的传出警察拒绝,但允许访问vpn
服务器。第二个脚本将默认的外出警察更改为allow