Назад | Перейти на главную страницу

Ограничение UDP-подключений по IP iptables

Я хочу ограничить количество подключений по IP для определенного порта UDP. У меня он работает для TCP, но почему-то не работает с UDP. Вот мои правила:

По TCP (рабочий)

iptables -A INPUT -p tcp --syn --dport 7787 -m connlimit --connlimit-above 3 -j REJECT --reject-with tcp-reset
iptables -A INPUT -p tcp --syn --dport 7788 -m connlimit --connlimit-above 3 -j REJECT --reject-with tcp-reset

Для UDP

iptables -A INPUT -p udp --dport 7787 -m connlimit --connlimit-above 3 -j REJECT
iptables -A INPUT -p udp --dport 7788 -m connlimit --connlimit-above 3 -j REJECT

Согласно справочным страницам, это должно работать (по крайней мере, как я это понимаю), но иногда меня все равно затопляет один IP-адрес.

Я думаю, что вы действительно хотели чего-то, основанного на модуле hashlimit.

Ваш вопрос не имеет смысла, поскольку UDP действительно не имеет «соединений». Для каждого IP / порта источника настраивается только одна запись conntrack.

Что ж, это звучит довольно правдоподобно, что ваш клиент, о котором идет речь, использует менее трех соединений NFCT, чтобы завалить вас.