UFW 允许规则不起作用?

UFW 允许规则不起作用?

我有一个集群配置,其中一台机器充当网关(称为master),以及几台仅具有私有 IP 地址的机器(将其称为s01s09

我最近安装ufwmaster注意到网关后面的机器不再能够访问外部互联网(wget google.com失败)。

我查看了日志,看到了类似这样的行。

 [609940.531858] [UFW BLOCK] IN=eth1 OUT=eth0 MAC=00:25:90:0c:e0:5b:00:25:90:32:3c:9e:08:00 SRC=192.168.0.178 DST=172.217.6.78 LEN=60 TOS=0x00 PREC=0x00 TTL=63 ID=58107 DF PROTO=TCP SPT=59584 DPT=80 WINDOW=29200 RES=0x00 SYN URGP=0 MARK=0x9 

我将以下规则添加到ufw.

ufw allow from 192.168.0.178
ufw reload

这是状态的输出ufw

Status: active

To                         Action      From
--                         ------      ----
22                         ALLOW       Anywhere
Anywhere                   ALLOW       192.168.0.178
22                         ALLOW       Anywhere (v6)

不幸的是,wget仍然失败,并且我仍然UFW BLOCK在日志中看到更多类似上面的行。

如何正确配置 ufw 以允许来自网关后面的主机的出站流量?

答案1

经过一番调查,发现UFW默认是拒绝转发请求的。一种潜在的解决方案是编辑/etc/default/ufw和设置DEFAULT_FORWARD_POLICY="ACCEPT",但这似乎不安全。

相反,我将以下规则添加到/etc/ufw/before.rules.

# Eth0 is public, Eth1 is private.
-A FORWARD -i eth1 -o eth0 -m conntrack --ctstate NEW,ESTABLISHED,RELATED -j ACCEPT
-A FORWARD -i eth0 -o eth1 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

相关内容