为什么ufw记录了与ufw配置为“允许”连接的端口相关的“BLOCK”消息?

这是一个示例日志信息:
May 25 10:36:07 myserver kernel: [7057243.392334] [UFW BLOCK] IN=eth0 OUT= MAC=00:02:55:67:82:eb:00:06:b1:3a:ef:62:08:00 SRC=69.197.128.26 DST=192.168.100.101 LEN=44 TOS=0x00 PREC=0x00 TTL=32 ID=0 PROTO=TCP SPT=48788 DPT=80 WINDOW=972 RES=0x00 RST URGP=0
我的理解是,DPT代表“目标端口”,但由于我已经配置了ufw允许在端口80上进行传入连接,所以我对为什么会看到这样的日志信息感到困惑 - 这则日志信息似乎表明ufw阻止了该端口上的连接尝试。
下面是来自ufw状态的相关行:
To Action From -- ------ ---- 80/tcp ALLOW Anywhere 80/tcp ALLOW Anywhere (v6)
我现在在Ubuntu 11.10和升级后的Ubuntu 12.04上都见过这个问题。

首先有两个问题:为什么您还在使用已经停止维护的Ubuntu 11.10(于2013年5月9日)?为什么您想要在80端口开放入站连接?这是非常糟糕的安全实践。 - david6
5(1)我打算尝试升级到一个更近期的(希望是最新的)Ubuntu系统(但是回答你的问题,这很麻烦,因为我需要与我们的托管提供商协调)。 (2)还有其他方法可以运行Web服务器吗?难道不需要允许客户端通过80端口连接吗? - Chris W.
我已经升级到Ubuntu 12.04,最新的LTS版本,但不幸的是仍然看到一些神秘的日志信息... - Chris W.
我也在12.10上看到了这个。有趣的是,它阻止了Google爬虫的地址。 - Caffeine Coma
3个回答

Caffeine Coma引用的主题表明这与关闭TCP网络连接的低级技术细节有关...操作系统(Windows、Mac、Linux)在处理连接终止时存在一些模糊而微妙的差异,显然导致服务器和客户端之间产生了一些无害的混淆,进而导致了上述描述的日志信息。

我并不完全理解这些技术细节,也不知道为什么这会导致UFW“BLOCK”日志信息,但我接受这个解释,因为这是我找到的唯一合理的答案,而且我在服务器上没有看到其他任何出现问题的症状——只有这些无害(尽管让人烦恼)的UFW日志信息。

更详细的技术解释请参阅所提到的论坛主题


我可以稍微详细地解释一下,不涉及技术方面。
我只会用一个比喻来说明。
想象两个人彼此交谈,假设他们彼此做生意,并且进一步假设他们同意以某种方式进行业务。
每次他们进行交易时,都是以相同的方式进行。
1. 相遇和问候 - 他们同意只有在开始时坐在同一个房间里握手,交易才算成功。这是必要的步骤。
2. 倾听和重新发送 - 他们同意只有在理解了该交易所需的所有数据,并且如果一方没有得到适当的回应,他们会重新评估状态并“重新谈论”该交易的某些方面,直到双方对结果感到满意并同意该交易无误,交易才算成功。
这包括:
3. a) 每次见面时的握手确认,以及 b) 双方最后的确认。卖方还必须在房间内等待一段时间,直到他确定买方已经满意离开为止。
TCP连接的工作方式类似。如果防火墙告诉你有问题,那可能是以下情况之一: - 可能是一个假买家,只是打个招呼然后离开(探测) - 可能是一个真正的买家,在交易进行到一半时不再确定并离开房间(用户) - 可能是通信问题(路由、网络等)
希望对你有所帮助, s1mmel

我也对此很好奇,因为我甚至从Googlebot服务器上得到了类似的日志条目。
这个帖子似乎说这没什么可担心的,但是对我来说,这些在UFW中注册为BLOCK的情况看起来非常奇怪。

谢谢链接,CC。我不完全理解它,但它似乎解释了我看到的日志信息。 - Chris W.