Перейти к содержимому
Калькуляторы

Ограничение pps с помощью iptables

IPT=/sbin/iptables
MAXPPS=555
MAXPPS_IN=$MAXPPS
$IPT -N LIMITPPS_IN
$IPT -A LIMITPPS_IN -m hashlimit --hashlimit ${MAXPPS_IN}/sec --hashlimit-burst ${MAXPPS_IN} \
--hashlimit-mode dstip --hashlimit-name customer_in -j RETURN
$IPT -A LIMITPPS_IN -j DROP
MAXPPS_OUT=$MAXPPS
$IPT -N LIMITPPS_OUT
$IPT -A LIMITPPS_OUT -m hashlimit --hashlimit ${MAXPPS_OUT}/sec --hashlimit-burst ${MAXPPS_OUT} \
--hashlimit-mode srcip --hashlimit-name customer_out -j RETURN
$IPT -A LIMITPPS_OUT -j DROP
$IPT -A FORWARD -o ppp+ -j LIMITPPS_IN
$IPT -A FORWARD -i ppp+ -j LIMITPPS_OUT

Значение MAXPPS подобрал экспериментально, исходя из макс. тарифной скорости в 4Мбит.

Недостаток такого решения - pps режется только для тех, у кого имеется этот самый тариф в 4Мбита.

Те, у кого скоростя меньше соотв. имеют возможность забивать свой канал мелкими пакетами до значения MAXPPS.

Как ещё можно сделать, что-бы обойти данный вопрос или помогите посмотреть на проблему с другой стороны?

Кто как сам ограничивает, если стоит такая задача?

И покритикуйте данный способ, который применяется у меня сейчас. Застрял на месте, в голову ни чего нового не приходит.

Приветствуются любые комментарии.

Изменено пользователем lan-viper

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Несколько цепочек с лимитами, по ним раскидывать IP юзая ipset.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Осложняется ещё и тем, что тарифная скорость с 01:00 до 09:00 увеличивается в 3 раза. Придётся забить на тарифы с меньшими скоростями и сконцентрировать внимание на максимуме (они же и создают основную нагрузку). По крону в моменты смены скоростей менять правила, где фигурирует MAXPPS.

PS

и снова появляются так нелюбимые мной скриптовые подпорки в неожиданных местах, о которых через месяц забываешь, а через пол года меняешь что-нибудь... и долго вспоминаешь, из-за чего всё не работает?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.