Еще раз о ipcad+squid+lightsquid



  • UPD: ВНИМАНИЕ! переработанная статья находится тут: http://ru.doc.pfsense.org/index.php/Подсчет_трафика_с_помощью_Squid_и_ipcad_в_pfSense_1.2.3 Все, что ниже, можно почитать только для общего развития и решения некоторых типичных проблем.

    Решил снова поднять тему учета трафика. Может кто-то поправит или кому-то будет интересно. Расскажу про свой сетап сделанный по мотивам многочисленных руководств в сети. Поставил свежий pfsense 1.2.3 на виртуалку под vmware, установил open-vm-tools. Про установку squid и lightsquid писать не буду - все ставится из родных пакетов без проблем, squid в transparent mode. Далее предполагается, что все установлено и настроено и pfsense имеет доступ в интернет.

    Нам понадобится rsh. Благодаря zar0ku1, он у нас есть) Качаем из ветки http://forum.pfsense.org/index.php/topic,18366.0.html, распаковываем и кладем в /usr/bin (для таких юзеров как я - совет: лучше сразу откройте ssh доступ к pfsenese: system->advanced->enable secure shell, скачайте winscp и логиньтесь к pfsense как root со своим паролем - будете удаленно из винды видеть всю файловую систему и редактировать конфиги).

    Теперь ставим ipcad, но прежде одно но: ipcad не хочет библиотек идущих с 1.2.3, он хочет более старые. Поэтому сначала ставим compat6. На компе с pfsense заходим в shell и:

    pkg_add -r compat6x-i386
    

    далее собственно ipcad:

    pkg_add -r ipcad
    

    теперь в /usr/local/etc у нас есть файл ipcad.conf.default. Переименовываем его в ipcad.conf и редактируем (все разделы, где нужно что-то поменять приведены ниже, остальные оставляем как есть):

    
    ##################
    # GLOBAL OPTIONS #
    ##################
    
    capture-ports enable;
    
    #####################
    # INTERFACE OPTIONS #
    #####################
    
    interface le1 filter "ip and dst net 192.168.0.0/16 and not src net 192.168.0.0/16";
    
    aggregate 192.168.0.0/16 strip 32;
    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;
    
    ######################
    # RSH SERVER OPTIONS #
    ######################
    
    rsh enable at 127.0.0.1;
    
    rsh root@127.0.0.1 admin;
    rsh root@127.0.0.1 backup;
    rsh root@127.0.0.1;
    rsh 127.0.0.1 view-only;
    
    dumpfile = ipcad.dump;
    
    #################
    # OTHER OPTIONS #
    #################
    
    chroot = /var/log/ipcad;
    
    pidfile = ipcad.pid;
    
    memory_limit = 10m;
    
    

    Собственно, вам надо только подставить свой интерфейс LAN (у меня le1) и подсеть LAN (у меня 192.168.0.0/16) и не забыть в /var/log создать подкаталог ipcad.
    Ну немного об агрегации портов. Здесь у нас стоит:

    
    aggregate 80-81 into 0;
    ...
    aggregate 3128 into 0;
    
    

    т.е. если кто-то из локалки берет что-то в интернете из 80 порта (HTTP) или прописал у себя на машине в качестве прокси наш squid (3128)(??? тут не уверен), то ipcad вместо этого запомнит порт не как 80 или 3128, а как 0. Это нам понадобится в дальнейшем, чтобы исключить двойной подсчет трафика, т.к. squid и так сам отобразит http трафик в логах. Остальные aggregate я закоментировал для отладки. Вообще, агрегация нужна для экономии памяти, чтобы ipcad не хранил записи по всем портам, а мог как-то их "обобщить". Так что в рабочей среде надо раскомментировать, хотя если статистику, как будет видно в дальнейшем, сбрасывать ежеминутно, то может и так оставить. Опять не уверен..

    Настраиваем запуск ipcad со стартом системы. Для этого в webgui идем в system->packages устанавливаем пакет shellcmd. Теперь в меню services у нас есть пункт shellcmd. Жмем его и добавляем новую запись:

    
    Command:	/usr/local/bin/ipcad -rds
    Type:		shellcmd
    
    

    ipcad будет висеть в памяти и собирать статистику по адресам локальной сети. Теперь нам нужен скрипт, который эту статистику будет периодически переносить в лог squid. Из winscp создаем в /root файл tolog.sh и заносим в него следующее:

    
    #!/bin/sh
    net="192.168"
    ttime=`/usr/bin/rsh localhost sh ip acco | grep 'Accounting data saved' | awk '{print ($4)}'`
    rsh localhost clear ip accounting
    rsh localhost show ip accounting checkpoint | grep $net | awk -v vtime=$ttime '{if ($5 != 0) print (vtime".000",1,$2,"TCP_MISS/200",$4,"CONNECT",$1":"$5,"-","DIRECT/"$1,"-")}' >> /var/squid/log/access.log
    
    

    сохраняем и в свойствах файла ставим атрибуты в 0555

    Настраиваем ежеминутный запуск tolog.sh через cron. Для этого в webgui идем в diagnostics->backup/restore и жмем download configuration. Открываем сохраненный файл конфигурации pfsense в редакторе и ищем секцию <cron>вставляем в нее следующее:

    
     <minute>*/1</minute>
    	<hour>*</hour>
    	<mday>*</mday>
    	<month>*</month>
    	<wday>*</wday>
    	<who>root</who>
    	<command></command>/root/tolog.sh 
    
    

    сохраняем файл и идем опять в diagnostics->backup/restore, где указываем на измененный файл конфигурации и жмем restore configuration
    pfsense перезагрузится и все заработает. Ну, может быть.. Проверить можно качая что-нибудь по ftp, и наблюдая за /var/squid/log/access.log. Там ежеминутно должны появлятся характерные записи со словом "CONNECT". При этом, когда вы просто бродите по сайтам, подобных записей с IP этих сайтов появлятся не должно. Оригинальный tolog.sh найденный в интернете как раз страдал этим (двойной учет http трафика). По крайней мере в связке с lightsquid, я проверял. Вставил в него "if ($5 != 0)" т.е. проверку на порт 0 (см. выше).</cron>



  • Молодец! делал такое на фрюхе, но как-то у меня не корректно работало, сейчас попробую на пфсенсе



  • Глюк такой же как и был



  • сдается, что ipcad слушает не только LAN, но и WAN..
    в ipcad.conf в разделе INTERFACES точно ничего кроме:

    
    interface le1 filter "ip and dst net 192.168.0.0/16 and not src net 192.168.0.0/16";
    
    

    нету?



  • @rubic:

    сдается, что ipcad слушает не только LAN, но и WAN..
    в ipcad.conf в разделе INTERFACES точно ничего кроме:

    
    interface le1 filter "ip and dst net 192.168.0.0/16 and not src net 192.168.0.0/16";
    
    

    нету?

    interface re0 filter "ip and dst net 192.168.0.0/16 and not src net 192.168.0.0/16";
    


  • странно, у меня тоже так было пока вот такое из INTERFACES не удалил:

    
    interface le1 filter "ip and not dst net 192.168.0.0/16";
    
    

    -это типа подсчет исходящего трафика.. сейчас все нормально.. дай ipcad.conf и что в access.log по этим адресам?



  • @rubic:

    странно, у меня тоже так было пока вот такое из INTERFACES не удалил:

    
    interface le1 filter "ip and not dst net 192.168.0.0/16";
    
    

    -это типа подсчет исходящего трафика.. сейчас все нормально.. дай ipcad.conf и что в access.log по этим адресам?

    ситуация чуть изменилась, но все равно не радует:

    195.72.230.0:21
    ```- почему подсеть, а не айпи


  • aggregate 0.0.0.0/0 strip 32;
    точно 32 стоит у тебя, а не 24?



  • @rubic:

    aggregate 0.0.0.0/0 strip 32;
    точно 32 стоит у тебя, а не 24?

    о, спасибо =) в спешке не заметил



  • Спасибо за инструкцию, почти работает :) Можешь написать какие у тебя права (владелец и группа) на ipcad.dump?

    у меня владелец root группа wheel права 0600

    Выглядит таким образом - один раз пишет, потом нет, т.е. в lightsquid записи появляются (со всеми портами), потом есть только то что ловит squid (80 порт).

    Если открыть ipcad.dump, то там записи перестают добавлятся.
    Cron запущен (хотя и останавливался)
    Если в командной строке написать ipcad, то показывает, что процесс висит.

    P.S. Что помогло мне: проверил права на /usr/bin/rsh - 0555
    cron настраивал через пакет cron из гуя, время в 1 минуту выставил */1 (когда было просто 1, то неработало).
    Попробовал установить у клиента с версией PfSense 1.2.2 - не встало, ipcad.pid был пуст (права 0777) т.е. не поднимался ipcad, либо что-то не так делал, либо с 1.2.2 установка по-другой схеме.



  • 2DasTieR
    Так заработало у тебя в конце-концов на 1.2.3?
    Права такие: ipcad.dump - 600, ipcad.pid - 644, у обоих Group: wheel, Owner: root
    ipcad вообще-то сам эти файлы создает с нужными правами, там мудрить не надо..
    У клиента посмотри лог загрузки. У меня, например, там касательно этого всего так:
    Opening le1… [LCap] [ERSH] [4096] initialized as 1
    Configured RSH Server listening at 127.0.0.1
    No valid entries found in ipcad.dump
    Daemonized.
    и все.. не должно быть никаких сообщений об отсутствующих библиотеках и т.п.
    P.S. а Cron-то я и проглядел, спасибо)



  • версия 1.2.2 выдает ошибку

    
    Can't lock PID file ipcad.pid: Invalid argument
    Can't initialize pid file /tmp/ipcad.pid: Operation not permitted
    Make sure you have . under /tmp used as new root. man 2 chroot.
    
    

    комментируем строчки

    #chroot
    #pidfile
    

    прописываем:

    
    dumpfile = /var/log/ipcad/ipcad.dump;
    
    

    и создаем его

    
    mkdir /var/log/ipcad/
    touch /var/log/ipcad/ipcad.dump
    chmod 600 /var/log/ipcad/ipcad.dump
    
    


  • Кстати, в ipcad.dump ничего и не должно добавляться по ходу работы. В этот файл ipcad кладет что-то только при завершении работы, ну и берет оттуда когда загружается.



  • @rubic:

    Кстати, в ipcad.dump ничего и не должно добавляться по ходу работы. В этот файл ipcad кладет что-то только при завершении работы, ну и берет оттуда когда загружается.

    ты это сейчас к чему? (с)



  • 2zar0ku1
    Дык..
    @DasTieRR:

    Если открыть ipcad.dump, то там записи перестают добавлятся.



  • На тестовой машине 1.2.3 (squid+lightsquid) заработало, но когда тоже самое решил повторить у клиента (где тоже 1.2.3) не сработало, там пакетов больше - squid, lightsquis, squidguard, havp перестал считать трафик по порту 80, что вчера меня "убило" и я решил эксперименты отложить на другой день. :) Сегодня/завтра конфиги ещё раз проверю.



  • @zar0ku1:

    версия 1.2.2 выдает ошибку

    
    Can't lock PID file ipcad.pid: Invalid argument
    Can't initialize pid file /tmp/ipcad.pid: Operation not permitted
    Make sure you have . under /tmp used as new root. man 2 chroot.
    
    

    комментируем строчки

    #chroot
    #pidfile
    

    прописываем:

    
    dumpfile = /var/log/ipcad/ipcad.dump;
    
    

    и создаем его

    
    mkdir /var/log/ipcad/
    touch /var/log/ipcad/ipcad.dump
    chmod 600 /var/log/ipcad/ipcad.dump
    
    

    Спасибо, сегодня протестирую, машин с 1.2.2 хватает, переставлять на 1.2.3 пока нет желания.



  • Вчера поставил все на 1.2.2, руками ipcad запустил, он день у меня отработал без проблем, вечером решил перегрузить систему и понеслось.. cron.inc и shellcmd.inc передрались из-за передекларации is_service_running line 37.. ipcad сказал что ему нужно libpcap.so.4.. интересно как он до этого целый день работал? снес пока cron вечером перегружу
    ps поглядел заодно на размер access.log.. был немало удивлен(( не ротируется, хотя в lightsquid стоит ротация каждый день..



  • в общем поставил вроде на 1.2.2.. пришлось понаделать руками в /usr/lib симлинков на ../local/lib/compat для
    следующих библиотек:
    libpcap.so.4
    libpthread.so.2
    libc.so.6
    сам compat6 не выдерживает перезагрузки в 1.2.2 у меня почему-то..
    это мне совсем не нравится.. если все заново поднимать и не вспомнишь уже как делал.. одна надежда на этот топик..
    по cron.inc и shellcmd.inc.. конфликт наблюдается и в 1.2.2 и 1.2.3.. ну не мудрено в общем.. файлы одинаковые, автор один и тот же.. интересно в php есть что-нибудь подобное сишному #ifdef ? в общем можно не обращать внимания, ошибку выдает, но все вроде работает..
    а вот lightsquid все-же не порадовал с log rotate, ай-яй-яй.. проблеме уже 2 года так-то.. не пишет он ничего в crontab в отличие от самого сквида.. неужто опять dvserg'а теребить? злой админ залочивает старые темы зачем-то, не могу поднять свой топик по этой проблеме..



  • Здравствуйте делал вроде все по инструкции pfsense 1.2.3
    ссылка в начале поста на rsh не работает.
    Взял из дистрибутива freebsd положил /usr/bin
    далее все как написано..
    в итоге при запуске ipcad в ручную пишет вот что:

    ipcad

    Opening vr0… [LCap] [ERSH] [4096] [vr0/interactive] Initialized as 1
    Aggregate network 192.168.1.0/255.255.255.0 -> 255.255.255.255
    Aggregate network 0.0.0.0/0.0.0.0 -> 255.255.255.255
    Aggregate ports 80..81 into 0
    Aggregate ports 3128..3128 into 0
    Configured RSH Server listening at 127.0.0.1
    Can't start: another instance running, pid=628
    Can't initialize pid file /var/log/ipcad/ipcad.pid: Operation not permitted
    Make sure you have . under /var/log/ipcad used as new root. man 2 chroot.



  • @kryos:

    Здравствуйте делал вроде все по инструкции pfsense 1.2.3
    ссылка в начале поста на rsh не работает.
    Взял из дистрибутива freebsd положил /usr/bin
    далее все как написано..
    в итоге при запуске ipcad в ручную пишет вот что:

    ipcad

    Opening vr0… [LCap] [ERSH] [4096] [vr0/interactive] Initialized as 1
    Aggregate network 192.168.1.0/255.255.255.0 -> 255.255.255.255
    Aggregate network 0.0.0.0/0.0.0.0 -> 255.255.255.255
    Aggregate ports 80..81 into 0
    Aggregate ports 3128..3128 into 0
    Configured RSH Server listening at 127.0.0.1
    Can't start: another instance running, pid=628
    Can't initialize pid file /var/log/ipcad/ipcad.pid: Operation not permitted
    Make sure you have . under /var/log/ipcad used as new root. man 2 chroot.

    он стартует по автозагрузке, вышенаписанно значит, что он уже запущен как процесс.
    P.S. что-то он считает, но руки никак не дойдут проверить его данные каким-нибудь счётчиком.



  • Кстати,

    Aggregate ports 80..81 into 0
    Aggregate ports 3128..3128 into 0

    надо убить и поставить

    Aggregate ports 80..80 into 0

    81-й - не знаю что такое и зачем оно там стояло, а 3128-й я думал там стоит, чтобы не считать 2 раза тех, кто в локалке руками пропишет у себя проксей pfSense. Но это не так. Они и так не попадают в статистику ipcad из-за фильтра:

    interface le1 filter "ip and dst net 192.168.0.0/16 and not src net 192.168.0.0/16";



  • У меня TMeter раньше все считал на отдельной виртуалке.. вот такой был изврат
    результаты сравнивал, расхождение c ipcad'ом шло где-то процентов 5 стабильно, посчитал это фигней и снес
    считаю ipcad'ом



  • сделал все как тут написано.rsh взял из соседнего топа,заработало с первого раза.Обрадовался!Потом ребутнул ПФ, и хлоп,в Lightsquidе все застыло.время обновления остановилось на том,кот.предыдущее рабочее.
    При попытке запуска ipcad в ручную
    Это при закоментированных #chroot и #pidfile
    #ipcad
    Opening sk0… [LCap] [ERSH] [4096] [sk0/interactive] Initialized as 1
    Aggregate network 192.168.0.0/255.255.255.0 -> 255.255.255.255
    Aggregate network 0.0.0.0/0.0.0.0 -> 255.255.255.255
    Aggregate ports 80..80 into 0
    Aggregate ports 3128..3128 into 0
    Configured RSH Server listening at 127.0.0.1
    Can't bind socket for RSH Server.
    Failed to start one or more servers.

    А это при незакоментированных,стандартных

    ipcad

    Opening sk0… [LCap] [ERSH] [4096] [sk0/interactive] Initialized as 1
    Aggregate network 192.168.0.0/255.255.255.0 -> 255.255.255.255
    Aggregate network 0.0.0.0/0.0.0.0 -> 255.255.255.255
    Aggregate ports 80..80 into 0
    Aggregate ports 3128..3128 into 0
    Configured RSH Server listening at 127.0.0.1
    Can't start: another instance running, pid=804
    Can't initialize pid file /var/log/ipcad/ipcad.pid: Operation not permitted
    Make sure you have . under /var/log/ipcad used as new root. man 2 chroot.

    Почему тогда в Lightsquide небновляется ничего?




  • раскоментировать не нужно
    смотри на это```
    Can't bind socket for RSH Server.



  • @zar0ku1:

    раскоментировать не нужно
    смотри на это```
    Can't bind socket for RSH Server.

    Смотрю,но не понятно.Я не настолько знаком с фрёй, я только учусь.Можно по подробней пжл.



  • Статистика ipcad в лог squid'а не складывается, хотя в ipcad.dump кое-что есть. Все настроил как в первом сообщении, только сеть в ipcad.conf указал не 192.168.0.0/16, а 192.168.1.0/24.
    в access.log ничего, кроме логов прокси-сервера, нет.
    В чем может быть проблема?



  • Да масса вариантов так-то.. RSH, tolog.sh, ipcad.conf.. а может вы их просто не видите?
    пробуйте из шелла выполнить rsh localhost show ip accounting
    вручную запустить tolog.sh
    ну и ipcad.conf приведите



  • Скажите плз на сколько этот вариант проверенно работает ?… 70-80 клиентов держать будет?



  • @MIHMIH:

    Скажите плз на сколько этот вариант проверенно работает ?… 70-80 клиентов держать будет?

    да, легко



  • Запуск rsh выводит статистику.
    Запуск tolog.sh выдает /usr/bin/rsh: permission denied. Права на файл rsh 0555. Непонятно, почему он не хочет запускаться из скрипта tolog.sh

    ipcad.conf:

    capture-ports enable;
    interface de0 filter "ip and dst net 192.168.1.0/24 and not src net 192.168.1.0/24";
    aggregate 192.168.1.0/24 strip 32;
    aggregate 0.0.0.0/0 strip 32;

    aggregate 1-19 into 65535;
    aggregate 20-21 into 21;
    aggregate 22-23 into 22;
    aggregate 24 into 65535;
    aggregate 25 into 25;
    aggregate 26-52 into 65535;
    aggregate 53 into 53;
    aggregate 54-68 into 65535;
    aggregate 69 into 69;
    aggregate 80 into 0;
    aggregate 81-86 into 65535;
    aggregate 87 into 87;
    aggregate 88-109 into 65535;
    aggregate 110 into 110;
    aggregate 111-122 into 65535;
    aggregate 123 into 123;
    aggregate 124-442 into 65535;
    aggregate 443 into 443;
    aggregate 444-2699 into 65535;
    aggregate 2700 into 2700;
    aggregate 2701-3127 into 65535;
    aggregate 3128 into 0;
    aggregate 3129-5189 into 65535;
    aggregate 5190 into 5190;
    aggregate 5191-8079 into 65535;
    aggregate 8080-8081 into 8080;
    aggregate 8082-60128 into 65535;
    aggregate 60129 into 60129;
    aggregate 60130-60178 into 65535;
    aggregate 60179 into 60179;
    aggregate 60180-65535 into 65535;

    rsh enable at 127.0.0.1;
    rsh root@127.0.0.1 admin;
    rsh root@127.0.0.1 backup;
    rsh root@127.0.0.1;
    rsh 127.0.0.1 view-only;

    dumpfile=ipcad.dump;

    chroot=/var/log/ipcad;
    pidfile=ipcad.pid;
    memory_limit=10m;



  • Вот черт, только что запустил tolog.sh, отработал нормально. И чего теперь от него ждать?



  • @Xammsa:

    Вот черт, только что запустил tolog.sh, отработал нормально. И чего теперь от него ждать?

    если всё правильно настроено, в отчёте LightSquid будут указаны сайты/адреса с различными портами.



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



  • Чертовщина. Сегодня в access.log не попадают данные самого squid'a! Есть только записи ipcad, ни одной со словом GET http.
    Перезагрузил роутер, записи стали появляться, потом снова только ipcad.



  • @Xammsa:

    Чертовщина. Сегодня в access.log не попадают данные самого squid'a! Есть только записи ipcad, ни одной со словом GET http.
    Перезагрузил роутер, записи стали появляться, потом снова только ipcad.

    Ага,тоже такое замечал.Или например такая бага,что пишутся в логах только IP,а имена сайтов нет.



  • Солнышко мое, опять в логах только записи ipcad'a.



  • Может я не прав, но похоже на совместный доступ к файлу. Один лочит другой не может получить доступа.



  • давайте все сначала
    1. Версия pfSense
    2. Лог загрузки системы в части касающейся ipcad и rsh
    3. Права на ipcad.dump, ipcad.pid, rsh, tolog.sh
    4. ipcad.conf, tolog.sh, настройки cron дословно
    5. squid mode и к каким интерфесам привязан
    6. system лог на тему squid parent process



  • давайте все сначала
    1. Версия pfSense
    1.2.3-release

    2. Лог загрузки системы в части касающейся ipcad и rsh
    less /var/log/dmesg.boot | grep ipcad
    less /var/log/dmesg.boot | grep rsh
    Ничего не выводят.

    3. Права на ipcad.dump, ipcad.pid, rsh, tolog.sh
    /var/log/ipcad/ipcad.dump: -rw–-----
    /var/log/ipcad/ipcad.pid:    -rw-r--r--
    /root/tolog.sh:                -r-xr-xr-x
    /usr/bin/rsh:                    -r-xr-xr-x

    4. ipcad.conf, tolog.sh, настройки cron дословно

    /usr/local/etc/ipcad.conf:
    capture-ports enable;
    interface de0 filter "ip and dst net 192.168.1.0/24 and not src net 192.168.1.0/24";
    aggregate 192.168.1.0/24 strip 32;
    aggregate 0.0.0.0/0 strip 32;

    aggregate 1-19 into 65535;
    aggregate 20-21 into 21;
    aggregate 22-23 into 22;
    aggregate 24 into 65535;
    aggregate 25 into 25;
    aggregate 26-52 into 65535;
    aggregate 53 into 53;
    aggregate 54-68 into 65535;
    aggregate 69 into 69;
    aggregate 80 into 0;
    aggregate 81-86 into 65535;
    aggregate 87 into 87;
    aggregate 88-109 into 65535;
    aggregate 110 into 110;
    aggregate 111-122 into 65535;
    aggregate 123 into 123;
    aggregate 124-442 into 65535;
    aggregate 443 into 443;
    aggregate 444-2699 into 65535;
    aggregate 2700 into 2700;
    aggregate 2701-3127 into 65535;
    aggregate 3128 into 0;
    aggregate 3129-5189 into 65535;
    aggregate 5190 into 5190;
    aggregate 5191-8079 into 65535;
    aggregate 8080-8081 into 8080;
    aggregate 8082-60128 into 65535;
    aggregate 60129 into 60129;
    aggregate 60130-60178 into 65535;
    aggregate 60179 into 60179;
    aggregate 60180-65535 into 65535;

    rsh enable at 127.0.0.1;
    rsh root@127.0.0.1 admin;
    rsh root@127.0.0.1 backup;
    rsh root@127.0.0.1;
    rsh 127.0.0.1 view-only;

    dumpfile=ipcad.dump;

    chroot=/var/log/ipcad;
    pidfile=ipcad.pid;
    memory_limit=10m;

    /root/tolog.sh
    #!/bin/sh
    cp /var/log/ipcad/ipcad.dump /var/log/ipcad/ipcad.dump.bak
    net="192.168"
    ttime=/usr/bin/rsh localhost sh ip acco | grep 'Accounting data saved' | awk '{print ($4)}'
    rsh localhost clear ip accounting
    rsh localhost show ip accounting checkpoint | grep $net | awk -v vtime=$ttime '{if ($5 != 0) print (vtime".000",1,$2,"TCP_MISS/200",$4,"CONNECT",$1":"$5,"-","DIRECT/"$1,"-")}' >> /var/squid/log/access.log

    вырезка из config.xml с настройками cron:
    <cron><minute>/1</minute>
    <hour>
    </hour>
    <mday></mday>
    <month>
    </month>
    <wday></wday>
    <who>root</who>
    <command></command>/root/tolog.sh
    <minute>0</minute>
    <hour>
    </hour>
    <mday></mday>
    <month>
    </month>
    <wday></wday>
    <who>root</who>
    <command></command>/usr/bin/nice -n20 newsyslog
    <minute>1,31</minute>
    <hour>0-5</hour>
    <mday>
    </mday>
    <month></month>
    <wday>
    </wday>
    <who>root</who>
    <command></command>/usr/bin/nice -n20 adjkerntz -a
    <minute>1</minute>
    <hour>3</hour>
    <mday>1</mday>
    <month></month>
    <wday>
    </wday>
    <who>root</who>
    <command></command>/usr/bin/nice -n20 /etc/rc.update_bogons.sh
    <minute>/60</minute>
    <hour>
    </hour>
    <mday></mday>
    <month>
    </month>
    <wday></wday>
    <who>root</who>
    <command></command>/usr/bin/nice -n20 /usr/local/sbin/expiretable -v -t 3600 sshlockout
    <minute>1</minute>
    <hour>1</hour>
    <mday>
    </mday>
    <month></month>
    <wday>
    </wday>
    <who>root</who>
    <command></command>/usr/bin/nice -n20 /etc/rc.dyndns.update
    <minute>/60</minute>
    <hour>
    </hour>
    <mday></mday>
    <month>
    </month>
    <wday></wday>
    <who>root</who>
    <command></command>/usr/bin/nice -n20 /usr/local/sbin/expiretable -v -t 3600 virusprot
    <minute>
    /5</minute>
    <hour></hour>
    <mday>
    </mday>
    <month></month>
    <wday>
    </wday>
    <who>root</who>
    <command></command>/usr/local/bin/checkreload.sh
    <minute>/5</minute>
    <hour>
    </hour>
    <mday></mday>
    <month>
    </month>
    <wday></wday>
    <who>root</who>
    <command></command>/etc/ping_hosts.sh
    <minute>
    /140</minute>
    <hour></hour>
    <mday>
    </mday>
    <month></month>
    <wday>
    </wday>
    <who>root</who>
    <command></command>/usr/local/sbin/reset_slbd.sh
    <task_name>lightsquid_parser</task_name>
    <minute>/10</minute>
    <hour>
    </hour>
    <mday></mday>
    <month>
    </month>
    <wday>*</wday>
    <who>root</who>
    <command></command>/usr/bin/perl /usr/local/www/lightsquid/lightparser.pl today</cron>

    5. squid mode и к каким интерфесам привязан
    Transparent, привязан к LAN (de0 - 192.168.1.10)

    6. system лог на тему squid parent process
    less /var/log/system.log | grep squid:  pfSense squid[914]: Squid Parent: child process 916 started
    это все что там есть (после перезагрузки)


Locked