Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Как ограничить количество подключений к порту ?  (Прочитано 3327 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн jidckii

  • Автор темы
  • Участник
  • *
  • Сообщений: 164
  • 18.04
    • Просмотр профиля
    • jidckii
Всем привет.
Собственно сабж.
Есть сервис, он крутится на определенном порту, к примеру 80.
Есть ли способ к примеру средствами iptables ограничить количество подключений к нему.
Т.е. если сейчас установлено 6 сессий(не важно с 1-го ip или с 6-ти), то 7-ой уже не давать подключаться и дропать. А как только их снова 5, то новую можно снова установить.
То, что стоит почитать: http://pub.paradev.ru/books/

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Можно. Вот только зачем самому себе создавать DoS атаки?
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн jidckii

  • Автор темы
  • Участник
  • *
  • Сообщений: 164
  • 18.04
    • Просмотр профиля
    • jidckii
Можно. Вот только зачем самому себе создавать DoS атаки?
Не совсем понял, к чему это ?
Мне просто надо ограничить количество одновременных подключений, так как сервис ресурсоемкий, и нужно что бы железка не умерла, а канал не протух.
То, что стоит почитать: http://pub.paradev.ru/books/

Оффлайн .ubuntufan

  • Активист
  • *
  • Сообщений: 638
    • Просмотр профиля
Для подобного ограничения можно использовать модуль connlimit:

iptables -A INPUT -p tcp --syn -m connlimit --connlimit-above <your limit number> --connlimit-mask 0 -j DROP
iptables -A OUTPUT -p tcp --syn -m connlimit --connlimit-above <your limit number> --connlimit-mask 0 -j DROP

http://ipset.netfilter.org/iptables-extensions.man.html

Оффлайн jidckii

  • Автор темы
  • Участник
  • *
  • Сообщений: 164
  • 18.04
    • Просмотр профиля
    • jidckii
Вот что мне подошло:
iptables -I INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 10 -j DROPвсем спасибо, тема решена.
То, что стоит почитать: http://pub.paradev.ru/books/

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Можно. Вот только зачем самому себе создавать DoS атаки?
Не совсем понял, к чему это ?
Мне просто надо ограничить количество одновременных подключений, так как сервис ресурсоемкий, и нужно что бы железка не умерла, а канал не протух.

Чтобы канал не протух, ставят шейпер. А если твоя железка не справляется с нагрузкой, поменяй железку либо настрой ограничения в самом сервисе.
Ограничивать сервис на пакетном уровне, который нихрена не знает о протоколе твоего сервиса, это прямой путь заблокировать твой сервис напрочь. Любое сканирование портов будет восприниматься как подключение к сервису и вызывать блокировки, в результате легитимные клиенты до него достучаться не смогут.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн jidckii

  • Автор темы
  • Участник
  • *
  • Сообщений: 164
  • 18.04
    • Просмотр профиля
    • jidckii
AnrDaemon,
Цитировать
Чтобы канал не протух, ставят шейпер. А если твоя железка не справляется с нагрузкой, поменяй железку либо настрой ограничения в самом сервисе.
Ограничивать сервис на пакетном уровне, который нихрена не знает о протоколе твоего сервиса, это прямой путь заблокировать твой сервис напрочь. Любое сканирование портов будет восприниматься как подключение к сервису и вызывать блокировки, в результате легитимные клиенты до него достучаться не смогут.

Все это круто конечно, вот только если это продакшен какого нибудь крутого ресурса.
У меня просто домашний сервер с какими то мини задачами.
И того решения, что я уже реализовал, достаточно вполне!
А то как в анекдоте выходит, если так заморачиваться :)
Чайник заходит в комнату, где сидит программист-системщик:- Слушай, мне нужен генератор случайных чисел.Тот, не оборачиваясь:- Четырнадцать...
То, что стоит почитать: http://pub.paradev.ru/books/

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
jidckii, vой личный опыт утверждает, что система, настроенная по-взрослому, без компромиссов и отмазок на домашнесть, работает в разы надёжнее и требует к себе в разы меньше внимания, тогда как "домашняя" система без ежедневного поглаживания живота коленом работать нормально просто не в состоянии.
« Последнее редактирование: 19 Января 2015, 01:27:50 от AnrDaemon »
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

 

Страница сгенерирована за 0.017 секунд. Запросов: 21.