Дмитрий Кругликов опубликовал статью (http://rejik.ru/830/index.html) об организации блокировки доступа в сеть, при превышении одного из лимитов, установленного для пользователя.Совместно с Squid используются следующие интструменты: анализатор лога SARG и редиректор Rejik (http://rejik.ru/).
URL: http://rejik.ru/830/index.html
Новость: http://www.opennet.me/opennews/art.shtml?num=5013
режик хорошо для удаления баннеров, закрытия порносайтов... но чтобы ограничивать доступ в инет по лимиту это имхо извращение...
проще написать скриптик что т типа ниже и полодить его в крон..#!/usr/bin/perl
open( f_squid,"</var/log/squid/access.log" ) or die( "Cannot open file squidlog" );
%ipbyte=();%iplog=();
$sum=0;while( $str=readline(f_squid) )
{
( $date,$time,$ip,$res,$byte,$method,$url )=split /[,\s]\s*/, $str;
$sum+=$byte; #общий http траффик
$ipbyte{$ip}+=$byte; #траффик по айпишникам
$url=~/[^\/]*\/\/[^\/]*/;
$url=$&;
$iplog{$ip}{$url}+=$byte; #эта строчка нужна если хотите еще разделять урлы по айпишникам
}
close( f_squid )foreach $key( keys %ipbyte )
{
if( $ipbyte{$key}>$limit )
{
#сделать что то чтобы запретить доступ
}
}скрипт не проверял.. могут быть баги
Насколько я понял два отрицательных момента:
у всех одинаковый лимит и невозможность обработки больших логов.
В моем случае лимиты (правда тоже у всех одинаковые) выдаются на календарный месяц,
к концу месяца лог переваливает за 100М,
пользуемся тем же механизмом - крон плюс акли самого сквида вместо режека автора, и все это периодически чрезвычайно не нужно грузит машину.
Решение хорошее, но в отдельно взятом офисе.
Тут нужно что-то типа squid2mysql, но наш администратор не помню по каким причинам отказался от него.
можно самому написать ака squid2mysqlу меня скриптик парсит сквидовский лог каждые пять минут, добавляет в базу и потом ротейтит этот лог... быстро и удобно
Быстро и удобно, да.
Но чтобы было еще и поэтично,
нужен малюсенький демон для "приема лога на себя",
и обсчета "на лету", а дальше хоть в базу, хоть куда
и любая реакция на переполнение лимита без задержки
(даже пятиминутной).
Squid Traffic Counter
http://stc.nixdev.org/
имхо, гораздо функциональнее
Чем функциональнее?
По моему так ничем.
Говорит
Запускается squid: /etc/init.d/squid: line 162: 13610 Aborted $S
QUID $SQUID_OPTS 2>/dev/nullуже все файлы конфигов пересмотрел, не помагает (стоит ASP 9.2 Siberia squid 2 stable4)
В sarg есть возможность по превышению определённого объёма, писать пользователя в текстовый файл (какой сам скажешь)и предварительно cron должен читать ну примерно раз в 10-30 минут статистику!!! А в сквиде по этому файлу пишется acl. Ну а ночью этот файл cronом очищается.