我已经安装了 OpenVPN,现在防火墙 (ufw) 正在阻止连接到它的客户端的流量。我确信我的 OpenVPN 设置正确,因为当我禁用防火墙时,我可以从我的本地网络访问 IP 以及通过我的本地网络提供的互联网。
这个设置正是我想要的。而且我相信,如果我告诉防火墙来自该tun0
接口(由 OpenVPN 创建)的所有流量都是绝对可信的,那么它就是绝对安全的(请随时纠正我)。
但是我找不到适合我的 ufw 的正确规则,因此它允许所有流量通过。无论我如何设置,防火墙都会阻止流量。
什么是正确的规则来告诉 ufw 某个特定的接口是完全受信任的?(只要它来自或去往该接口,对 IP 和/或端口没有限制)
[更新]
这些是我添加的规则。出于某种原因,当我连接到 VPN 时,我的请求仍然被阻止。例如,当我尝试打开本地网页时http://192.168.1.10。只要我关闭 ufw,它就可以正常工作。
$ sudo ufw allow in on tun0
$ sudo ufw allow out on tun0
[更新]
如果有帮助的话,下面是我 ufw 规则的完整列表:
$ sudo ufw numbered
Status: active
To Action From
-- ------ ----
5900/tcp ALLOW Anywhere
22/tcp ALLOW Anywhere
443 ALLOW Anywhere
Anywhere on tun0 ALLOW Anywhere
5900/tcp (v6) ALLOW Anywhere (v6)
22/tcp (v6) ALLOW Anywhere (v6)
443 (v6) ALLOW Anywhere (v6)
Anywhere (v6) on tun0 ALLOW Anywhere (v6)
5900/tcp ALLOW OUT Anywhere
22/tcp ALLOW OUT Anywhere
Anywhere ALLOW OUT Anywhere on tun0
5900/tcp (v6) ALLOW OUT Anywhere (v6)
22/tcp (v6) ALLOW OUT Anywhere (v6)
Anywhere (v6) ALLOW OUT Anywhere (v6) on tun0
答案1
我不熟悉 OpenVPN 如何设置tun0界面,但我遇到了类似的配置的相同问题(phantun ontun0)。
简而言之,我怀疑你需要的是ufw route
规则。tun0充当“独立机器”(根据 phantun 文档),因此从 UFW 的角度来看,与它之间的连接不是入站或出站,而是转发的连接。
例如,如果您的主网络接口是eth0,那么诸如ufw route allow in on eth0 out on tun0
和之类的规则ufw route allow in on tun0 out on eht0
应该会有所帮助。
OpenVPN 的情况可能有所不同,因此这些可能不适合您。此外,出于安全原因,您可能希望缩小这些规则的范围。