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

Исходное сообщение
"squid + ulogd"

Отправлено SAV_83 , 13-Май-08 13:47 
Если уже данный вопрос всплывал или не туда отписался, извините.

Мучался долго с SAMS настроить так и не удалось и решил сделать свою разработку.
Написал я подобие биллинга для сквида.
скрипт считает сколько юзер использовал трафика по access.log

Но это не суть важно. Столкнулся с фактом, что в access.log пишется инфа о скачаном после того как она скачалась, тоесть если одной сессией качается 1 гиг, то в access.log попадут данные после того как этот гиг скачают.

Я посредством ulogd хочу считать, чтоб пользователь превысивший лимит рубанулся правилом в iptables и не продолжил качать. Натыкался на подобное в инете, но никто не расписывал решение.

в iptables настроил чтоб все пакеты идущие от прокси к пользователям попадали в
базу ulogd.
-A OUTPUT -s 192.168.2.147 -d 192.168.0.0/255.255.0.0 -o eth0 -p tcp -m tcp --sport 3128 -j ULOG --ulog-prefix "SQUID_OUT" --ulog-cprange 48 --ulog-qthreshold 50

нашел метод как вычислить по логам ulogd сколько трафика взял определенный ip.
результат совпадает с данными access.log
экспериментировал на ya.ru, yandex.ru, пока вычислял формулу для расчетов.
зайдя на другой сайт, формула сразу не работает, и начинает когда много раз данный сайт откроешь.
КАК Я ПОНЯЛ по экспериментам, что через squid некешированные(squidом) данные попадают в ulogd 2 раза.

вот и застрял я на том, что не знаю как отбросить вторичное попадание пакета в лог ulogd!
подсобите ПЛЗ!
понимаю что можно не использовать кеш, но это не выход!

прокся стоит внутри сети, машина с 1 интерфейсом


Содержание

Сообщения в этом обсуждении
"squid + ulogd"
Отправлено Sloboda , 14-Май-08 15:46 
>КАК Я ПОНЯЛ по экспериментам, что через squid некешированные(squidом) данные попадают в
>ulogd 2 раза.

Странно. Не знаю, что можно подсказать, кроме внимательно экспериментирования.

И проверить, не продублирована ли строчка
-A OUTPUT -s 192.168.2.147 -d 192.168.0.0/255.255.0.0 -o eth0 -p tcp -m tcp --sport 3128 -j ULOG --ulog-prefix "SQUID_OUT" --ulog-cprange 48 --ulog-qthreshold 50
два раза.

Предлагаю вместо ulogd посмотреть на pmacct.


"squid + ulogd"
Отправлено SAV_83 , 19-Май-08 15:59 
>>КАК Я ПОНЯЛ по экспериментам, что через squid некешированные(squidом) данные попадают в
>>ulogd 2 раза.
>
>Странно. Не знаю, что можно подсказать, кроме внимательно экспериментирования.
>
>И проверить, не продублирована ли строчка
>-A OUTPUT -s 192.168.2.147 -d 192.168.0.0/255.255.0.0 -o eth0 -p tcp -m tcp
>--sport 3128 -j ULOG --ulog-prefix "SQUID_OUT" --ulog-cprange 48 --ulog-qthreshold 50
>два раза.

Строка не продублирована. Не все пакеты дублируются.
>Предлагаю вместо ulogd посмотреть на pmacct.

а pmacct в базу mysql пишет?


"squid + ulogd"
Отправлено Pahanivo , 20-Май-08 11:04 
Не особо спец по сквиду - но трабла изаестная.
Видел патчи чтобы сквид пе по окончании загрузки всего файла в лог писал, а переодически.



"squid + ulogd"
Отправлено SAV_83 , 20-Май-08 16:54 
>Не особо спец по сквиду - но трабла изаестная.
>Видел патчи чтобы сквид пе по окончании загрузки всего файла в лог
>писал, а переодически.

говорят что есть патч который закачку рубает пользователю если у него, скажем перерыв, к примеру с часу до двух, по сквиду прописан, но так и не находил.


"squid + ulogd"
Отправлено Sloboda , 20-Май-08 15:16 
>Строка не продублирована. Не все пакеты дублируются.

В крайнем удивлении.

>>Предлагаю вместо ulogd посмотреть на pmacct.
>а pmacct в базу mysql пишет?

Да.