Лимит трафика для SQUID'а
Модераторы: Trinity admin`s, Free-lance moderator`s
- TOPтыгин
- Advanced member
- Сообщения: 102
- Зарегистрирован: 21 янв 2004, 10:29
- Откуда: Барнаул
- Контактная информация:
Лимит трафика для SQUID'а
Люди добрые подскажите мне как мне сделать ограничение на объем трафика для пользователей squid. Система такая : Squid 3.0 авторизует пользователей через wb_auth. Sarg считает и выдает. В принципе меня все устраевало, но появился пользователь который не понимает что нельзя выкачивать по 70-80 мегов за 20 минут работы в инете. Мне надо тиаких &(^&^$%&^ отключать ! В ручную можно конечно но иногда бывает поздно ... Я попробовал все уже что написано на opennet в разделе анализаторы сквида. ПОМОГИТЕ !!!
- exLH
- Сотрудник Тринити
- Сообщения: 5061
- Зарегистрирован: 11 фев 2004, 15:49
- Откуда: Москва
- Контактная информация:
Вот что нашлось в squid-users:
-------------------
> I would like to know if either SQUID or a 3rd party program can run a
> quota system for squid. What I need to do is limit all the users using
> squid to brows. Let say I have 50 users on a network, and I want to limit
> the users only to have a 100 MB limit every month. Once they reach their
> limit, they should be blocked or what ever.
Squid does not have this capability, but it can be done fairly easily with a
2-part system. One part tails the access.log and updates some sort of
database; the second part is an external_acl helper that checks this
database and allows/rejects requests as needed.
This has been discussed before; check the archives for more info.
-------------------
Соответственно придется либо самим helper писать (анализаторов логов благо хватает), либо искать готовый...
-------------------
> I would like to know if either SQUID or a 3rd party program can run a
> quota system for squid. What I need to do is limit all the users using
> squid to brows. Let say I have 50 users on a network, and I want to limit
> the users only to have a 100 MB limit every month. Once they reach their
> limit, they should be blocked or what ever.
Squid does not have this capability, but it can be done fairly easily with a
2-part system. One part tails the access.log and updates some sort of
database; the second part is an external_acl helper that checks this
database and allows/rejects requests as needed.
This has been discussed before; check the archives for more info.
-------------------
Соответственно придется либо самим helper писать (анализаторов логов благо хватает), либо искать готовый...
-
- Junior member
- Сообщения: 7
- Зарегистрирован: 05 июн 2004, 00:22
- Откуда: SPb
- Контактная информация:
режик я имел ввиду приаттачить к сквиду для того чтобы ограничить именно "избранных"(и не только) юзеров на предмет использования траффика только необходимого для работы! -
и если не ощибаюсь, в сквиде можно сделать несколько спулов,
и через них ограничивать скорость канала...
т.е за 20 мин он 80 метров не сможет скачать...
я так думаю, что если этого ему (юзеру) не понять,
так недолго и до того что ему не только www надо будет резать,
но и почту, а потом защищать от спама и вирей
вот.. если всё настолько жестко - думаю можно замутить скрипт для иптэйблса который после перебора траффика отрубает от инета или порта
а в сарге строка есть про отруб юзеров...
)
и если не ощибаюсь, в сквиде можно сделать несколько спулов,
и через них ограничивать скорость канала...
т.е за 20 мин он 80 метров не сможет скачать...
я так думаю, что если этого ему (юзеру) не понять,
так недолго и до того что ему не только www надо будет резать,
но и почту, а потом защищать от спама и вирей
вот.. если всё настолько жестко - думаю можно замутить скрипт для иптэйблса который после перебора траффика отрубает от инета или порта
а в сарге строка есть про отруб юзеров...

Если до этого всё устраивало и раздражают 70М за 20 мин. - попробуй delay_pools. Требует перекомпилляции.
Пример
delay_pools 3 (у меня их 3)
delay_class 1 2 (2-класс для 1-го пула)
delay_access 1 allow acl_имя (кому идти через эту радость)
delay_access 1 deny all (остальным не идти)
delay_parameters 1 16000/16000 3000/3000 (собственно параметры наполнения и раздачи пула)
............
Подробнее про классы и параметры см. squid.conf
Также можно скомбинировать с
reply_body_max_size 500000 allow acl_имя
тогда пользователь с таким acl не сможет скачать объект более 500к.
Или просто использовать эту фишку без delay_pools.
Пример
delay_pools 3 (у меня их 3)
delay_class 1 2 (2-класс для 1-го пула)
delay_access 1 allow acl_имя (кому идти через эту радость)
delay_access 1 deny all (остальным не идти)
delay_parameters 1 16000/16000 3000/3000 (собственно параметры наполнения и раздачи пула)
............
Подробнее про классы и параметры см. squid.conf
Также можно скомбинировать с
reply_body_max_size 500000 allow acl_имя
тогда пользователь с таким acl не сможет скачать объект более 500к.
Или просто использовать эту фишку без delay_pools.
-
- Junior member
- Сообщения: 7
- Зарегистрирован: 05 июн 2004, 00:22
- Откуда: SPb
- Контактная информация:
опять... если ещё актуально...
буду пробовать...
http://sourceforge.net/projects/tfcontrol
> Traffic Control Scripts 0.05
>
> by Kirill Panuzin
>
>Данный набор скриптов был создан для автоматизации контроля >расхода трафика пользователями.
>
>Кому нужен Trafic Control этот набор скриптов нужен системным >администраторам работающих в
>организациях где требуется хорошая автоматическая программа >статистики и управления
>доступом в интернет.
буду пробовать...
http://sourceforge.net/projects/tfcontrol
> Traffic Control Scripts 0.05
>
> by Kirill Panuzin
>
>Данный набор скриптов был создан для автоматизации контроля >расхода трафика пользователями.
>
>Кому нужен Trafic Control этот набор скриптов нужен системным >администраторам работающих в
>организациях где требуется хорошая автоматическая программа >статистики и управления
>доступом в интернет.
-
- Junior member
- Сообщения: 12
- Зарегистрирован: 03 авг 2004, 15:17
- Откуда: Санкт-Петербург
- Контактная информация:
Могу поделится своим решением (писал кое что сам, так как было огромное желание разобраться, итог - работает уже полгода):
squid - прокси сервер.
samba - контроллер домена + файловый сервер (в принципе, под Windows существуют ntlm и прочие helpers).
rejik - блокирует рекламу и прочее + блокирует тех, кто превысил лимит (как по пользователю, так и по IP) с подробным объяснением причин и ссылкой на отчет по трафику.
sacc - парсер логов в базу mysql и php-скрипты для типовых отчетов.
Мною написан только модуль external_acl_type (на C), который принимает на вход IP адрес клиента. На выходе всегда: "OK имя_пользователя". Имя пользователя определяется исходя из того, под каким именем с этого IP пользователь вошел в домен.
Rejik работает по имени пользователя и принимает решение, что делать с запросом (пустить, порезать рекламу, перенаправить на страницу с объяснением причин отказа в доступе и т.п.).
Сбор статистики висит как демон и если превышен лимит, записывает имя пользователя в файл (для rejik) и делает SIGHUP.
В принципе, несмотря на громоздкость описания, система довольно простая и легко модернизируется. Работает в realtime.
Так же считаю полезным изучить и использовать опции delay pools.
В локальной сети, особенно если много Виндовских клиентов удобно использовать wpad в связке файлом .pac (web proxy auto detection и proxy auto configuration).
squid - прокси сервер.
samba - контроллер домена + файловый сервер (в принципе, под Windows существуют ntlm и прочие helpers).
rejik - блокирует рекламу и прочее + блокирует тех, кто превысил лимит (как по пользователю, так и по IP) с подробным объяснением причин и ссылкой на отчет по трафику.
sacc - парсер логов в базу mysql и php-скрипты для типовых отчетов.
Мною написан только модуль external_acl_type (на C), который принимает на вход IP адрес клиента. На выходе всегда: "OK имя_пользователя". Имя пользователя определяется исходя из того, под каким именем с этого IP пользователь вошел в домен.
Rejik работает по имени пользователя и принимает решение, что делать с запросом (пустить, порезать рекламу, перенаправить на страницу с объяснением причин отказа в доступе и т.п.).
Сбор статистики висит как демон и если превышен лимит, записывает имя пользователя в файл (для rejik) и делает SIGHUP.
В принципе, несмотря на громоздкость описания, система довольно простая и легко модернизируется. Работает в realtime.
Так же считаю полезным изучить и использовать опции delay pools.
В локальной сети, особенно если много Виндовских клиентов удобно использовать wpad в связке файлом .pac (web proxy auto detection и proxy auto configuration).
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя