Я использую nftables для ограничения скорости:
chain input: {
type filter hook input priority 0; policy accept;
tcp dport http ct state new jump rate-limit
}
chain rate-limit {
meter httplimit4 { ip saddr limit rate 2/second burst 20 packets } counter accept
drop
}
Работает, пока список не заполнится. По какой-то причине, если IP-адрес был обнаружен, он остается в списке даже после того, как ограничение скорости «восстановлено». Как удалить старые записи из списка?
Конечно, я мог бы запустить cron с
nft flush meter inet filter httplimit4
периодически, но разве нет способа указать nftables, чтобы он удалял записи из таблицы, когда IP-адрес не был виден в течение некоторого времени?