Я только начинаю админить сквид. Подскажите пожалуйста как с помощью acl в сквиде задать лимиты по трафику всем пользователям. Можно ли создать несколько групп пользователей по лимиту? Например у одной группы пользователей - лимит 100 мб, а у другой группы 200 мб и т.д.?
Я тоже не знаю как провильно определить лимит для пользователей. Вы нашли решение?
Может кто нибудь подсказать по даннома вопросу? Или скинуть какую нибудь документацию на мыло.Откликнитесь, пожалуйста.
>Я только начинаю админить сквид. Подскажите пожалуйста как с помощью acl в
>сквиде задать лимиты по трафику всем пользователям. Можно ли создать несколько
>групп пользователей по лимиту? Например у одной группы пользователей - лимит
>100 мб, а у другой группы 200 мб и т.д.?Сквид сам ничего не считает, а просто пишет лог. Нужно ставить сторонние программы , которые пишут счетчики в базу. Например
http://www.security.perm.ru/cgi-bin/engine?toolz
прога sacc
другой вариант http://evc.fromru.com/squid2mysql/
пакет squid2mysql
http://www.opennet.me/base/net/squid2mysql.txt.html
http://evc.fromru.com/squid2mysql/
http://www.uvsw.narod.ru/project/squid2mysql.html
А для windows естьчто нибудь? Допустим у меня в SQL Server-е 2005 храниться информация о трафике. Необходимо в определенный момент отключить одного пользователя. Как лучше это сделать? (переделать конфиг что ли?)
>А для windows естьчто нибудь? Допустим у меня в SQL Server-е 2005
>храниться информация о трафике. Необходимо в определенный момент отключить одного пользователя.
>Как лучше это сделать? (переделать конфиг что ли?)У нас в организации запускается скрипт суммирующий траффик пользователя по запросам в интервал времени (логи в БД) и формирует бан-лист, остается только командовать сквиду -k reconfigure из крона.
/usr/local/squid/etc#cat limit_month.sql
Use squidlog;
SELECT "NOUSER";
SELECT a.username
-- , DATE_ADD( a.OverDate , INTERVAL 30 DAY )
-- ,if(curdate()<DATE_ADD( a.OverDate , INTERVAL 30 DAY ) , a.month_overload ,0 )
-- , log.trafic ,a.maxmonthly
from auth a
inner join (
SELECT l1.`userident` as username, SUM(`bytes`)/1024/1024 as trafic FROM `logger` l1
WHERE
code in (1,4,5) and l1.`date`>DATE_SUB( curdate() , INTERVAL 30 DAY )
group by `userident`) log
ON log.username=a.username
WHERE
(a.maxmonthly+(if(curdate()<DATE_ADD( a.OverDate , INTERVAL 30 DAY )
, a.month_overload ,0 ))<log.trafic)
and
a.maxmonthly<>0
order by a.`username`
Используй SAMS. Отличная штука!