URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 3140
[ Назад ]

Исходное сообщение
"OpenNews: Подсчет трафика в Squid"

Отправлено opennews , 19-Янв-04 19:52 
Станислав Осипов написал статью о подсчете трафика проходящего через Squid используя MySQL.

URL: http://www.opennet.me/base/net/squid_trafic.txt.html

Новость: http://www.opennet.me/opennews/art.shtml?num=3317


Содержание

Сообщения в этом обсуждении
"Подсчет трафика в Squid"
Отправлено avial , 19-Янв-04 19:52 
Нда. Интересно, и многие новые ядра сразу на рабочие машинки ставят? Неужели история с первыми 2.4.* ничему не научила?

"Подсчет трафика в Squid"
Отправлено Nikolaev_D , 19-Янв-04 22:07 
>многие новые ядра сразу на рабочие машинки ставят?

А где там про ядра ?


"Подсчет трафика в Squid"
Отправлено Zergling , 19-Янв-04 22:13 
с одной стороны человек потрудился :)
молодец! для тех кому лень возиться
и для новичков очень не плохая (делай
раз, делай два, делай три) статья!
причем не жадный :) все ... раз и выложил
а с другой стороны ....
плохо - очень плохо!!!
угу а если у нас задача (а так обычно оно и есть)
отрубать пользователя превысившего лимит а ?
чего делать тогда ? при такой схеме ?

"Подсчет трафика в Squid"
Отправлено Осипов Станислав , 20-Янв-04 19:47 
>с одной стороны человек потрудился :)
>молодец! для тех кому лень возиться
>и для новичков очень не плохая (делай
>раз, делай два, делай три) статья!
>причем не жадный :) все ... раз и выложил
>а с другой стороны ....
>плохо - очень плохо!!!
>угу а если у нас задача (а так обычно оно и есть)
>
>отрубать пользователя превысившего лимит а ?
>чего делать тогда ? при такой схеме ?

читать ман по скуиду и думать.
я же написал _ПРОСТЕЙШУЮ_ схему.
додумывайте сами, ибо я дал фундамент, а дома построите сами.
А то, что не жадный просто говорит о том, что я получаю за свою работу приличные деньги и доволен своей работой.


"Подсчет трафика в Squid"
Отправлено small , 19-Янв-04 22:16 
Не знаю, у меня трафик виндовая прога "запамятовал как она называется великолепно считает"

"Подсчет трафика в Squid"
Отправлено Nikolaev_D , 19-Янв-04 22:36 
> великолепно считает

Все считать у нас в стране любят. Пусть файл стоит 1$. Типа я файл скопировал у меня стало 2$.


"Подсчет трафика в Squid"
Отправлено avial , 20-Янв-04 00:12 
2 Nikolaev_D

Linux 2.6.0


"Подсчет трафика в Squid"
Отправлено Алекс , 20-Янв-04 03:54 
Да и отрубать можно при такой схеме... :)
Только чуть-чуть переделать...

Вся проблема в том, что сквид сбрасывает в лог запись только после того как соединение прекращено. Т.е. если лимит 10 Мб, а пользователь скачал одним куском 1500 Мб, то его отключит после завершения закачки.


"Подсчет трафика в Squid"
Отправлено WizART , 20-Янв-04 08:23 
В сквиде есть такая штука: cache manager
Настроив его и выполнив 'squidclient -p $squid_port cache_object://127.0.0.1/active_requests' можно узнать об активных на текущий момент сессиях... в т.ч. и о скачаных объемах, о IP и портах клентского стека TCP/IP.
Соответственно, можно прикрыть на время этот клиентский IP:порт на прокси правилом reset файлвола.
Вполне работоспособное решение будет.

"Подсчет трафика в Squid"
Отправлено RiTmiK , 20-Янв-04 05:55 
Считать траффик только по сквиду и тем более контролировать лимиты - плохая идея. ИМХО проще через правила, или, если надо по пользователям, через VPN.

"Подсчет трафика в Squid"
Отправлено aleks , 20-Янв-04 10:02 
а как тогда по VPN считать трафик с многопользовательских машин? Если у меня все либо через Windows Terminal Services или x-terminal в интернет выходят и счтитать надо по login'ам?

"Подсчет трафика в Squid"
Отправлено MOByte , 20-Янв-04 11:47 
У терминала ip есть? По VPN x-terminal нельзя поднять?

"Подсчет трафика в Squid"
Отправлено aleks , 20-Янв-04 17:50 
Откуда? всё исполняется на сервере, а отображается на клиенте. Т.е. все запросы идут с ИП сервера.

"Подсчет трафика в Squid"
Отправлено yarmol , 21-Янв-04 18:16 
>Откуда? всё исполняется на сервере, а отображается на клиенте. Т.е. все запросы
>идут с ИП сервера.

Ну тут только по пользователю можно ориентироваться.
Можно оттолкнуться от системы luta, она где-то на этом сервере анонсировалась. Считает коннекты и трафик по юзерам, но это не учетка, а только счетчики.
А я, в свое время, обошелся iptables. Просто весь трафик от определенного юзера маскарадился от определенного ip (которого физически не существует).
В результате, на роутере можно считать трафик по ip в обе стороны (по owner только исходящий), и на роутере-же отрубать кто переходил свои лимиты.

Ес-сно все эти решения только под линух


"Подсчет трафика в Squid"
Отправлено aleks , 22-Янв-04 12:09 
Вот в том-то и смысл данных систем, что трафик считается не по ИП (тут наработок много и всё прозрачно), а по логинам. Требуется считать только web-трафик и ничего другого. Задача в том, как это делать точно. У меня всё-таки windows более распростанён (скоро на BeTwin перейду). Про LUTA я знал, но это только под linux :( Сейчас смотрю http://apserver.sourceforge.net/ это вроде можно переделать для решения данной задачи.

"Подсчет трафика в Squid"
Отправлено urpyLLIKa , 20-Янв-04 07:32 
NetFlow - если хочешь считать более или менее правильно трафик.

Вопрос только какого уровня тебе его считать нужно.

Статья интересная, но есть недоработки.

Гигабитный интерфейс - смысл его держать? Коли каналы не толстые у провайдеров и за трафик платить все равно приходится... Хотя для понту - можно :0))

SQUID дает относительную статистику (незабывай про другие протоколы еще).


"Подсчет трафика в Squid"
Отправлено Осипов Станислав , 20-Янв-04 19:42 
смысл в гигабитах простой - у нас до провайдера гигабит. Поэтому все ядро нашей сети тоже построено на гигабите.

"Подсчет трафика в Squid"
Отправлено Игорь , 20-Янв-04 07:41 
Мне лично проще было решить проблему в лоб. Написал простой cgi - скрипт на С++ и вся проблема. Судя по первому впечатлению от статьи на С++ писать не сложнее.
К концу месяца считает подолгу. А так никаких проблем. Можно написать демонок и тогда будет считать быстро. Неохота.

"Подсчет трафика в Squid"
Отправлено Andrey Tuev , 20-Янв-04 09:03 
Самая главная проблема в этом решении - ошибка в скрипте для переноса данных MySQL, работать таки образом с логом просто нельзя :)

"Подсчет трафика в Squid"
Отправлено Дмитрий , 20-Янв-04 14:49 
А вам не приходила в голову мысль, что можно взять Freeradius, pppd, внести небольшие изменения в их исходный код и использовать NAT. Достаточно приемлимо. Я сейчас пишу систему подсчета для WIN2k-SERVER и выше. Написал реализацию Freeradius под WIN. =) Считает нормально. Проблема с отключением пользователей(только в версии под WIN2K). Кто хочет принять участие в проекте пишите на мое мыло.

"Подсчет трафика в Squid"
Отправлено Осипов Станислав , 20-Янв-04 19:47 
>А вам не приходила в голову мысль, что можно взять Freeradius, pppd,
>внести небольшие изменения в их исходный код и использовать NAT. Достаточно
>приемлимо. Я сейчас пишу систему подсчета для WIN2k-SERVER и выше. Написал
>реализацию Freeradius под WIN. =) Считает нормально. Проблема с отключением пользователей(только
>в версии под WIN2K). Кто хочет принять участие в проекте пишите
>на мое мыло.

простите, причем тут windows?


"Подсчет трафика в Squid"
Отправлено Дмитрий , 21-Янв-04 00:26 
>простите, причем тут windows?

Мдя, не подумал =) Про M$ я наверно зря заговорил, просто в WIN и Linux алгоритм подсчета по схеме, которую я привел выше, во многом совпадает =)
Ты же не будешь спорить, что подсчет трафика можно реализовать с помощью Remote Authentication Dial In User Service (RADIUS), pppd, iptables.
Это конечно не относится к Squid, но при помощи него, я бы не стал считать трафик.


"Подсчет трафика в Squid"
Отправлено oleg , 21-Янв-04 15:44 
люди, зачем все это?
веть есть же squid2mysql (http://evc.fromru.com/squid2mysql/index.html) и custom_log patch from squid-cache.org CVS.
зачем изобретать велосипед с квадратными колесами ? :-)

"Подсчет трафика в Squid"
Отправлено Аноним , 23-Янв-04 01:51 
Проще всего юзат один НАТ. Айпитаблесом все кидать в  юзер-моде прогу, которая в реал-тайме ловит логи кернела (в них все расписано, кто, куда, сколько). Такая прога может логировать все в мускл (для дальнейших анализов), а так же в реал-тайме принимать решения о отрубе инета и т.д.

"Подсчет трафика в Squid"
Отправлено Pavel , 23-Янв-04 16:31 
И ты можешь привести пример такой проги?

"Подсчет трафика в Squid"
Отправлено Алекс1 , 25-Янв-04 10:17 
FreeBSD+UTM - вот решение всех проблем.

"Подсчет трафика в Squid"
Отправлено anonymous , 29-Фев-04 07:18 
netams


"Подсчет трафика в Squid"
Отправлено Аноним , 27-Мрт-04 00:20 
analog.cx отлично считает отчет по юзерам если лог пишется сквидом в режиме совместимости с httpd