
Я настроил сервер с fail2ban для сервера smtp. Теперь fail2ban правильно банит IP-адреса, и я вижу их в цепочке iptables fail2ban. Однако ядро, похоже, игнорирует правило REJECT цепочки iptables fail2ban. Вместо этого, если я добавлю то же правило в цепочку 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
но эти два правила идентичны.
Есть идеи?