我为 smtp 服务器配置了一个带有 fail2ban 的服务器。现在,fail2ban 正确地禁止了 IP,我可以在 fail2ban 的 iptables 链中看到它们。但是,内核似乎忽略了 iptables fail2ban 链 REJECT 规则。相反,如果我将相同的规则添加到 INPUT 链,它就会起作用。
的输出iptables -L -n -v
为:
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
207 8339 f2b-postfix tcp -- * * 0.0.0.0/0 0.0.0.0/0 multiport dports 80,443,25,587,110,995,143,993,4190
17 2172 REJECT all -- * * 141.98.11.68 0.0.0.0/0 reject-with icmp-port-unreachable
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain f2b-postfix (1 references)
pkts bytes target prot opt in out source destination
0 0 REJECT all -- * * 141.98.11.68 0.0.0.0/0 reject-with icmp-port-unreachable
207 8339 RETURN all -- * * 0.0.0.0/0 0.0.0.0/0
如您所见,链REJECT
中的规则f2b-postfix
被忽略(0 个数据包),所有数据包都符合规则RETURN
。但是,如果我REJECT
在INPUT
链中添加相同的规则,它会起作用并拒绝数据包。
为了确保万无一失,我还检查了原始 iptables 配置:
-A INPUT -s 141.98.11.68/32 -j REJECT --reject-with icmp-port-unreachable
-A f2b-postfix -s 141.98.11.68/32 -j REJECT --reject-with icmp-port-unreachable
但两条规则是相同的。
任何想法?