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

    ИНСТРУКЦИЯ - Статистика трафика (ipcad+lightsquid, без squid)

    Scheduled Pinned Locked Moved Russian
    23 Posts 14 Posters 16.8k 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.
    • N
      NegoroX
      last edited by

      Нормально! молодца.
      вопрос, а чем сам сквид не угодил? что ты решил без него статистику собирать?

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

        @NegoroX:

        Нормально! молодца.
        вопрос, а чем сам сквид не угодил? что ты решил без него статистику собирать?

        :) ;) Благодарю! Squid не угодил тем, что он всё пускает по 'Default Gateway', а при использовании двух и более (Gateway Groups, MultiWAN-ах) это не приемлемо:)

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

          :D https://forum.pfsense.org/index.php?topic=117432.0 — упрощенная английская версия.

          1 Reply Last reply Reply Quote 0
          • H
            hvac14400
            last edited by

            @xpaco:

            2. Установка Squid и Lightsquid
            Здесь всё просто: переходим в "System" —› "Package Manager" —› вкладка "Available Packages" —› находим "squid" —› и "Install";
            Аналогично для "Lightsquid", "Cron" и "Shellcmd".

            Shellcmd не нужен.

            4. Установка ipcad
            Возможно есть другие способы, но для меня подошел именно этот:

            я просто делал pkg install ipcad.

            8. В разделе "Services" —› "Shellcmd" создаём новую команду типа shellcmd:
            /usr/local/bin/ipcad -rds
            Это запуск ipcad при старте системы.

            это тоже не нужно - пакет при установке создаёт скрипт запуска в /usr/local/etc/rc.d/ipcad - переименовываем его в .sh и пишем туда ipcad_enable="YES".

            кстати твой скрипт tolog у меня работал раз в 10 медленнее скрипта из оригинальной статьи - постоянно  писал в консоль "[:missed]" или что-то вроде того - не в курсе что это может быть? такая фигня началась после установки bind-tools, до этого он айпишники в лог клал молча.

            10. Перезагружаем pfSense, ждем 10 минут (логи обрабатываются каждые 10 минут)

            это ты с чего взял вообще? у меня например каждые 2ч, так что не нужно ничего ждать:

            /usr/bin/perl /usr/pbi/lightsquid-amd64/local/www/lightsquid/lightparser.pl today

            максимум минуту - если влом статистику самому в лог скинуть.

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

              @hvac14400:

              @xpaco:

              2. Установка Squid и Lightsquid
              Здесь всё просто: переходим в "System" —› "Package Manager" —› вкладка "Available Packages" —› находим "squid" —› и "Install";
              Аналогично для "Lightsquid", "Cron" и "Shellcmd".

              Shellcmd не нужен.

              4. Установка ipcad
              Возможно есть другие способы, но для меня подошел именно этот:

              я просто делал pkg install ipcad.

              8. В разделе "Services" —› "Shellcmd" создаём новую команду типа shellcmd:
              /usr/local/bin/ipcad -rds
              Это запуск ipcad при старте системы.

              это тоже не нужно - пакет при установке создаёт скрипт запуска в /usr/local/etc/rc.d/ipcad - переименовываем его в .sh и пишем туда ipcad_enable="YES".

              1, 3) Да, можно и так запускать, но по инструкции было описан запуск через Shellcmd.
              2) IPCAD устанавливал так, потому, что на версии 2.3.2 RELEASE этот пакет у меня не доступен (выдает: "pkg: No packages available to install matching 'ipcad' have been found in the repositories"), по не известным мне причинам.

              кстати твой скрипт tolog у меня работал раз в 10 медленнее скрипта из оригинальной статьи - постоянно  писал в консоль "[:missed]" или что-то вроде того - не в курсе что это может быть? такая фигня началась после установки bind-tools, до этого он айпишники в лог клал молча.

              Медленней он, может быть потому, что скрип, в отличии от описанного в инструкции Rubic'а, пытается преобразовывать айпи адреса в человеку понятные домены. А может дело в "127.0.0.1" вместо "localhost".

              10. Перезагружаем pfSense, ждем 10 минут (логи обрабатываются каждые 10 минут)

              это ты с чего взял вообще? у меня например каждые 2ч, так что не нужно ничего ждать:

              /usr/bin/perl /usr/pbi/lightsquid-amd64/local/www/lightsquid/lightparser.pl today

              максимум минуту - если влом статистику самому в лог скинуть.

              Из 11 пункта: "Status"—› "Squid Proxy Reports" —› "Refresh Scheduler", у меня была указанна обработка каждые 10 минут (макс.значение), поэтому и 10 минут ожидание.

              1 Reply Last reply Reply Quote 0
              • H
                hvac14400
                last edited by

                @xpaco:

                1, 3) Да, можно и так запускать, но по инструкции было описан запуск через Shellcmd.

                видимо во времена написания инструкции пакет ipcad не прописывал себя в автостарт.

                кстати твой скрипт tolog у меня работал раз в 10 медленнее скрипта из оригинальной статьи - постоянно  писал в консоль "[:missed]" или что-то вроде того - не в курсе что это может быть? такая фигня началась после установки bind-tools, до этого он айпишники в лог клал молча.

                Медленней он, может быть потому, что скрип, в отличии от описанного в инструкции Rubic'а, пытается преобразовывать айпи адреса в человеку понятные домены. А может дело в "127.0.0.1" вместо "localhost".

                он в консоль писал примерно 2 раза в секунду - не может же так медленно nslookup работать?

                1 Reply Last reply Reply Quote 0
                • 2
                  2db
                  last edited by

                  Все недоумевал почему в топике "без squid", а по факту он установлен. Исключил shellcmd и squid. Все прекрасно работает. Автору сей темы респект.

                  1 Reply Last reply Reply Quote 0
                  • A
                    aas03
                    last edited by

                    А подскажите как тоже самое сделать только на два Lan интерфейса?

                    1 Reply Last reply Reply Quote 0
                    • U
                      unKn0wn
                      last edited by

                      Ссылки на RSH мёртвые. Кто-то может перезалить?

                      1 Reply Last reply Reply Quote 0
                      • H
                        hvac14400
                        last edited by

                        amd64

                        rsh.zip

                        1 Reply Last reply Reply Quote 0
                        • B
                          bill_open
                          last edited by

                          Автор, респект. Только 1й пост или шапку отредактируй, ибо не ясно, нужен или нет сквид.
                          P.s. я так и не понял как без сквида лог собирать, если сквид его создает, а ipcad его только дополняет. Разъясните, что я упустил.

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

                            @unKn0wn:

                            Ссылки на RSH мёртвые. Кто-то может перезалить?

                            Для i386 - https://yadi.sk/d/ic8yiQKe3GSvRd
                            (выше дали для amd64, нужно только залогиниться на форуме [это так, для будущих поколений, а то могут не увидеть :)])

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

                              Здравствуйте! спасибо  за инструкцию.
                              Делал  многое по первому посту и все как бы-завелось с первого раза, но  костылей наловил  и не могу разобраться по сей день.
                              Прошу помощи.
                              Имею
                              2.3.3-RELEASE-p1 (amd64)
                              built on Thu Mar 09 07:17:41 CST 2017
                              FreeBSD 10.3-RELEASE-p17

                              установлены пакеты
                              squid                         www 0.4.36_2
                              Lightsquid                 www 3.0.6_2
                              Cron                                 sysutils 0.3.7_1
                              Shellcmd                         sysutils 1.0.2_3
                              openvpn-client-export security 1.4.2_1

                              "Костыли!" (они же проблемы)
                              Каждй день    падете  СКВИД  в одно  и тоже время  0:00

                              Apr 11 00:00:00 (squid-1) Cannot open stdio:/var/squid/logs/access.log: (13) Permission denied
                              Apr 11 00:00:03 (squid-1) Cannot open '/var/squid/logs/access.log' for writing. The parent directory must be writeable by the user 'squid', which is the cache_effective_user set in squid.conf.
                              Apr 11 00:00:06 (squid-1) Cannot open '/var/squid/logs/access.log' for writing. The parent directory must be writeable by the user 'squid', which is the cache_effective_user set in squid.conf.
                              Apr 11 00:00:09 (squid-1) Cannot open '/var/squid/logs/access.log' for writing. The parent directory must be writeable by the user 'squid', which is the cache_effective_user set in squid.conf.
                              Apr 11 00:00:12 (squid-1) Cannot open '/var/squid/logs/access.log' for writing. The parent directory must be writeable by the user 'squid', which is the cache_effective_user set in squid.conf.
                              Apr 11 00:00:15 (squid-1) Cannot open '/var/squid/logs/access.log' for writing. The parent directory must be writeable by the user 'squid', which is the cache_effective_user set in squid.conf.
                              Apr 11 00:00:48 Squid_Alarm 84671 Squid has exited. Reconfiguring filter.
                              Apr 11 00:00:48 Squid_Alarm 84909 Attempting restart…
                              Apr 11 00:00:51 Squid_Alarm 94391 Reconfiguring filter...
                              Apr 11 00:00:51 check_reload_status Reloading filter
                              Apr 11 00:00:52 php-fpm 86358 /rc.filter_configure_sync: [squid] Installed but not started. Not installing 'nat' rules.
                              Apr 11 00:00:52 php-fpm 86358 /rc.filter_configure_sync: [squid] Installed but not started. Not installing 'pfearly' rules.
                              Apr 11 00:00:52 php-fpm 86358 /rc.filter_configure_sync: [squid] Installed but not started. Not installing 'filter' rules

                              п.с.  задачи  CRONA

                              1,31 0-5 * * * root /usr/bin/nice -n20 adjkerntz -a
                              1 3 1 * * root /usr/bin/nice -n20 /etc/rc.update_bogons.sh
                              */60 * * * * root /usr/bin/nice -n20 /usr/local/sbin/expiretable -v -t 3600 sshlockout
                              */60 * * * * root /usr/bin/nice -n20 /usr/local/sbin/expiretable -v -t 3600 webConfiguratorlockout
                              1 1 * * * root /usr/bin/nice -n20 /etc/rc.dyndns.update
                              */60 * * * * root /usr/bin/nice -n20 /usr/local/sbin/expiretable -v -t 3600 virusprot
                              30 12 * * * root /usr/bin/nice -n20 /etc/rc.update_urltables
                              */1 * * * * root /usr/local/sbin/tolog.sh
                              0 0      * * * root /usr/local/sbin/squid -k rotate -f /usr/local/etc/squid/squid.conf
                              15 0 * * * root /usr/local/pkg/swapstate_check.php
                              */10 * * * * root /usr/local/bin/perl /usr/local/www/lightsquid/lightparser.pl today
                              15 0 * * * root /usr/local/bin/perl /usr/local/www/lightsquid/lightparser.pl yesterday

                              Хелп  Хелп

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

                                в файле "/usr/local/sbin/tolog.sh исправь так

                                chown squid:proxy /var/squid/logs/access.log

                                у меня заработала, но после были обновления на прокси
                                и так все заработала..

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

                                  @shux:

                                  в файле "/usr/local/sbin/tolog.sh исправь так

                                  chown squid:proxy /var/squid/logs/access.log

                                  у меня заработала, но после были обновления на прокси
                                  и так все заработала..

                                  Хм…  у меня владелец было proxy заменил на root  все  заработало
                                  п.с.
                                  не подскажите где  находится файл .htaccess парсера lightsquid
                                  хотел и сделать  авторизацию по ip
                                  1)  поменять  пароль  admin,  a точнее его  убрать вовсе
                                  2)  хотелось бы что бы открывалась  страничка статистики  по ip
                                  ну например  пользователь  ip 192.168.0.12  открывает в браузере страницу https://192.168.0.1:7445/user_detail.cgi?user=192.168.0.12 статистики lightsquid 
                                  3)  ну  или  хотя бы что бы  что бы авторизация была по  ip из  диапазона сети

                                  п.с.  У меня прозрачный прокси,  но  я не вижу  в отчете статистике по youtube и т.п. ???
                                  может из-за того, что  в настройках Proxy Server: General Settings/General 
                                  не  включено
                                  HTTPS/SSL Interception      Enable SSL filtering.

                                  1 Reply Last reply Reply Quote 0
                                  • T
                                    tamonten
                                    last edited by

                                    @aas03:

                                    А подскажите как тоже самое сделать только на два Lan интерфейса?

                                    #!/bin/sh
                                    rez2=""
                                    #REZ="q"
                                    iptoname ()
                                    {
                                    rez2=$1
                                    REZ=$(/usr/local/bin/dig @171.1.0.20 -x $1 +short)

                                    dig @ use your DNS server

                                    echo "REZ - $REZ - $1"

                                    if [ -z $REZ]
                                    then
                                    {

                                    echo

                                    }
                                    else
                                    {
                                    rez2=$REZ
                                    }
                                    fi
                                    }

                                    net="192.168.0"
                                    net1="192.168.2"
                                    net2="11.10.10"
                                    net3="11.10.2"
                                    net4="11.10.3"
                                    net5="11.10.4"
                                    net6="11.10.11"
                                    net7="11.10.12"
                                    net8="11.10.13"
                                    net9="1.110.14"
                                    net10="11.11.2"

                                    #net = your local net
                                    ttime=/usr/bin/rsh 127.0.0.1 sh ip acco | /usr/bin/grep 'Accounting data saved' | /usr/bin/awk '{print ($4)}'
                                    /usr/bin/rsh 127.0.0.1 clear ip accounting
                                    /usr/bin/rsh 127.0.0.1 show ip accounting checkpoint | /usr/bin/grep -e $net -e $net1 -e $net2 -e $net3 -e $net4 -e $net5 -e $net6 -e $net7 -e $net8 -e $net9 -e $net10 > /root/tolog.txt

                                    while read p1 p2 p3 p4 p5 p6 p7 p8
                                    do

                                    if [ "$p5" != "0" ]
                                    then
                                    rez2=""
                                    iptoname "$p1"
                                    echo "$ttime.000" 1 $p2 "TCP_MISS/200" $p4 "CONNECT" $rez2:"$p5 "-" "DIRECT/"$p1" -"" >>/var/squid/logs/access.log

                                    echo "$vtime.000" 1 $p2 "TCP_MISS/200" $p4 "CONNECT" $rez2:"$p5 "-" "DIRECT/"$p1" -"" >>/var/squid/logs/access.log

                                    else
                                    fi
                                    done < /root/tolog.txt
                                    chown proxy:proxy /var/squid/logs/access.log

                                    exit 0

                                    1 Reply Last reply Reply Quote 0
                                    • A
                                      awe007
                                      last edited by

                                      Коллеги, а как вы боретесь с тем, что в лог ipcad попадает не полная информация?
                                      Например, пользователь посетил страницу www.vesti.ru/doc.html?id=2742518 , а в логе видно только ip адрес и порт 80.

                                      Можно как-то что-то настроить, чтобы в лог писались полные адреса?

                                      1 Reply Last reply Reply Quote 0
                                      • G
                                        GWYW
                                        last edited by

                                        где найти RSH для 64

                                        werterW 1 Reply Last reply Reply Quote 0
                                        • werterW
                                          werter @GWYW
                                          last edited by

                                          @gwyw
                                          Попробуйте https://github.com/pfelk/pfelk

                                          K 1 Reply Last reply Reply Quote 0
                                          • K
                                            komok @werter
                                            last edited by

                                            @werter , день добрый, подскажите ссылки актуальные для RSH и ipcad. Использую pfSense 2.7.2.
                                            Чуть выше (2016 год) прочитал, что в shell можно запустить команду pkg install ipcad, но видимо уже в 2024 году такое нельзя делать.

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