Количество пакетов IPTables в цепочке INPUT не совпадает с подцепью

Количество пакетов IPTables в цепочке INPUT не совпадает с подцепью

На моем сервере для простоты установлено три правила:

iptables -t mangle -N RATE-LIMIT
iptables -t mangle -A RATE-LIMIT -m hashlimit --hashlimit-mode srcip --hashlimit-upto 100/sec --hashlimit-burst 20 --hashlimit-name conn_rate_limit -j RETURN
iptables -t mangle -A RATE-LIMIT -j DROP
iptables -t mangle -A INPUT -p tcp --dport 25565 ! -i lo -j RATE-LIMIT

У меня это работает так, как и должно быть, но меня смутил следующий подробный вывод:

Chain INPUT (policy ACCEPT 11M packets, 921M bytes)
 pkts bytes target     prot opt in     out     source               destination
5699K  264M RATE-LIMIT  tcp  --  !lo    *       0.0.0.0/0            0.0.0.0/0            tcp dpt:25565

...

Chain RATE-LIMIT (1 references)
 pkts bytes target     prot opt in     out     source               destination
3060K  158M RETURN     all  --  *      *       0.0.0.0/0            0.0.0.0/0            limit: up to 100/sec burst 20 mode srcip
84990 3882K DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0

Первое правило соответствует каждому пакету, который ниже 100 pps от определенного исходного IP, если он ниже, он должен RETURNвернуться INPUTи продолжить там. Второе правило просто отбрасывает каждый пакет, который превышает этот лимит, и должно по сути действовать как политика по умолчанию для этой цепочки.

В INPUTцепочке около 5.700k пакетов, которые перешли в мою RATE-LIMITцепочку. Но если я сложу оба правила в моей RATE-LIMITцепочке вместе, я получу число намного меньше. По моему мнению, они должны составить 5.700k.

Почему эти два числа не равны?

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