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

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

    Scheduled Pinned Locked Moved Russian
    222 Posts 39 Posters 167.1k Views
    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.
    • 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
          • D
            DasTieRR
            last edited by

            @Xammsa:

            /root/tolog.sh
            #!/bin/sh
            cp /var/log/ipcad/ipcad.dump /var/log/ipcad/ipcad.dump.bak
            net="192.168"

            по-моему в разделе net, должно быть 192.168.1

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

              Не знаю, статитика ipcad прекрасно кладется в access.log и отображается в lightsquid в разрезе локальных ip и показывает трафик по внешним ip и всем портам, кроме 80

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

                @DasTieRR:

                net="192.168"

                по-моему в разделе net, должно быть 192.168.1

                это не важно в данном случае,
                net="192.168" будет отлавливать и 192.168.1.0/24 в том числе

                2Xammsa
                ipcad, судя по всему, настроен правильно и работает, дело в squid
                по какой-то причине он у вас не пишет в лог
                собственно, между ipcad и squid связи никакой нет вообще и вырубить squid ipcad не мог
                связь идет только через tolog.sh
                зачем, кстати, там cp /var/log/ipcad/ipcad.dump /var/log/ipcad/ipcad.dump.bak?

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

                  @rubic:

                  @DasTieRR:

                  net="192.168"

                  по-моему в разделе net, должно быть 192.168.1

                  это не важно в данном случае,
                  net="192.168" будет отлавливать и 192.168.1.0/24 в том числе

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

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

                    @rubic:

                    зачем, кстати, там cp /var/log/ipcad/ipcad.dump /var/log/ipcad/ipcad.dump.bak?

                    Да так, уже не помню зачем. Видимо хотел посмотреть, появляется в ipcad что-то новое, или все одни и теже значения.

                    1 Reply Last reply Reply Quote 0
                    • S
                      swat
                      last edited by

                      Ребят подскажите пожалуйста.
                      Сделал все по мануалу в первом посте все нормально завелось, статистику считает на отлично по лану.
                      У меня была другая задача по мимо лана нужно считать статистику по дмз (реальная подсеточка)

                      подправил конфиг ipcad и написал скрипт на подобие tolog.sh, назвал его dmz.sh права 555 \root\dmz.sh , в исходном скрипте убрал "if ($5 != 0)" так как прокси на реальной подсетке не нужен.

                      #!/bin/sh
                      net="77.103.55"
                      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 '{print (vtime".000",1,$2,"TCP_MISS/200",$4,"CONNECT",$1":"$5,"-","DIRECT/"$1,"-")}' >> /var/squid/log/access.log

                      дабавил его в хрон тем же методом что и указана в первом посте путем востановления подправленного конфига.

                      Не пойму в чем проблема, ручками запускаю  dmz.sh и все нормально складывается в access.log squid, но почему автоматически из хрона этого не происходит, хотя в хроне есть запись аналогичная для tolog.sh.

                      Не знаю в какую сторону копать(

                      И Вопрос такой будет ли правильно работать скрипт такой:

                      #!/bin/sh
                      net="192.168.1"
                      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
                      net="77.103.55"
                      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 '{print (vtime".000",1,$2,"TCP_MISS/200",$4,"CONNECT",$1":"$5,"-","DIRECT/"$1,"-")}' >> /var/squid/log/access.log

                      Если я объединю два скрипта в 1.

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

                        #!/bin/sh
                        net="192.168.1"
                        dmz="77.103.55"
                        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
                        rsh localhost show ip accounting checkpoint | grep $dmz | awk -v vtime=$ttime '{print (vtime".000",1,$2,"TCP_MISS/200",$4,"CONNECT",$1":"$5,"-","DIRECT/"$1,"-")}' >> /var/squid/log/access.log

                        попробуй так, хотя не уверен, надо читать ман по ipcad

                        1 Reply Last reply Reply Quote 0
                        • S
                          swat
                          last edited by

                          Спасибо, скрипт работает)

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

                            Не могу запустить tolog.sh. Пишет "Command not found"
                            Права на файл: -r-xr-xr-x.
                            ipcad запускается.

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

                              @Xammsa:

                              Не могу запустить tolog.sh. Пишет "Command not found"
                              Права на файл: -r-xr-xr-x.
                              ipcad запускается.

                              как ты его запускаешь? где он лежит?

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

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

                                в /root.
                                запускаю /root/tolog.sh
                                Это второй роутер, первый настроил и успешно запускается по крону. Тут непонятно. Разницы в настройках роутеров не вижу.

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

                                  @Xammsa:

                                  в /root.
                                  запускаю /root/tolog.sh
                                  Это второй роутер, первый настроил и успешно запускается по крону. Тут непонятно. Разницы в настройках роутеров не вижу.

                                  chmod +x /root/tolog.sh

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

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

                                    все по-прежнему

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

                                      @Xammsa:

                                      все по-прежнему

                                      cd /root/
                                      ./tolog.sh

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

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

                                        Все по-прежнему

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

                                          @Xammsa:

                                          Все по-прежнему

                                          скриншот покажи консоли как ты вводишь команды и что выводится

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

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

                                            Вот:

                                            tolog.jpg
                                            tolog.jpg_thumb

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.