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.
    • D
      denis-k
      last edited by

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

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

        Меня тоже этот вопрос интересует!

        Я новичок FreeBSD, поэтому если Вас не затруднит, объясняйте мне как первокласснику. Заранее спасибо!

        1 Reply Last reply Reply Quote 0
        • 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
                                            • First post
                                              Last post
                                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.