ufw 转发规则不起作用:连接被拒绝

ufw 转发规则不起作用:连接被拒绝

我正在运行 Raspberry Pi,并试图Pi孔工作。我正在跑步容器从 Podman 中新建一个 pi-hole 用户(非 root 用户)。我发布了以下端口:

- 127.0.0.1:5053:53/tcp
- 127.0.0.1:5053:53/udp
- 127.0.0.1:8080:80

Web 仪表板(端口80在容器中)在主机的 8080 端口上可用,我设置通过 Nginx 访问它:这已经完美运行了。我特意制作53可通过端口获取端口5053在主机上,因为pi 孔用户无法绑定到子1024 个端口(非 root)。我的计划是配置ufw从主机端口转发数据包53127.0.0.1:5053但我似乎无法让这个设置正常工作。

目前我可以使用端口从容器内部和主机解析名称5053但是我进入了connection refusedufw 转发端口:

# Working
> podman exec pi-hole nslookup pi-hole.net 127.0.0.1
Server:         127.0.0.1
Address:        127.0.0.1#53

Non-authoritative answer:
Name:   pi-hole.net
Address: 3.18.136.52

# Working
> nslookup -port=5053 pi-hole.net 127.0.0.1
Server:         127.0.0.1
Address:        127.0.0.1#5053

Non-authoritative answer:
Name:   pi-hole.net
Address: 3.18.136.52

# Not working
> nslookup pi-hole.net 127.0.0.1
;; communications error to 127.0.0.1#53: connection refused
;; communications error to 127.0.0.1#53: connection refused
;; communications error to 127.0.0.1#53: connection refused
;; no servers could be reached

我设置ufw如下本指南。我还将端口列入了白名单ufw,请参见以下输出:

> sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere
443/tcp                    ALLOW       Anywhere
53/udp                     ALLOW       Anywhere
53/tcp                     ALLOW       Anywhere
5053                       ALLOW       Anywhere
22/tcp (v6)                ALLOW       Anywhere (v6)
443/tcp (v6)               ALLOW       Anywhere (v6)
53/udp (v6)                ALLOW       Anywhere (v6)
53/tcp (v6)                ALLOW       Anywhere (v6)
5053 (v6)                  ALLOW       Anywhere (v6)

我在/etc/ufw/before.rules像这样:

...

*nat
:PREROUTING ACCEPT [0:0]
-A PREROUTING -p tcp --dport 53 -j DNAT --to-destination 127.0.0.1:5053
-A PREROUTING -p udp --dport 53 -j DNAT --to-destination 127.0.0.1:5053
COMMIT

...

我还尝试了以下方法:

  1. 我确定net/ipv4/ip_forward=1存在/etc/ufw/sysctl.conf
  2. 我确定net.ipv4.ip_forward=1存在/etc/sysctl.conf
  3. 我确定DEFAULT_FORWARD_POLICY="ACCEPT"存在/etc/默认/ufw

相关内容