jidckii
@jidckii
system administrator

Как ограничить количество подключений к порту в linux?

Всем привет.
Собственно сабж.
Есть сервис, он крутится на определенном порту, к примеру 80.
Есть ли способ к примеру средствами iptables ограничить количество подключений к нему.
Т.е. если сейчас установлено 6 сессий(не важно с 1-го ip или с 6-ти), то 7-ой уже не давать подключаться и дропать. А как только их снова 5, то новую можно снова установить.
  • Вопрос задан
  • 5010 просмотров
Решения вопроса 1
vvpoloskin
@vvpoloskin
Инженер связи
iptables -I INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 10 -j DROP

Если для UDP это не прокатит, придется делать непосредственно через модуль conntrack
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
gbg
@gbg Куратор тега Linux
Любые ответы на любые вопросы
Проще это будет сделать средствами сервиса.
Для TCP - сервиса можно поискать решение с IPTABLES или с использованием xinetd. Второе даже проще:
service test
{
    instances = 10 # ограничение в 10 штук
    sock_type =     stream
    protocol =      tcp
    wait =          no
    user =          root
    server =        /home/me/bin/testsmpp        
    redirect =      127.0.0.1 8000
}

Для UDP - маловероятно, что что-то получится, так уж устроен UDP
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы