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

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

    Scheduled Pinned Locked Moved Russian
    222 Posts 39 Posters 166.3k 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.
    • A
      Antip
      last edited by

      ipcad записывает логи сам себя, т.е. ВСЁ скачал он, например

      10.0.0.22        192.168.1.1         5         1165     53 64440    17 bge0
      

      Где 192.168.1.1 это ip-адрес проксисервера, надо чтобы считал по каждому ip из локальной сети а не отображал как сам скачал….

      ipcad.conf

      
      capture-ports enable;
      interface bge0 filter "ip and dst net 192.168.0.0/24 and not src net 192.168.0.0/24";
      aggregate 192.168.0.0/24 strip 32;      /* Aggregate external networks */
      ...
      aggregate 5191-65535 into 65535;
      
      netflow export version 5;       # NetFlow export format version {1|5}
      netflow timeout active 30;      # Timeout when flow is active, in minutes
      netflow timeout inactive 15;    # Flow inactivity timeout, in seconds
      netflow engine-type 73;         # v5 engine_type; 73='I' for "IPCAD"
      netflow engine-id 1;            # Useful to differentiate multiple ipcads.
      
      netflow ifclass eth mapto 0-99;         # i.e., "eth1"->1, "eth3"->3
      netflow ifclass fxp mapto 0-99;         # i.e., "fxp4"->4, "fxp0"->0
      netflow ifclass ppp mapto 100-199;      # i.e., "ppp32"->532, "ppp7"->507
      netflow ifclass gre mapto 200-299;
      netflow ifclass tun mapto 300-399;      # i.e., "tun0"->300
      
      ######################
      # 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 root@127.0.0.1 deny;
      rsh 127.0.0.1 view-only;
      
      rsh ttl = 3;
      rsh timeout = 30;
      dumpfile = ipcad.dump;  # The file is inside chroot(), see below...
      
      #################
      # OTHER OPTIONS #
      #################
      chroot = /usr/logs/ipcad;
      pidfile = ipcad.pid;
      memory_limit = 5m;
      

      ipcad.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,"-")}' >> /usr/logs/squid/access.log
      
      

      В чём может быть проблема?! Спасибо.

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

        Приведите полный ipcad.conf и фрагмент лога, не надо ничего сокращать. Вот это:

        10.0.0.22        192.168.1.1         5         1165     53 64440    17 bge0
        

        вообще не вывод ipcad, если только вы не отредактировали его руками.

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

          Полный конфиг выше, сократил только про порты, т.к. там как обычно.

          ee /usr/logs/ipcad/ipcad.dump

          
             Source           Destination    Packets        Bytes  SrcPt DstPt Proto   IF
          ...
          83.69.195.90     192.168.1.1         6         3767      0 13757     6 bge
           83.69.195.90     192.168.1.1         9         5394      0 37941     6 bge
           83.69.195.90     192.168.1.1         1           69      0     0     1 bge
           66.231.176.36    192.168.1.1       327       403536      0 16688     6 bge
           83.69.195.90     192.168.1.1        11         8948      0 28165     6 bge
           10.0.0.22        192.168.1.1         5         1165     53 64440    17 bge
           77.88.21.14      192.168.1.1         5          399      0 31296     6 bge
          
          Accounting data age is     4
          Accounting data age exact 273
          Accounting data saved 1300884873
          Interface bge0: received 7582776, 5 m average 17601 bytes/sec, 16 pkts/sec, dr
          Flow entries made: 48
          Memory usage: 0% (5376 from 5242880)
          Free slots for rsh clients: 10
          IPCAD uptime is 5 days  6:58
          home.local uptime is 5 days  6:59
          
          

          Собственно, проблема в том, что трафик не считается пользователем, а всё "сервер скачал"
          http://www.pictureshack.ru/view_8645sams.JPG

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

            Вопрос снимается, разобрался.

            Теперь возник другой вопрос, ipcad записывает статистику почты как шттп трафик.
            Например: скачиваю тундербёрдом письма с gmail.com, mail.ru смотрю как записал это ipcad:
              rsh localhost show ip accounting

            
               Source           Destination    Packets        Bytes  SrcPt DstPt Proto   IF
            209.85.149.138   192.168.1.1       111       133586      0 64413     6 bge0
            
            

            1. Скачал его я, а не сервер (Destination должен быть 192.168.1.55)
            2. Порт должен быть 995 или 110 (0 это правило aggregate 3128 into 0)

            В чём проблема? У меня фрибсд прописан шлюзом, сам проксисервер настроен прозрачно с редиректом pf
            rdr inet proto tcp from $lan_net to any port www -> 127.0.0.1 port 3128

            P.S. сейчас ещё заметил, аська по 5190 порту тоже никак не фиксируется, mirc по 6669 порту аналогично.
            Что фиксируется?! 443 порт, 53, 2041, 5, 9999

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

              Спасибо за статью, очень пригодилась… но как посчитать исходящий трафик ipcad-ом в pfsense 2.0-rc-1...? теоретически есть возможность....?

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

                @denis-k:

                Скажите, а как можно закрыть статистику, например, паролем?

                Точно не помню где нарыл, может и здесь. Суть в следующем:

                • нужно внести в файл lighty-webConfigurator.conf некоторые изменения, для этого правим файл /etc/inc/system.inc

                делаем так (добавили "mod_auth", ссылку на файл паролей "/.pa.txt" и защищаемый путь):

                
                ...
                ## modules to load
                server.modules              =   (
                									{$captive_portal_module}
                									"mod_access", "mod_accesslog", "mod_expire", "mod_compress", "mod_redirect",
                									"mod_auth", {$module}{$captiveportal}
                								)
                .....
                
                	// Add HTTP to HTTPS redirect
                	if ($captive_portal == false && $config['system']['webgui']['protocol'] == "https" && !isset($config['system']['webgui']['disablehttpredirect'])) {
                		if($lighty_port != "443")
                			$redirectport = ":{$lighty_port}";
                		$lighty_config .= <<<eod<br>\$SERVER["socket"] == ":80" {
                	\$HTTP["host"] =~ "(.*)" {
                		url.redirect = ( "^/(.*)" => "https://%1{$redirectport}/$1" )
                	}
                }
                
                EOD;
                	}
                
                	$lighty_config .= <<<eod<br>auth.backend = "htpasswd"
                auth.backend.htpasswd.userfile = "/.pa.txt"
                auth.require = ( "/lightsquid/" =>
                	(
                		"method"   => "basic",
                		"realm"    => "Statistic",
                		"require"  => "valid-user"
                	)
                )
                
                EOD;
                
                	$fd = fopen("{$filename}", "w");
                ....</eod<br></eod<br> 
                
                • далее создаем файл с паролями /.pa.txt с помощью htpasswd.exe от apache (делал под виндой) и кладем на место

                • перегружаемся и проверяем

                2.2.6-RELEASE  (amd64)  built on Mon Dec 21 14:50:08 CST 2015 FreeBSD 10.1-RELEASE-p25
                AMD Turion™ II Neo N40L Dual-Core Processor Current: 187 MHz, Max: 1497 MHz

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

                  Подскажите, где можно скачать rsh, а то по старому пути его нет(((
                  и еще не ставиться pkg_add -r compat6x-i386, говорит Error: FTP Unable to get ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-7.2-release/Latest/compat6x-i386.tbz: No address record

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

                    @strelok:

                    Подскажите, где можно скачать rsh, а то по старому пути его нет(((
                    и еще не ставиться pkg_add -r compat6x-i386, говорит Error: FTP Unable to get ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-7.2-release/Latest/compat6x-i386.tbz: No address record

                    1. http://narod.ru/disk/12770498001/rsh.gz.html
                    2. Зайти на сайт freebsd найти где там лежат порты, в портах найти путь до compat6x-i386, написать в консоли pkg_add -r и вставить скопирвоанный путь до compat6x-i386, включая имя файла.

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

                      Ссылку нашел, но какой путь прописать и название фаила-не пойму ???
                      http://www.freebsd.org/cgi/cvsweb.cgi/ports/misc/compat6x/

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

                        @strelok:

                        Ссылку нашел, но какой путь прописать и название фаила-не пойму ???
                        http://www.freebsd.org/cgi/cvsweb.cgi/ports/misc/compat6x/

                        не ту ссылку нашёл

                        pkg_add -r http://ftp.freebsd.org/pub/FreeBSD/releases/i386/7.3-RELEASE/packages/Latest/compat6x-i386.tbz
                        это если pfsense 1.2.3

                        P.S. Я в предыдущем посте неверно написал, не порты, а пакеты.

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

                          Установил, спасибо.
                          Все пошло с 4 попытки,когда прочитал формум и понял что надо открыть  агрегацию портов и вуаля!)
                          Только одно НО-разве наормально что в логе есть порты с номером 0,я думал такие вообще не должны отображаться чтобы избежать двойного подсчета

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

                            @Antip:

                            Вопрос снимается, разобрался.

                            Теперь возник другой вопрос, ipcad записывает статистику почты как шттп трафик.
                            Например: скачиваю тундербёрдом письма с gmail.com, mail.ru смотрю как записал это ipcad:
                              rsh localhost show ip accounting

                            
                               Source           Destination    Packets        Bytes  SrcPt DstPt Proto   IF
                            209.85.149.138   192.168.1.1       111       133586      0 64413     6 bge0
                            
                            

                            1. Скачал его я, а не сервер (Destination должен быть 192.168.1.55)
                            2. Порт должен быть 995 или 110 (0 это правило aggregate 3128 into 0)

                            В чём проблема? У меня фрибсд прописан шлюзом, сам проксисервер настроен прозрачно с редиректом pf
                            rdr inet proto tcp from $lan_net to any port www -> 127.0.0.1 port 3128

                            P.S. сейчас ещё заметил, аська по 5190 порту тоже никак не фиксируется, mirc по 6669 порту аналогично.
                            Что фиксируется?! 443 порт, 53, 2041, 5, 9999

                            • up -
                              Подскажите пожалуйста, куда копать? я не могу посчитать и контролировать данный трафик, т.к. если уберу сортировку по порту 3128/80/8080? то трафик будет удваиваться, сквид + ipcad.
                            1 Reply Last reply Reply Quote 0
                            • R
                              rubic
                              last edited by

                              Всем, кто использует данное решение подсчета трафика, необходимо отредактировать файл tolog.sh
                              Причина: при ротации логов squid, возможна ситуация когда файл /var/squid/log/access.log уже переименован в access.log.0, а новый файл access.log еще не создан. Если в это время сработает tolog.sh (а он таки срабатывает в 00:00, как и ротация), то новый файл access.log будет создан самим tolog.sh с владельцем root. В результате squid не сможет писать в него и остановится. Если установлен SquidGuard, то остановится и он. Пользователи не смогут открывать странички.
                              Новый файл tolog.sh (добавлена проверка существования access.log):

                              #!/bin/sh
                              
                              if [ -f "/var/squid/log/access.log" ]
                              then
                              net="192.168.0"
                              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
                              fi
                              
                              
                              1 Reply Last reply Reply Quote 0
                              • Z
                                zar0ku1
                                last edited by

                                сделай чтобы ротация лога сквида проходила в 00:05 и всего делов

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

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

                                  Подозреваю (но не уверен, кто бы подсказал?), что при ротации LightSquid'ом новый access.log вообще не создается. А создается он только в момент первой записи в него. Тут уж кто раньше встал - того и тапки. Squid или tolog.sh

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

                                    @rubic:

                                    Подозреваю (но не уверен, кто бы подсказал?), что при ротации LightSquid'ом новый access.log вообще не создается. А создается он только в момент первой записи в него. Тут уж кто раньше встал - того и тапки. Squid или tolog.sh

                                    создается при ротации

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

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

                                      Поторопился с определением причины такого поведения. Сегодня сбойнуло уже утром, далеко-далеко от ротации. У access.log владелец root, группа - proxy, и никакие проверки на существование файла естественно не помогают. Сам файл под 2 мега. Жаль не посмотрел содержимое, кто последний в него писал((
                                      chown что ли в tolog.sh еще ставить?

                                      1 Reply Last reply Reply Quote 0
                                      • N
                                        NegoroX
                                        last edited by

                                        а не хард ли подсбаивает перед гибелью? смарт посмотреть (вот только чем его глянуть?

                                        1 Reply Last reply Reply Quote 0
                                        • F
                                          forestman99
                                          last edited by

                                          @rubic:

                                          Поторопился с определением причины такого поведения. Сегодня сбойнуло уже утром, далеко-далеко от ротации. У access.log владелец root, группа - proxy, и никакие проверки на существование файла естественно не помогают. Сам файл под 2 мега. Жаль не посмотрел содержимое, кто последний в него писал((
                                          chown что ли в tolog.sh еще ставить?

                                          я так и сделал, в конце tolog.sh chown добавил, потому как два раза за полгода файл сменил владельца и сквид встал колом

                                          1 Reply Last reply Reply Quote 0
                                          • I
                                            Ilyuha
                                            last edited by

                                            Чего-то на свеже установленном релизе 2.0 не могу наладить работу ipcad. Делал по инструкции с новым rsh. В access.log нет записей от ipcad. На бетах и РЦ работало. RSH в памяти висит, ipcad в установленных пакетах есть. Помогите ПЖЛ.

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