我有一台 MariaDB 数据库服务器,它是 Galera 集群的一个节点,当我查看 /var/log/ufw.log 文件时,我看到很多客户端 IP 地址的 UFW_BLOCK 日志,这些客户端 IP 地址已连接到数据库并成功执行操作。我也从我的机器连接到数据库,我看到我的 IP 地址也被记录为 UFW_BLOCK,但在连接到数据库期间我没有出现任何错误或任何其他中断。我还看到一些我不知道的 IP 地址被记录为 UFW_BLOCK。当我搜索并检查这些 IP 时,我发现它们是 LAN 交换机的 IP 地址。为什么会发生这种情况,我该怎么办?这种情况会造成问题吗?我应该在 iptables 上允许这些 IP 地址吗?
示例日志如下:
Mar 3 12:14:47 DB-Srv1 kernel: [6300510.451352] [UFW BLOCK] IN=ens160 OUT= Mac=xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx SRC=xx.xx.85.222 DST=224.0.0.1 LEN=32 TOS=0x00 PREC=0x00 TTL=1 ID=19898 PROTO=2
答案1
对于 TCP 连接,Linux 倾向于使用“半双工”关闭序列,其中会话的任何一方都可以通过一次双向 FIN-ACK 握手(将连接置于 CLOSE_WAIT 状态)来启动连接终止,而不是完整的四向 FIN-ACK 握手。如果中间有路由器,这通常会导致一端在另一端之前忘记连接,从而导致您观察到的 UFW_BLOCK 消息。
您没有提供任何示例,因此这个答案不确定。查看日志条目中的 TCP 标志,看看它们是否与会话终止有关。或者编辑您的问题并添加一些示例。
编辑:
提供的示例日志条目是多播数据包. 与您的任何有用的客户端数据包完全无关。
您可能还会看到我的原始答案适用的数据包。