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

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

    Scheduled Pinned Locked Moved Russian
    222 Posts 39 Posters 169.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.
    • 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
                                          • F
                                            falcon39
                                            last edited by

                                            @Xammsa:

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

                                            У меня та же проблема, такое чувство что файл остается открытым и squid не может туда ничего записать. Хотя могу ошибаться так как с freebsd недавно начал разбираться.

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