UFW 和 VPN:如何允许重新连接

UFW 和 VPN:如何允许重新连接

这是我的防火墙规则:

deny outgoing
deny incoming
allow out from any to any on tun0 (alow just the traffic from the VPN)

但是,当我想从 gnome-network 管理器启动 vpn 连接时,我被迫禁用 ufw。然而,我尝试了类似以下操作:

allow out from any to any on wlan0 port 1194

但它不起作用。

有什么建议 ?

解决方案 :

以下几行可让您阻止所有传出的非 VPN 流量。换句话说,只允许 VPN 流量。此外,如果您的 VPN 连接失败,您将能够重新连接而无需禁用防火墙。

1-在终端中运行以下命令:

sudo tail -f /var/log/ufw.log

2 - 尝试连接到您的 VPN

3 - 查看所有带有 IP 地址的“[UFW BLOCK]”行 在我的例子中,我有两个带有 DST= 的 IP 地址.240 和 DST=".241.

然后我得到的 VPN 提供的 IP 也被阻止了。

3-在防火墙中允许这些IP:

To                         Action      From
--                         ------      ----
***.**.**.240              ALLOW OUT   Anywhere
***.**.**.241              ALLOW OUT   Anywhere
**.***.0.0/18  (VPN)            ALLOW OUT   Anywhere
Anywhere                   ALLOW OUT   Anywhere on tun0
22/tcp                     ALLOW OUT   Anywhere
Anywhere (v6)              ALLOW OUT   Anywhere (v6) on tun0
22/tcp (v6)                ALLOW OUT   Anywhere (v6)

答案1

根据port 1194我猜测你使用 OpenVPN。OpenVpn 文档中的 FAQ 建议遵循

我需要在防火墙中为 Access Server 打开哪些端口?

简短回答:TCP 443、TCP 943、UDP 1194 详细回答:默认情况下,OpenVPN Access Server 运行 2 个 OpenVPN 守护程序。其中一个在 UDP 端口 1194 上,另一个在 TCP 443 上。我们建议您使用 UDP 端口,因为这对于 OpenVPN 隧道来说功能更好。但是,许多公共场所会阻止各种端口,除了非常常见的端口,如 http、https、ftp、pop3 等。因此,我们也有 TCP 443 作为选项。TCP 端口 443 是 https:// (SSL) 流量的默认端口,因此通常允许在用户位置通过。TCP 端口 943 是 Web 服务器接口默认监听的端口。您可以使用以下 URL 直接访问它: https://此处您的服务器主机名:943/或者通过标准 https:// 端口 TCP 443 来访问,因为 OpenVPN 守护进程默认会自动在内部将浏览器流量路由到 TCP 943。(https://此处为你的服务器主机名/)。

但我的建议,从战场上来看,是允许所有来自 vpn 服务器 ip 地址的流量

sudo ufw allow from ip_address_of_vpn_server

不要指定 proto,因为 OpenVPN 同时使用,tcp并且udp

编辑1

您还可以创建脚本来在tun0发生故障时自动重新连接down

向 caled 添加一个简单的脚本,tun-up其中/etc/network/if-down.d/的内容是

#!/bin/sh
# filename: tun-up

if [ "$IFACE" = tun0 ]; then
  sudo ifup tun0
fi

使其可执行

sudo chmod +x /etc/network/if-up.d/tun-up

编辑2

好的,我们允许了错误的地址。首先我们需要捕获正确的 IP 地址以允许流量。

启动terminal并运行命令

tail -f /var/log/system | grep UFW

然后尝试连接到 vpn 服务器。在终端中,你会看到 block off

May 25 08:18:22 xxx kernel: [259789.025019] [UFW BLOCK] IN=eth0 OUT= MAC=01:00:5e:00:00:01:00:23:cd:f4:8c:29:08:00 SRC=XXX.XXX.XXX.XXX 

在 block find 中SRC=XXX.XXX.XXX.XXX,这是向您发送流量的地址,在大多数情况下,这将是 vpn 服务器的公共 ip 地址。

此IP地址必须先添加ufw规则,因为在启用之前您必须与此地址进行通话和交换流量tun0

规则是

sudo ufw insert 1 allow from XXX.XXX.XXX.XXX

相关内容