Мне нужно ограничить число подключений на сайт от одного IP до 20 в секунду, если запросов больше, то блокировать IP, а через 5 минут снять блокировку.
Делаю вот так
nft add table ip filter
nft add chain ip filter input { type filter hook input priority 0 \; }
nft add set ip filter denylist { type ipv4_addr \; flags dynamic, timeout \; timeout 5m \; }
nft add rule ip filter input ip protocol tcp ct state new, untracked limit rate over 20/second add @denylist { ip saddr }
nft add rule ip filter input ip saddr @denylist drop
Приложение на этом сервере отправляет запросы в базу (IP 1.2.3.4.5), и по итогу сервер базы данный блокируется, почему так происходит?