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

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

    Scheduled Pinned Locked Moved Russian
    222 Posts 39 Posters 167.6k 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.
    • 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
            • 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
                                            • First post
                                              Last post
                                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.