这实际上是一个路由问题,但背景如下:
我正在运行带有 UFW 的 Ubuntu 20.04.3 LTS。我的内部网络是 10.126.1.0/24。互联网边缘没有入站转换。如果我检查我的 UFW 日志,我会看到类似以下消息:
8 月 20 日 17:41:01 XPS-8100 内核:[1964.382883] [UFW BLOCK] IN=enp5s0 OUT= MAC=84:2b:2b:9d:ae:44:02:81:51:8b:22:18:08:00 SRC=142.250.111.109 DST=10.126.1.41 LEN=85 TOS=0x00 PREC=0x00 TTL=36 ID=11413 PROTO=TCP SPT=993 DPT=40634 WINDOW=266 RES=0x00 ACK PSH URGP=0
如果我没看错的话,IP 表/UFW 会阻止从 142.250.111.109 到 10.126.1.41 的入站流量。我的困惑源于 IP 流量从公共 IP 地址传送到私有 IP 地址,然后(幸运的是)被拒绝。
除非我严重误解了公共互联网的路由规则,否则没有一个有自尊心的 ISP 会为私有地址承载流量,更不用说从数千个私有 IP 地址实例中找到一个,然后传递流量。
要么是 UFW 搞糊涂了,要么是我搞糊涂了,要么是互联网做了一些我意想不到的事情。有人有什么想法吗?
UFW 状态返回 Ubuntu 机器上打开的端口列表:
(base) glenn@XPS-8100:~/Desktop$ sudo ufw status
Status: active
To Action From
-- ------ ----
137/udp ALLOW 10.126.1.0/24
138/udp ALLOW 10.126.1.0/24
139/tcp ALLOW 10.126.1.0/24
445/tcp ALLOW 10.126.1.0/24
514/tcp ALLOW 10.126.1.0/24
514/udp ALLOW 10.126.1.0/24
22/tcp ALLOW 10.126.1.0/24
5001/tcp ALLOW 10.126.1.0/24
5001/udp ALLOW 10.126.1.0/24
137/tcp ALLOW 10.126.1.0/24
139/udp ALLOW 10.126.1.0/24
80/tcp ALLOW 10.126.1.0/24
8080/tcp ALLOW 10.126.1.0/24
5201 ALLOW 10.126.1.0/24
答案1
您在日志中显示的是到 IMAPS 服务器(可能是 GMAIL)的传出连接的返回/回复数据包。
在 POSTROUTING 中完成的 SNAT/MASQUARADE 在 PREROUTING 中也有自己的 DNAT 对应部分,它会在传出连接的回复数据包中恢复原始地址。
由于数据包似乎被阻止,这可能意味着您的防火墙限制过多,不允许 ESTABLISHED 数据包返回。或者它太松懈,连接应该首先在建立阶段被阻止。