Если уже данный вопрос всплывал или не туда отписался, извините.Мучался долго с 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 некешированные(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 некешированные(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 пишет?
Не особо спец по сквиду - но трабла изаестная.
Видел патчи чтобы сквид пе по окончании загрузки всего файла в лог писал, а переодически.
>Не особо спец по сквиду - но трабла изаестная.
>Видел патчи чтобы сквид пе по окончании загрузки всего файла в лог
>писал, а переодически.говорят что есть патч который закачку рубает пользователю если у него, скажем перерыв, к примеру с часу до двух, по сквиду прописан, но так и не находил.
>Строка не продублирована. Не все пакеты дублируются.В крайнем удивлении.
>>Предлагаю вместо ulogd посмотреть на pmacct.
>а pmacct в базу mysql пишет?Да.