Чтобы анализаторы логов прокси сервера squid отображали данные о пересылках в обход прокси,
например данные по почтовому или ssh трафику, можно сохранить данные о таких пересылках в логе squid.Настройки ipcad:
capture-ports enable;
interface ppp* filter "ip and not dst net 192.168.0.0/16";
aggregate 0.0.0.0/0 strip 32; /* Считаем все адреса */
/* Теперь укажем какие порты как отображать */
aggregate 1-19 into 65535;
aggregate 20-21 into 21;
aggregate 22-23 into 22;
aggregate 25 into 25;
aggregate 24 into 65535;
aggregate 26-79 into 65535;
aggregate 80-81 into 0;
aggregate 82-109 into 65535;
aggregate 110 into 110;
aggregate 111-442 into 65535;
aggregate 443 into 443;
aggregate 444-3127 into 65535;
aggregate 3128 into 0;
aggregate 3129-65535 into 65535;Сам файл обработки ipcad и записи в сквидовский лог:
#!/bin/sh
net="192.168"
ttime=`/usr/bin/rsh localhost sh ip acco|/bin/grep 'Accounting data saved'| /bin/awk '{print ($4)}'`
/usr/bin/rsh localhost clear ip accounting
/usr/bin/rsh localhost show ip accounting checkpoint|/bin/grep $net|/bin/awk -v vtime=$ttime '{print (vtime".000",1,$1,"TCP_MISS/200",$4,"CONNECT",$2":"$6,"-","DIRECT/"$2,"-")}' >>/var/log/squid/access.logВместо 192.168 Вы можете указать свою сеть, которую брать с ipcad'а и заносить в лог прокси сервера Squid.
Таким образом весь трафик, указанный в настройках ipcad'а будет отображен в access.log сквида,
который в данном примере находится в папке /var/log/squid.
URL: http://www.zabudkin.ru/archives/10
Обсуждается: http://www.opennet.me/tips/info/1647.shtml
Пардон за ламерский вопрос.
А SARG этот лог потом обработает корректно?
У меня корректно обработал.
И не только sarg , но и free-sa
ок, спасибо.попробую
А в debian дистрибутиве нужно устанавливать из исходников, или он есть в рипозиториях? apt-cache search не помог.
еще бы по настройке ipcad поподробнее написали цены бы не было
>еще бы по настройке ipcad поподробнее написали цены бы не былов свое время копал тему, и в отзывах нарыл, что ipcad может терять траффик. Т.к. решение к тому моменту уже было на ulogd, дальше не пошел. Однако ipcad. как заявлялось - это надстройка, которая может использовать в качестве источника не только ULOG, но и libpcap, netflow и т.п.
.
Еще одним заявленным плюсом является способность ipcad агрегировать траффик в памяти, что позволяет резко разгрузить ввод вывод на загруженных машинах. Вроде вещь интересная, но отзывы о потере траффика меня насторожили
.
Командный интерфейс ipcad очень напоминает похожие команды Cisco IOS для снятия счетчиков, но ipcad умеет различать траффик не только по IP, но еще по протоколам и портам, что позволяет получить детальную статистику. В общем и целом вы пишите конфигурацию, запускаете ipcad, а далее время от времени подключаетесь и снимаете очередную порцию статистики в виде текстового потока, который можно распарсить
.
Однако справедливости ради стоит сказать, что на сильно прогруженных машинах (даже банальное копирование файла с фильмом) анализатор траффика на ULOG также может терять статистику, и очень прилично. Этот эффект наблюдается при просадке подсистемы ввода вывода, когда статистика (ULOG может писать данные о каждом пакете) просто не успевает сохраняться. На типовых коммуникационных серверах, где требуется учесть с максимальной детализацией гигабайт 10-20 траффика в месяц, ULOG - решения статистику не теряют точно
.
В общем имеет смысл посмотреть в сторону ipcad с его агрегированием схожего траффика в памяти поподробнее и сравнить. Может когда нить дойдут руки
в продолжение темы
.
провел таки тест - на той же конфигурации, где iptables+ULOG теряет пакеты с определенного порога скорости обмена по сети - ipcad собирает статистику, даже не загружая систему. Собирает с полной детализацией по протоколам и портам (включена опция агрегирования). Пробовались 2 варианта - источник данных libpcap, и источник данных - ULOG iptables
.
Эксперимент не полный - требуется еще сравнение на подходящей детальной и продолжительной выборке. С учетом того, что ULOG - статистика при отсутствии перегрузки выдаёт картину, адекватную статистике провайдеров, реализованную на Cisco IP acct, сравнение результата на ipcad должно быть представительно
Поставить, поставил, настроить настроил, а вот через rsh не могу выполнить команду show ip, говорит что незвнает что такое show, типо нет такой программы, ОС Debian 4.0, в чем может быть проблема?
>Поставить, поставил, настроить настроил, а вот через rsh не могу выполнить команду
>show ip, говорит что незвнает что такое show, типо нет такой
>программы, ОС Debian 4.0, в чем может быть проблема?apt-get install rsh-client
>>Поставить, поставил, настроить настроил, а вот через rsh не могу выполнить команду
>>show ip, говорит что незвнает что такое show, типо нет такой
>>программы, ОС Debian 4.0, в чем может быть проблема?
>
>apt-get install rsh-clientСпасибо попробеумс.
Вроде бы все получаеться, осталось только что бы это LightSquid сьел.
Если есть возможность, кинь ,плиз, скриншот, лога, обработанного sargом. Спасибо.
Если я что-то не напутал, то
filter "ip and not dst net 192.168.0.0/16";
это правило вроде как считает исходящий трафик?
Вернее не считает входящий трафик :)
А если надо посчитать входящий, то правило такое:
filter "ip and dst net 192.168.0.0/16 and not src net 192.168.0.0/16";
Актуальней наверное все таки считать входящий траффик, а не исходящий.
Ну и тогда
/usr/bin/rsh localhost show ip accounting checkpoint|/bin/grep $net|/bin/awk -v vtime=$ttime '{print (vtime".000",1,$2,"TCP_MISS/200",$4,"CONNECT",$1":"$5,"-","DIRECT/"$2,"-")}' >>/var/log/squid/access.log
Вернее так
/usr/bin/rsh localhost show ip accounting checkpoint|/bin/grep $net|/bin/awk -v vtime=$ttime '{print (vtime".000",1,$2,"TCP_MISS/200",$4,"CONNECT",$1":"$5,"-","DIRECT/"$1,"-")}' >>/var/log/squid/access.log
а как на freebsd это реализовать? никак не хочет писать в файл, хотя коллектор работает нормально
Добрый день.
Подскажите, а та статистика, которую ipcad кладет в access.log squida как обрабатывается lightsquidom???
Не происходит ли удвоение трафике по 80 порту???
Нет, это же Лев писал, он наверное понимает. Тут же смысл про CONNECT, ты в CONNECT не указывай порты 80 и 81 и всё, я его логику понимаю ) бля умный мужик, где его найти сейчас? Бразы кто знает пишите: len-los@yandex.ru
> Добрый день.
> Подскажите, а та статистика, которую ipcad кладет в access.log squida как обрабатывается
> lightsquidom???
> Не происходит ли удвоение трафике по 80 порту???А я заметил, смотри куда показывает порт 80 в 0 (ноль)
все нормально работает.
это конечно же всё хорошо. а как быть с ситуацией когда трафик сквида считается по пользователям AD, а не по ip? тогда ведь будет в логах отображаться будут и ip и юзера домена.
Расскажите новичку, а тоже самое но с использованием iptables можно сделать? Чтобы логи писались в лог файла squid. Имеются две сетевухи eth0 -> в интернет, eth1 -> сеть
все прикольно! только вот при выполнении скрипта вот чего происходит:# ./ipcad_to_squid.sh
connect to address 127.0.0.1: Connection refused
Trying ::1...
connect to address ::1: Connection refused
Trying 127.0.0.1...
connect to address 127.0.0.1: Connection refused
Trying ::1...
connect to address ::1: Connection refused
Trying 127.0.0.1...
connect to address 127.0.0.1: Connection refused
Trying ::1...
Есть проблема: если в момент того, когда ipcad-скрипт пишет в лог, сквид тоже добавляет лог - можешь разбиться строка ipcad'а. И потом приходится чистить лог-файл. Как блокировать access.log от записи squid'а в момент добавления лога нашим скриптом для ipcad?
#!/bin/shstr_net="192.168.0" # IP для выборки IPCAD
ttime=`/usr/bin/rsh localhost sh ip acco | /usr/bin/grep 'Accounting data saved'| /usr/bin/awk '{print $4}'` # формирование времени от IPCAD в лог squidipcadacclog="/usr/local/squid/logs/ipcadaccess.log" # Файл логов IPCAD
squidacclog="/usr/local/squid/logs/access.log" # Файл логов Squid
samslog="/usr/local/squid/logs/sams.log"tail_pid_check=`/bin/ps ax | /usr/bin/grep 'tail -F' | /usr/bin/grep -v grep | /usr/bin/awk '{print $1}'`
/bin/kill -9 $tail_pid_check > /dev/null/usr/bin/rsh localhost clear ip accounting > /dev/null # Формирование логов IPCAD
/usr/bin/rsh localhost show ip accounting checkpoint | /usr/bin/grep $str_net | /usr/bin/awk -v vtime=$ttime '{print (vtime".000",1,$2,"TCP_MISS/200",$4,"CONNECT",$1":"$5,"-","DIRECT/"$1,"-")}' > $ipcadacclog/bin/cat $ipcadacclog >> $samslog
/usr/bin/tail -F $squidacclog >> $samslog &
Таким способом наложение данных исключается.
Делал для sams. Если используется sams для подсчёта трафика, то ему нужно подсовывать sams.log. В общем идею я подал. Кому надо, ковыряйте под свои нужды.
>[оверквотинг удален]
> /usr/bin/rsh localhost clear ip accounting > /dev/null # Формирование логов IPCAD
> /usr/bin/rsh localhost show ip accounting checkpoint | /usr/bin/grep $str_net |
> /usr/bin/awk -v vtime=$ttime '{print (vtime".000",1,$2,"TCP_MISS/200",$4,"CONNECT",$1":"$5,"-","DIRECT/"$1,"-")}'
> > $ipcadacclog
> /bin/cat $ipcadacclog >> $samslog
> /usr/bin/tail -F $squidacclog >> $samslog &
> Таким способом наложение данных исключается.
> Делал для sams. Если используется sams для подсчёта трафика, то ему нужно
> подсовывать sams.log. В общем идею я подал. Кому надо, ковыряйте под
> свои нужды.Мужик, ты автору даже спасибо не сказал.
Где бы его найти, на работу хочу к себе взять!
Так напиши мне