Привет, господа гуру !
Вопрос такой.
На linux шлюзе стоит squid, iptables.
Некоторых пользователей нужно ввести ограничение на объем скачиваемой информации в день.Корректно ли использование такого правила ???
...
$IPTABLES -A INPUT -p tcp -s 192.168.1.23 --dport 8080 -m limit --limit 1/minute --limit-burst 10000 -j ACCEPT
$IPTABLES -A INPUT -p tcp -s 192.168.1.23 --dport 8080 -j DROP
...
192.168.1.23 - клиентская машина, для которой нужно ограничение.
Идея такая - размер емкости - 10000 пакетов , т.е. около 14 МБайт.
После переполнения емкости соединения устанавливаться не будут.
--limit 1/minute - откручивание счетчика (1 пакет в минуту - --limit 0/minute - не катит - файр ругается).
Может есть более изящные решения ???
Заранее большое спасибо !!!
>$IPTABLES -A INPUT -p tcp -s 192.168.1.23 --dport 8080 -m limit
>--limit 1/minute --limit-burst 10000 -j ACCEPT
>$IPTABLES -A INPUT -p tcp -s 192.168.1.23 --dport 8080 -j
>DROPМне кажется, ограничивать будет весьма неточно - размеры то пакетов разные. Да и распределение активности в течении дня неравномерное, поэтому лимит на минуту - это очень жестко.
>Может есть более изящные решения ???
Почему бы не контролировать объемы трафика самим сквидом? У нас к нему прикручены пара perl-скриптов, один из которых через fifo обрабатывает статистику сквида (его access.log), другой авторизует пользователей. Первый накапливает информацию об объемах потребления трафика пользователем за час/день/месяц/год, второй при авторизации пользователя ориентируется на эту статистику. Период ре-авторизации клиента выставлен в 2 минуты.
Спасибо за предложенный вариант