ufw 阻止 DNS 响应

ufw 阻止 DNS 响应

我有一台 ubuntu 服务器(Ubuntu 22.04 LTS),运行 svn、duplicati、rdp-forwarding 和 ssh-access。我的问题是我无法解析我们网络内外的主机名。 sudo apt update启用 ufw 后无法正常工作。禁用 ufw 后,可以下载更新。我允许 ufw 中的端口 53(udp 和 tcp):

Status: active

To                         Action      From
--                         ------      ----
22                         ALLOW       10.7.3.0/24
80                         ALLOW       Anywhere
443                        ALLOW       Anywhere
80/tcp                     ALLOW       Anywhere
443/tcp                    ALLOW       Anywhere
4343/udp                   ALLOW       10.7.3.0/24
8200/tcp                   ALLOW       10.7.3.0/24
3389/tcp                   ALLOW       Anywhere
3389/udp                   ALLOW       Anywhere
53/tcp                     ALLOW       193.175.120.18
53/udp                     ALLOW       193.175.120.18
53/udp                     ALLOW       193.175.120.17
53/tcp                     ALLOW       193.175.120.17

10.7.3.0/24 22             ALLOW OUT   Anywhere
10.7.3.0/24 3389           ALLOW OUT   Anywhere
53/tcp                     ALLOW OUT   Anywhere
53/udp                     ALLOW OUT   Anywhere

通过 IP 表我实现了端口转发:

*nat
:PREROUTING ACCEPT [0:0]
#forward rdp to cbs-rechner
-A PREROUTING -i eno1 -p tcp --dport 3389 -j DNAT --to-destination 10.7.3.23:3389
-A PREROUTING -i eno1 -p udp --dport 3389 -j DNAT --to-destination 10.7.3.23:3389
#setup routing
-A FORWARD -p tcp --dport 3389 -j ACCEPT
-A FORWARD -p udp --dport 3389 -j ACCEPT

COMMIT

这是我放在*filter-section前面的

的输出 time dig 193.175.120.17

;; communications error to 127.0.0.53#53: timed out
;; communications error to 127.0.0.53#53: timed out
;; communications error to 127.0.0.53#53: timed out

; <<>> DiG 9.18.18-0ubuntu0.22.04.1-Ubuntu <<>> 193.175.120.17
;; global options: +cmd
;; no servers could be reached


real    0m15,032s
user    0m0,006s
sys     0m0,007s

当我执行时sudo apt update,我在 /var/log/syslog 中得到了条目:

Dec 12 09:24:26 rt-mw-svn-server kernel: [ 2921.895959] [UFW BLOCK] IN=eno1 OUT= MAC=98:90:96:c0:09:da:00:10:f3:92:d7:f7:08:00 SRC=193.175.120.17 DST=10.15.0.12 LEN=292 TOS=0x00 PREC=0x00 TTL=63 ID=12340 PROTO=UDP SPT=53 DPT=42188 LEN=272
Dec 12 09:24:47 rt-mw-svn-server kernel: [ 2941.916869] [UFW BLOCK] IN=eno1 OUT= MAC=98:90:96:c0:09:da:00:10:f3:92:d7:f7:08:00 SRC=193.175.120.17 DST=10.15.0.12 LEN=152 TOS=0x00 PREC=0x00 TTL=63 ID=15731 PROTO=UDP SPT=53 DPT=40610 LEN=132

有趣的是,日志中的目标端口 (DPT) 在每个条目中都不同。因此,允许端口 53 当然是没用的。但我如何允许来自 DNS 的传入数据包?我已经检查了网络。DNS 肯定有响应。提前谢谢

新发现: 使用 sudo ufw enable 启用 ufw 时出现错误:

sudo ufw enable 命令可能会中断现有的 ssh 连接。继续操作 > (y|n)? y 错误:运行 ufw-init iptables-restore 时出现问题:第 21 行失败

运行“/etc/ufw/before.rules”时出现问题

第 21 行是COMMITIP 表行。并且有解决方案的提示。

答案1

当我注释掉FORWARDINGIP 表中的两行时,/etc/ufw/before.rules错误消失了。转发仍然通过这些PREROUTING行进行。IP 表中的正确设置如下:

:PREROUTING ACCEPT [0:0]
#forward rdp to cbs-rechner
-A PREROUTING -i eno1 -p tcp --dport 3389 -j DNAT --to-destination 10.7.3.23:3389
-A PREROUTING -i eno1 -p udp --dport 3389 -j DNAT --to-destination 10.7.3.23:3389

COMMIT ```
the ufw status looks the same as in my question.

相关内容