Читаю книгу по Iptables так что я еще пока новичок. у меня стоит сервер на java , и его постоянно ложат пакетами с 1 -2 -10 адресов. Бывает и больше. Хотел узнать ваше мнение как лучше избавиться от флуда.
Пробовал (-m connlimit --connlimit ) почему то не получилось, хотя наверное это потому что я писал эти правила на роутере (DT-WRT) для цепочки FORWARD таблицы filter. ( Хотя проверял командой 'iptables -L' правила были прописаны.
iptables -I INPUT -p tcp --syn --dport 7777 -m connlimit --connlimit-above 5 -j DROP
iptables -I INPUT -p tcp --syn --dport 2106 -m connlimit --connlimit-above 5 -j DROP
затем пробовал
iptables -F INPUT # Очищаем цепочку INPUT
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT # Пропускаем все, что идет по уже установленным соединениям
# Вводим ограничения для новых подключений
iptables -A INPUT -m conntrack --ctstate NEW -p tcp -m multiport --dport 2106,7777 -m hashlimit --hashlimit-upto 5/min --hashlimit-mode srcip,dstport --hashlimit-name server -j ACCEPT
iptables -P INPUT DROP # Всех остальных не пускаем
( сомневался по поводу -j ACCEPT (может за одно объясните почему если пишут правило на ограничение 5 пакетов в минуту, то получается меньше 5 пакетов то пропускаем?а если больше то нет? ))
как написать что бы после 5 коннектов, не важно откуда давался бан на 5 минут. Или что то в этом роде.