обрубание трафика по достижении общей квоты
Модератор: terminus
Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
- лейтенант
- Сообщения: 895
- Зарегистрирован: 2007-07-08 23:53:20
- Откуда: SPb
- Контактная информация:
обрубание трафика по достижении общей квоты
знаю что повторяюсь, да простит меня lissyara, но вопрос так и не был решён, а вернуться к нему всё таки пришлось
уже давно не могу придумать как решить с наименьшим геморроем задачку:
на контору даётся 2Гб инета, трафик проходит через гейт и раздаётся сетке, нужно при достижении трафика этой величины(2Гб), обрубать инет всем, кроме одного компа.
на гейте: FreeBSD6.2, IPFW, Squid, Rejik, Lightsquid
уже давно не могу придумать как решить с наименьшим геморроем задачку:
на контору даётся 2Гб инета, трафик проходит через гейт и раздаётся сетке, нужно при достижении трафика этой величины(2Гб), обрубать инет всем, кроме одного компа.
на гейте: FreeBSD6.2, IPFW, Squid, Rejik, Lightsquid
Xeon X5460, RAM 8Gb, FreeBSD 13.1-RELEASE on amd64, Apache 2.4, PHP 7.3.30, MySQL 5.7, Exim 4.95_5, Dovecot 2.3.19.1
Услуги хостинговой компании Host-Food.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
- Fastman
- ст. лейтенант
- Сообщения: 1236
- Зарегистрирован: 2006-07-07 10:20:38
- Откуда: Минск. РБ
Re: обрубание трафика по достижении общей квоты
Только сегодня поднял и оттестил SAMS. Да, считает WEB FTP, но это основной траффик, поэтому достаточно обычно.
Не могу точно сказать нравится или нет - но пока просто в восторге от web-админки. Ставится из портов - конфигурация минимальна.
У меня FreeBSD 6.1, SQUID, PHP5+Apache22+mySQL 5.x - с этой связкой SAMS реально работает. Автоматически обрубает пользователей превысивших свой лимит.
Не могу точно сказать нравится или нет - но пока просто в восторге от web-админки. Ставится из портов - конфигурация минимальна.
У меня FreeBSD 6.1, SQUID, PHP5+Apache22+mySQL 5.x - с этой связкой SAMS реально работает. Автоматически обрубает пользователей превысивших свой лимит.
Главное в жизни здоровье и любовь, остальное я все куплю.
-
- лейтенант
- Сообщения: 895
- Зарегистрирован: 2007-07-08 23:53:20
- Откуда: SPb
- Контактная информация:
Re: обрубание трафика по достижении общей квоты
а может ли SAMS обрубать пользователей когда они превысят общий лимит, а не персональный...ну скажем, включить всех пользователей, кроме админа, в одну группу и установить ей лимит, а админа в другую группу - без лимитов?
Xeon X5460, RAM 8Gb, FreeBSD 13.1-RELEASE on amd64, Apache 2.4, PHP 7.3.30, MySQL 5.7, Exim 4.95_5, Dovecot 2.3.19.1
- Fastman
- ст. лейтенант
- Сообщения: 1236
- Зарегистрирован: 2006-07-07 10:20:38
- Откуда: Минск. РБ
Re: обрубание трафика по достижении общей квоты
На самом деле можно, все что он делает - добавляет в squid.conf - acl-ы
Можно и без него обойтись написав пару скриптов на shell+trafd.
Я сам ставил его из-за удобной админки и хранения логов в mysql.
Можно и без него обойтись написав пару скриптов на shell+trafd.
Я сам ставил его из-за удобной админки и хранения логов в mysql.
-
- лейтенант
- Сообщения: 895
- Зарегистрирован: 2007-07-08 23:53:20
- Откуда: SPb
- Контактная информация:
Re: обрубание трафика по достижении общей квоты
Help me...у меня FreeBSD 6.2, MySQL 5.0.27, Apache 1.3.37, PHP5-5.2.3, Squid 2.6.13, SAMS 20070524.
установил из портов, файлы конечно же легли не по тем местам, которые описаны тут: http://sams.perm.ru/ , но я их нашёл и попытался создать пользователя sams в MySQL (по инструкции) и так далее. Собственно "так далее так и не получилось". Пользователя не создаёт ни вручную ни с помощью тех самых скриптов. Соответственно и базу в MySQL не создаёт, так как нет пользователя...
пробовал в sams.conf прописывать root, от его имени создаёт базу
установил из портов, файлы конечно же легли не по тем местам, которые описаны тут: http://sams.perm.ru/ , но я их нашёл и попытался создать пользователя sams в MySQL (по инструкции) и так далее. Собственно "так далее так и не получилось". Пользователя не создаёт ни вручную ни с помощью тех самых скриптов. Соответственно и базу в MySQL не создаёт, так как нет пользователя...
пробовал в sams.conf прописывать root, от его имени создаёт базу
Xeon X5460, RAM 8Gb, FreeBSD 13.1-RELEASE on amd64, Apache 2.4, PHP 7.3.30, MySQL 5.7, Exim 4.95_5, Dovecot 2.3.19.1
-
- лейтенант
- Сообщения: 895
- Зарегистрирован: 2007-07-08 23:53:20
- Откуда: SPb
- Контактная информация:
Re: обрубание трафика по достижении общей квоты
и ещё вопрос, АТС некоторое время "забирает" на соединение. То есть, реально я только набрал номер и услышал гудки (1 сек), а АТС в логи пишет 7секунд. Можно ли автоматом эти 6 секунд обрубать в ATSlog ? А то время не корректно отображается в статистике
Xeon X5460, RAM 8Gb, FreeBSD 13.1-RELEASE on amd64, Apache 2.4, PHP 7.3.30, MySQL 5.7, Exim 4.95_5, Dovecot 2.3.19.1
- Alex Keda
- стреляли...
- Сообщения: 35437
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Re: обрубание трафика по достижении общей квоты
кто мешает пройтись по БД и вычесть нужное время, пометив в отдельной колонке, что вычел...
Убей их всех! Бог потом рассортирует...
-
- лейтенант
- Сообщения: 895
- Зарегистрирован: 2007-07-08 23:53:20
- Откуда: SPb
- Контактная информация:
Re: обрубание трафика по достижении общей квоты
э..это как делается то? Я так не умею
SQL второй раз в жизни щупаю...

Xeon X5460, RAM 8Gb, FreeBSD 13.1-RELEASE on amd64, Apache 2.4, PHP 7.3.30, MySQL 5.7, Exim 4.95_5, Dovecot 2.3.19.1
- Alex Keda
- стреляли...
- Сообщения: 35437
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Re: обрубание трафика по достижении общей квоты
ну, добавляешь ещё одну колонку, updated int(1), а потом по крону скриптом делаешь чё-то типа такого
в один запрос запихать навскидку немогу 
Код: Выделить всё
UPDATE `table` SET `duration`=`duration` - 9 WHERE `updated`!='1'
UPDATE `table` SET `updated`='1'

Убей их всех! Бог потом рассортирует...
-
- лейтенант
- Сообщения: 895
- Зарегистрирован: 2007-07-08 23:53:20
- Откуда: SPb
- Контактная информация:
Re: обрубание трафика по достижении общей квоты
блин, я уже умаялся искать софтину которая бы делала вот это:
на контору даётся 2Гб инета, трафик проходит через гейт (FreeBSD6.2 + IPFW + Squid (ARP авторизация) + Rejik + Lightsquid + MySQL5) и раздаётся сетке (около 35 Windows машин), нужно при достижении ОБЩЕГО трафика этой величины(2Гб), обрубать инет всем, кроме одного компа (админского).
Пожелания: хотелось бы что бы Rejik продолжал функционировать и Squid тоже (именно с ARP аворизацией)
нужно что бы кто то написал: "Да, такая то софтина 100% это умеет делать, сам проверял". Потому что пока все доводы из области предположений или считаются персональные квоты каждого (а предположить кому сколько понадобиться каждый месяц не представляется возможным). Не хочется "трахаться" с каждой софтиной поочереди, что бы в конце концов понять - это не то.
на контору даётся 2Гб инета, трафик проходит через гейт (FreeBSD6.2 + IPFW + Squid (ARP авторизация) + Rejik + Lightsquid + MySQL5) и раздаётся сетке (около 35 Windows машин), нужно при достижении ОБЩЕГО трафика этой величины(2Гб), обрубать инет всем, кроме одного компа (админского).
Пожелания: хотелось бы что бы Rejik продолжал функционировать и Squid тоже (именно с ARP аворизацией)
нужно что бы кто то написал: "Да, такая то софтина 100% это умеет делать, сам проверял". Потому что пока все доводы из области предположений или считаются персональные квоты каждого (а предположить кому сколько понадобиться каждый месяц не представляется возможным). Не хочется "трахаться" с каждой софтиной поочереди, что бы в конце концов понять - это не то.
Xeon X5460, RAM 8Gb, FreeBSD 13.1-RELEASE on amd64, Apache 2.4, PHP 7.3.30, MySQL 5.7, Exim 4.95_5, Dovecot 2.3.19.1
- Alex Keda
- стреляли...
- Сообщения: 35437
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Re: обрубание трафика по достижении общей квоты
помоему я уже писал, но всё же ещё раз - shell умеет.
Убей их всех! Бог потом рассортирует...
-
- лейтенант
- Сообщения: 895
- Зарегистрирован: 2007-07-08 23:53:20
- Откуда: SPb
- Контактная информация:
Re: обрубание трафика по достижении общей квоты
shell это который командный интертрепатор ???
Xeon X5460, RAM 8Gb, FreeBSD 13.1-RELEASE on amd64, Apache 2.4, PHP 7.3.30, MySQL 5.7, Exim 4.95_5, Dovecot 2.3.19.1
- sevalex77
- сержант
- Сообщения: 163
- Зарегистрирован: 2006-08-18 12:56:56
- Откуда: Ульяновск
- Контактная информация:
Re: обрубание трафика по достижении общей квоты
Вот скрипт для Lightsquid обрубания траффика юзерам превысившим лимит
Код: Выделить всё
#!/usr/bin/perl
#
# LightSquid Project (c) 2004-2005 Sergey Erokhin aka ESL
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# detail see in gnugpl.txt
# Show mont user list
use File::Basename;
push (@INC,(fileparse($0))[1]);
require "lightsquid.cfg";
require "common.pl";
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime;
$year=sprintf("%02d",$year+1900);
$month=sprintf("%02d",$mon+1);
$filter="$year$month";
@daylist=glob("$reportpath/$filter*");
foreach $daypath (sort @daylist) {
open FF,"<$daypath/.total";
# GetRealName($daypath,"?"); # init realname for day
while (<FF>) {
($user,$size,$hit)=split;
$h{$user}{size}+=$size;
$h{$user}{hit}+=$hit;
}
close FF;
}
open FF,"</usr/local/squid/limit";
while (<FF>) {
($user,$limit)=split;
$tt{$user}{limit}=$limit;
}
close FF;
open FF,">","/usr/local/squid/blocked_users";
foreach $user (sort {$h{$b}{size}<=>$h{$a}{size}} keys %h) {
print FF ("$user\n") if ($h{$user}{size} > $tt{$user}{limit});
}
close FF;
exec '/usr/local/squid/sbin/squid -k reconfigure'
"Принять решение намного легче, если у тебя нет выбора"
- Fastman
- ст. лейтенант
- Сообщения: 1236
- Зарегистрирован: 2006-07-07 10:20:38
- Откуда: Минск. РБ
Re: обрубание трафика по достижении общей квоты
В этом случае будет учтен только HTTP(FTP) трафик, а человеку видимо нужно ОБЩИЙ как я понял.sevalex77 писал(а):Вот скрипт для Lightsquid обрубания траффика юзерам превысившим лимит
Самый простой выход, считать трафик на внешнем интерфейсе (trafd - вполне адекватное по моему решение) + скрипт который по достижению лимита будет посредством ipfw добавлять правила для зарубания всех кроме одной машины.
Главное в жизни здоровье и любовь, остальное я все куплю.
-
- лейтенант
- Сообщения: 638
- Зарегистрирован: 2007-04-08 5:50:16
Re: обрубание трафика по достижении общей квоты
Как вариант /usr/ports/sysutils/ipa ?
-
- лейтенант
- Сообщения: 895
- Зарегистрирован: 2007-07-08 23:53:20
- Откуда: SPb
- Контактная информация:
Re: обрубание трафика по достижении общей квоты
а это что за зверь?reLax писал(а):Как вариант /usr/ports/sysutils/ipa ?
мне желательно конечно за ВСЕМ трафиком следить, но за неимением вариантов согласен и на HTTP и FTP, всё равно юзеры другое вряд ли будут использовать
Xeon X5460, RAM 8Gb, FreeBSD 13.1-RELEASE on amd64, Apache 2.4, PHP 7.3.30, MySQL 5.7, Exim 4.95_5, Dovecot 2.3.19.1
- Raven2000
- -=_UNIX_=-
- Сообщения: 4427
- Зарегистрирован: 2006-10-29 17:59:13
- Откуда: Там, где нас нет.
- Контактная информация:
Re: обрубание трафика по достижении общей квоты
Тебе подойдет 3proxy tiny free proxy server
В общем мне понравился супер даже под винду пашет на +5
Port 3proxy-0.5.3h
Шестерки в портах нету качай тут
Если что помогу с конфигом. Эта прога очень интерестна 300кило для маздая и работает без проблем так что рекомендую.
Он и делает счетчика на каждого узверя и можно вем статистику через него + каналы режет по группам + можно что бы сожрали например весь траф а почту оставить нужно3proxy это маленький многоплатформный набор прокси-серверов (под Linux/Unix и Windows, включая 64-битные версии). Он включает в себя HTTP прокси с поддержкой HTTPS и FTP (proxy/proxy.exe), SOCKSv4/SOCKSv4.5/SOCKSv5 прокси (socks/socks.exe), POP3 прокси (pop3p/pop3p.exe), FTP proxy, кэширующий DNS прокси, TCP и UDP портмапперы (tcppm, udppm) а так же комбинированный прокси-сервер с поддержкой дополнительных возможностей, таких как управление доступом, ограничение ширины потребляемого канала, ограничение трафика на день, неделю и месяц, перенаправление соединений, построение цепочек соединений (proxy chaining), ротацию лог-файлов, ведение журналов через ODBC и syslog и т.д. (3proxy). Он создан в рассчете на то, чтобы быть маленьким и простым (я бы хотел сказать еще и безопасным, но пока поостерегуюсь - сервер в стадии бета-тестирования) и в то же время функциональным. Он может быть скомпилирован как с помощью Visual C так и с помощью gcc. Версия под Win32 использует родные библиотеки (т.е. не требуется Cygwin или другие POSIX-эмуляторы), поддерживается установка в качестве сервиса. На сегодняшний день работоспособность проверена на Windows 98/NT/2000/2003/XP/x64, FreeBSD/i386, NetBSD/i386, OpenBSD/i386, Linux/i386, Linux/PPC, Linux/Alpha, Mac OS X/PPC, Solaris 10/i386. Полный список возможностей см. Release Notes и Changes.
3proxy является FreeWare и может быть использован по лицензии GNU/GPL или под собственной лицензией. Начиная с версии 0.6 Используется лицензия типа BSD, позволяющая, так же, использовать LGPL, Apache License и многие другие совместимые типы лицензирования.
В общем мне понравился супер даже под винду пашет на +5
Port 3proxy-0.5.3h
Шестерки в портах нету качай тут
Если что помогу с конфигом. Эта прога очень интерестна 300кило для маздая и работает без проблем так что рекомендую.
Если хочешь разобраться... Так иди и разбирайся!
[ igNix.ru | Технология жизни - технологии будущего ] [ Forum.igNix.ru ]
[ igNix.ru | Технология жизни - технологии будущего ] [ Forum.igNix.ru ]
-
- лейтенант
- Сообщения: 895
- Зарегистрирован: 2007-07-08 23:53:20
- Откуда: SPb
- Контактная информация:
Re: обрубание трафика по достижении общей квоты
там приведён пример конфига, в нём есть следующие строки:
2. авторизацию пользователей ко всем proxy службам по имени и паролю или по ip адресам - у меня авторизация сейчас по MAC адресу. А как в этой проксе быть?
3. WEB морда для просмотра отчёта по трафикам имеется?
1. листы доступа...у меня сейчас стоит Squid+Rejik (И режик мне очень помогает.), есть ли возможность редиректа в этой проксе?...листы доступа к различным службам и адресам
ограничение пропускной способности канала каждого пользователя (чтобы пользователь не съел весь канал
качая кучу файлов в несколько потоков)
ограничение трафика пользователя на день, неделю и месяц
ведение журналов через ODBC (по моему такого нет ни в одном proxy) и syslog и т.д
авторизацию пользователей ко всем proxy службам по имени и паролю или по ip адресам
К недостаткам можно отнести это отсутствие кэширования информации. Но в с последнее время Inernet контент становится все более динамическим (то есть не поддающийся кэшированию) и может быть для кого то экономия в 25%
трафика за счет его кэширования не будет столь критична. Для тех кому же критична, автор предлагает пока использовать цепочку из 2х серверов и в качестве кэша такие сервера как wwwoffle или им подобные, либо ждать появления поддержки кеша в 3proxy...
2. авторизацию пользователей ко всем proxy службам по имени и паролю или по ip адресам - у меня авторизация сейчас по MAC адресу. А как в этой проксе быть?
3. WEB морда для просмотра отчёта по трафикам имеется?
Xeon X5460, RAM 8Gb, FreeBSD 13.1-RELEASE on amd64, Apache 2.4, PHP 7.3.30, MySQL 5.7, Exim 4.95_5, Dovecot 2.3.19.1
-
- лейтенант
- Сообщения: 895
- Зарегистрирован: 2007-07-08 23:53:20
- Откуда: SPb
- Контактная информация:
Re: обрубание трафика по достижении общей квоты
а как им пользоваться?и что в нём что?sevalex77 писал(а):Вот скрипт для Lightsquid обрубания траффика юзерам превысившим лимитКод: Выделить всё
#!/usr/bin/perl # # LightSquid Project (c) 2004-2005 Sergey Erokhin aka ESL # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # # detail see in gnugpl.txt # Show mont user list use File::Basename; push (@INC,(fileparse($0))[1]); require "lightsquid.cfg"; require "common.pl"; ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime; $year=sprintf("%02d",$year+1900); $month=sprintf("%02d",$mon+1); $filter="$year$month"; @daylist=glob("$reportpath/$filter*"); foreach $daypath (sort @daylist) { open FF,"<$daypath/.total"; # GetRealName($daypath,"?"); # init realname for day while (<FF>) { ($user,$size,$hit)=split; $h{$user}{size}+=$size; $h{$user}{hit}+=$hit; } close FF; } open FF,"</usr/local/squid/limit"; while (<FF>) { ($user,$limit)=split; $tt{$user}{limit}=$limit; } close FF; open FF,">","/usr/local/squid/blocked_users"; foreach $user (sort {$h{$b}{size}<=>$h{$a}{size}} keys %h) { print FF ("$user\n") if ($h{$user}{size} > $tt{$user}{limit}); } close FF; exec '/usr/local/squid/sbin/squid -k reconfigure'
Xeon X5460, RAM 8Gb, FreeBSD 13.1-RELEASE on amd64, Apache 2.4, PHP 7.3.30, MySQL 5.7, Exim 4.95_5, Dovecot 2.3.19.1
-
- лейтенант
- Сообщения: 895
- Зарегистрирован: 2007-07-08 23:53:20
- Откуда: SPb
- Контактная информация:
Re: обрубание трафика по достижении общей квоты
видимо прийдётся остановиться на выборе между NETAMS и SAMS. Что посоветуете?
1.NETAMS, как я понимаю, вещь более серьёзная чем SAMS. Какой трафик считает NETAMS? Будет ли работать NETAMS вместе со Squid или в этом нет необходимости? Но как мне тогда прикрутить к NETAMS Rejik?Как с аутентификацией по MAC?
2.SAMS просто человеческая морда к управлению сквидом, правильно? То есть режик останется и вообще гемороя в настройке видимо будет минимум. Но и трафик он только HTTP считает, правильно? Как с аутентификацией по MAC?
1.NETAMS, как я понимаю, вещь более серьёзная чем SAMS. Какой трафик считает NETAMS? Будет ли работать NETAMS вместе со Squid или в этом нет необходимости? Но как мне тогда прикрутить к NETAMS Rejik?Как с аутентификацией по MAC?
2.SAMS просто человеческая морда к управлению сквидом, правильно? То есть режик останется и вообще гемороя в настройке видимо будет минимум. Но и трафик он только HTTP считает, правильно? Как с аутентификацией по MAC?
Xeon X5460, RAM 8Gb, FreeBSD 13.1-RELEASE on amd64, Apache 2.4, PHP 7.3.30, MySQL 5.7, Exim 4.95_5, Dovecot 2.3.19.1
-
- лейтенант
- Сообщения: 895
- Зарегистрирован: 2007-07-08 23:53:20
- Откуда: SPb
- Контактная информация:
Re: обрубание трафика по достижении общей квоты
что то душа больше к SAMS лежит 

Xeon X5460, RAM 8Gb, FreeBSD 13.1-RELEASE on amd64, Apache 2.4, PHP 7.3.30, MySQL 5.7, Exim 4.95_5, Dovecot 2.3.19.1
- Raven2000
- -=_UNIX_=-
- Сообщения: 4427
- Зарегистрирован: 2006-10-29 17:59:13
- Откуда: Там, где нас нет.
- Контактная информация:
Re: обрубание трафика по достижении общей квоты
Да1. листы доступа...у меня сейчас стоит Squid+Rejik (И режик мне очень помогает.), есть ли возможность редиректа в этой проксе?
тоже есть2. авторизацию пользователей ко всем proxy службам по имени и паролю или по ip адресам - у меня авторизация сейчас по MAC адресу. А как в этой проксе быть?
Есть3. WEB морда для просмотра отчёта по трафикам имеется?
Если хочешь разобраться... Так иди и разбирайся!
[ igNix.ru | Технология жизни - технологии будущего ] [ Forum.igNix.ru ]
[ igNix.ru | Технология жизни - технологии будущего ] [ Forum.igNix.ru ]
- Alex Keda
- стреляли...
- Сообщения: 35437
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Re: обрубание трафика по достижении общей квоты
слово сквид - это почти всегда ответ - есть 

Убей их всех! Бог потом рассортирует...
- Fastman
- ст. лейтенант
- Сообщения: 1236
- Зарегистрирован: 2006-07-07 10:20:38
- Откуда: Минск. РБ
Re: обрубание трафика по достижении общей квоты
только советую не ставить чтение squid лога через пайп. Там 2 варианта - либо делается fifo файл через который все пишется в mysql напрямую, либо допустим раз в 5 минут запускается парсер сквидовского лога. выбирай 2 вариант. может только у меня так, но промучавшись 2 дня с 1 вариантом - забыл как страшный сон ) А во вторых сквидовский лог остается целым и невредимым )gyurza2000 писал(а):что то душа больше к SAMS лежит
Главное в жизни здоровье и любовь, остальное я все куплю.
- sevalex77
- сержант
- Сообщения: 163
- Зарегистрирован: 2006-08-18 12:56:56
- Откуда: Ульяновск
- Контактная информация:
Re: обрубание трафика по достижении общей квоты
Создаешь например файл block.pl, который содержит этот срипт в любой директории, например в /usr/local/etc/squid. Запихиваешь его в рутовый cron, например раз в 10 минут. Создаешь также файл limit и blocked_users /usr/local/etc/squid. В limit добавляешь квоты для каждого юзера. У меня авторизация по логину и паролю. Соответственно будет так: user 100000000 - ''этот пользователь может скачать 100 mb за месяц, трафик обнуляется в конце месяца. Добавляешь пользователя по одному в строке с его квотой. После превышения этот пользователь добавиться в blocked_users. В конфиге squid прописываешьgyurza2000 писал(а):а как им пользоваться?и что в нём что?sevalex77 писал(а):Вот скрипт для Lightsquid обрубания траффика юзерам превысившим лимитКод: Выделить всё
#!/usr/bin/perl # # LightSquid Project (c) 2004-2005 Sergey Erokhin aka ESL # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # # detail see in gnugpl.txt # Show mont user list use File::Basename; push (@INC,(fileparse($0))[1]); require "lightsquid.cfg"; require "common.pl"; ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime; $year=sprintf("%02d",$year+1900); $month=sprintf("%02d",$mon+1); $filter="$year$month"; @daylist=glob("$reportpath/$filter*"); foreach $daypath (sort @daylist) { open FF,"<$daypath/.total"; # GetRealName($daypath,"?"); # init realname for day while (<FF>) { ($user,$size,$hit)=split; $h{$user}{size}+=$size; $h{$user}{hit}+=$hit; } close FF; } open FF,"</usr/local/squid/limit"; while (<FF>) { ($user,$limit)=split; $tt{$user}{limit}=$limit; } close FF; open FF,">","/usr/local/squid/blocked_users"; foreach $user (sort {$h{$b}{size}<=>$h{$a}{size}} keys %h) { print FF ("$user\n") if ($h{$user}{size} > $tt{$user}{limit}); } close FF; exec '/usr/local/squid/sbin/squid -k reconfigure'
Код: Выделить всё
acl users proxy_auth REQUIRED
acl banusers proxy_auth "/usr/local/etc/squid/blocked_users"
http_access allow aolaccess banusers
http_access deny banusers
http_access allow users
http_access deny all
"Принять решение намного легче, если у тебя нет выбора"