Navigation

    Netgate Discussion Forum
    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search

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

    Russian
    39
    222
    146542
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • R
      rubic last edited by

      UPD: ВНИМАНИЕ! переработанная статья находится тут: http://ru.doc.pfsense.org/index.php/%D0%9F%D0%BE%D0%B4%D1%81%D1%87%D0%B5%D1%82_%D1%82%D1%80%D0%B0%D1%84%D0%B8%D0%BA%D0%B0_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_Squid_%D0%B8_ipcad_%D0%B2_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>

      1 Reply Last reply Reply Quote 0
      • Z
        zar0ku1 last edited by

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

        закрывайте темы, если ответ на ваш вопрос полон.
        если схема сложная - не поленитесь ее нарисовать

        1 Reply Last reply Reply Quote 0
        • Z
          zar0ku1 last edited by

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

          закрывайте темы, если ответ на ваш вопрос полон.
          если схема сложная - не поленитесь ее нарисовать

          1 Reply Last reply Reply Quote 0
          • R
            rubic last edited by

            сдается, что 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";
            
            

            нету?

            1 Reply Last reply Reply Quote 0
            • Z
              zar0ku1 last edited by

              @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";
              

              закрывайте темы, если ответ на ваш вопрос полон.
              если схема сложная - не поленитесь ее нарисовать

              1 Reply Last reply Reply Quote 0
              • R
                rubic last edited by

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

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

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

                1 Reply Last reply Reply Quote 0
                • Z
                  zar0ku1 last edited by

                  @rubic:

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

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

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

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

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

                  закрывайте темы, если ответ на ваш вопрос полон.
                  если схема сложная - не поленитесь ее нарисовать

                  1 Reply Last reply Reply Quote 0
                  • R
                    rubic last edited by

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

                    1 Reply Last reply Reply Quote 0
                    • Z
                      zar0ku1 last edited by

                      @rubic:

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

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

                      закрывайте темы, если ответ на ваш вопрос полон.
                      если схема сложная - не поленитесь ее нарисовать

                      1 Reply Last reply Reply Quote 0
                      • D
                        DasTieRR last edited by

                        Спасибо за инструкцию, почти работает :) Можешь написать какие у тебя права (владелец и группа) на 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 установка по-другой схеме.

                        1 Reply Last reply Reply Quote 0
                        • R
                          rubic last edited by

                          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 Reply Last reply Reply Quote 0
                          • Z
                            zar0ku1 last edited by

                            версия 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 Reply Last reply Reply Quote 0
                            • R
                              rubic last edited by

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

                              1 Reply Last reply Reply Quote 0
                              • Z
                                zar0ku1 last edited by

                                @rubic:

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

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

                                закрывайте темы, если ответ на ваш вопрос полон.
                                если схема сложная - не поленитесь ее нарисовать

                                1 Reply Last reply Reply Quote 0
                                • R
                                  rubic last edited by

                                  2zar0ku1
                                  Дык..
                                  @DasTieRR:

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

                                  1 Reply Last reply Reply Quote 0
                                  • D
                                    DasTieRR last edited by

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

                                    1 Reply Last reply Reply Quote 0
                                    • D
                                      DasTieRR last edited by

                                      @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 Reply Last reply Reply Quote 0
                                      • R
                                        rubic last edited by

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

                                        1 Reply Last reply Reply Quote 0
                                        • R
                                          rubic last edited by

                                          в общем поставил вроде на 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'а теребить? злой админ залочивает старые темы зачем-то, не могу поднять свой топик по этой проблеме..

                                          1 Reply Last reply Reply Quote 0
                                          • K
                                            kryos last edited by

                                            Здравствуйте делал вроде все по инструкции 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.

                                            1 Reply Last reply Reply Quote 0
                                            • D
                                              DasTieRR last edited by

                                              @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. что-то он считает, но руки никак не дойдут проверить его данные каким-нибудь счётчиком.

                                              1 Reply Last reply Reply Quote 0
                                              • R
                                                rubic last edited by

                                                Кстати,

                                                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";

                                                1 Reply Last reply Reply Quote 0
                                                • R
                                                  rubic last edited by

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

                                                  1 Reply Last reply Reply Quote 0
                                                  • D
                                                    djlexx last edited by

                                                    сделал все как тут написано.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 небновляется ничего?


                                                    1 Reply Last reply Reply Quote 0
                                                    • Z
                                                      zar0ku1 last edited by

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

                                                      закрывайте темы, если ответ на ваш вопрос полон.
                                                      если схема сложная - не поленитесь ее нарисовать

                                                      1 Reply Last reply Reply Quote 0
                                                      • D
                                                        djlexx last edited by

                                                        @zar0ku1:

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

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

                                                        1 Reply Last reply Reply Quote 0
                                                        • X
                                                          Xammsa last edited by

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

                                                          1 Reply Last reply Reply Quote 0
                                                          • R
                                                            rubic last edited by

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

                                                            1 Reply Last reply Reply Quote 0
                                                            • M
                                                              MIHMIH last edited by

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

                                                              1 Reply Last reply Reply Quote 0
                                                              • Z
                                                                zar0ku1 last edited by

                                                                @MIHMIH:

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

                                                                да, легко

                                                                закрывайте темы, если ответ на ваш вопрос полон.
                                                                если схема сложная - не поленитесь ее нарисовать

                                                                1 Reply Last reply Reply Quote 0
                                                                • X
                                                                  Xammsa last edited by

                                                                  Запуск 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;

                                                                  1 Reply Last reply Reply Quote 0
                                                                  • X
                                                                    Xammsa last edited by

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

                                                                    1 Reply Last reply Reply Quote 0
                                                                    • D
                                                                      DasTieRR last edited by

                                                                      @Xammsa:

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

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

                                                                      1 Reply Last reply Reply Quote 0
                                                                      • M
                                                                        MIHMIH last edited by

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

                                                                        1 Reply Last reply Reply Quote 0
                                                                        • X
                                                                          Xammsa last edited by

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

                                                                          1 Reply Last reply Reply Quote 0
                                                                          • D
                                                                            djlexx last edited by

                                                                            @Xammsa:

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

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

                                                                            1 Reply Last reply Reply Quote 0
                                                                            • X
                                                                              Xammsa last edited by

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

                                                                              1 Reply Last reply Reply Quote 0
                                                                              • D
                                                                                dvserg last edited by

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

                                                                                SquidGuardDoc EN  RU Tutorial
                                                                                Localization ru_PFSense

                                                                                1 Reply Last reply Reply Quote 0
                                                                                • R
                                                                                  rubic last edited by

                                                                                  давайте все сначала
                                                                                  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 Reply Last reply Reply Quote 0
                                                                                  • X
                                                                                    Xammsa last edited by

                                                                                    давайте все сначала
                                                                                    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
                                                                                    это все что там есть (после перезагрузки)

                                                                                    1 Reply Last reply Reply Quote 0
                                                                                    • First post
                                                                                      Last post