iptables игнорирует REJECT в пользовательской цепочке, но работает в основной цепочке

iptables игнорирует REJECT в пользовательской цепочке, но работает в основной цепочке

Я настроил сервер с 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

но эти два правила идентичны.

Есть идеи?

Связанный контент