我使用 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
定期地,但是当一段时间内没有看到 IP 时,有没有办法告诉 nftables 从表中删除条目?