Еще раз о ipcad+squid+lightsquid
-
# ipcad Opening bge0... [LCap] [ERSH] [4096] [bge0/interactive] Initialized as 1 Aggregate network 10.10.200.0/255.255.255.0 -> 255.255.255.255 Aggregate network 0.0.0.0/0.0.0.0 -> 255.255.255.255 Aggregate ports 3128..3128 into 0 Aggregate ports 80..80 into 0 Aggregate ports 443..443 into 443 Configured RSH Server listening at 127.0.0.1 Can't start: another instance running, pid=521 Can't initialize pid file /var/log/ipcad/ipcad.pid: Operation not permitted Make sure you have . under /var/log/ipcad used as new root. man 2 chroot.
…
В вашем текущем конфиге, который Вы указали выше, ipcad считает только HTTPS (443 порт).
Aggregate ports X into X; - под X подставляете все порты, которые ipcad должен подсчитать и сохранить в лог. Одна строчка - один порт, либо пул портов (последовательных)Это не так. aggregate ports лишь описывает то, как реальные порты будут выглядеть в логе squid. Можно, например, написать:
aggregate ports 8080..8080 into 88 и тогда трафик пришедший с порта 8080 в логах будет выглядеть как пришедший с порта 88. Никакие aggregate ports не запрещают ipcad'у считать и заносить в лог остальные (не описанные в этих aggregate ports) порты. У меня, например, все aggregate ports вообще отключены, чего и всем советую.В принципе это я и имел ввиду (поэтому пользуюсь строчкой aggregate ports 1024..65536 into 65536, чтобы не захламлять статистику)
"У меня, например, все aggregate ports вообще отключены, чего и всем советую." - а вот это я не понял, т.е. я вот хочу видеть в логах аську - я добавил строчку для её порта aggregate ports 5190 into 5190 и сейчас она в логах есть, но ведь если я её закомменитрую разве она не перестанет отображаться в статистике?
-
"У меня, например, все aggregate ports вообще отключены, чего и всем советую." - а вот это я не понял, т.е. я вот хочу видеть в логах аську - я добавил строчку для её порта aggregate ports 5190 into 5190 и сейчас она в логах есть, но ведь если я её закомменитрую разве она не перестанет отображаться в статистике?
Перестанет конечно, при том, что у вас стоит aggregate ports 1024..65536 into 65536, и только поэтому. Но у Broodval aggregate ports 1024..65536 into 65536 нет, поэтому на него не подействует. Он может добавлять aggregate ports 5190 into 5190, удалять его или комментировать, и все-равно трафик аськи будет исправно считаться на 5190 порту.
-
Так всё таки вот это нормальная ситуация или нет?
Can't initialize pid file /var/log/ipcad/ipcad.pid: Operation not permitted Make sure you have . under /var/log/ipcad used as new root. man 2 chroot.
И rubic, если я правильно понял, то при вот таком конфиге:
interface em0 filter "ip and dst net 10.10.200.0/24 and not src net 10.10.200.0/24 and not src port 80
и полностью закомментированных "aggregate <port_range_start>[-<port_range_end>]… " я буду видеть в логе Squid'a все соединения
идущие мимо 80 порта?
P.S. Просто я всё делал вот по этой инструкции http://ru.doc.pfsense.org/index.php/Подсчет_трафика_с_помощью_Squid_и_ipcad_в_pfSense_1.2.3,
но в логе была только статистика Squid'a, собственно поэтому я и поднял эту тему.</port_range_end></port_range_start> -
Так всё таки вот это нормальная ситуация или нет?
Can't initialize pid file /var/log/ipcad/ipcad.pid: Operation not permitted Make sure you have . under /var/log/ipcad used as new root. man 2 chroot.
Не нормально, не нормально… Я вам в личку писал, вы читали?
И rubic, если я правильно понял, то при вот таком конфиге:
interface em0 filter "ip and dst net 10.10.200.0/24 and not src net 10.10.200.0/24 and not src port 80
и полностью закомментированных "aggregate <port_range_start>[-<port_range_end>]… " я буду видеть в логе Squid'a все соединения
идущие мимо 80 порта?</port_range_end></port_range_start>да
P.S. Просто я всё делал вот по этой инструкции http://ru.doc.pfsense.org/index.php/Подсчет_трафика_с_помощью_Squid_и_ipcad_в_pfSense_1.2.3,
но в логе была только статистика Squid'a, собственно поэтому я и поднял эту тему.Причина в другом, не в aggregate ports точно. Проверьте (top | grep ipcad) запущен ли ipcad. Если да, то покажите rsh localhost sh ip acco
-
Всё привёл к первоначальному виду, а именно:
interface bge0 filter "ip and dst net 10.10.200.0/24 and not src net 10.10.200.0/24 and not src port 80"; Закомментировал все записи типа "aggregate <port_range_start>[-<port_range_end>] into <port>" и запись dumpfile = /var/log/ipad/ipcad.dump привёл к виду dumpfile = ipcad.dump</port></port_range_end></port_range_start>
Перезагрузился.
Выполнил команду #top, результат:last pid: 2403; load averages: 0.00, 0.09, 0.08 up 0+00:08:29 11:10:55 55 processes: 1 running, 52 sleeping, 2 zombie CPU: 0.0% user, 0.0% nice, 0.0% system, 0.0% interrupt, 100% idle Mem: 30M Active, 11M Inact, 58M Wired, 296K Cache, 85M Buf, 893M Free Swap: 2048M Total, 2048M Free PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND 468 root 1 4 0 41736K 14816K accept 0 0:00 0.00% php 892 proxy 1 4 0 13220K 8032K kqread 0 0:00 0.00% squid 1234 root 1 44 0 7780K 3272K select 1 0:00 0.00% sshd 698 root 1 8 20 3492K 1416K wait 0 0:00 0.00% sh 991 root 1 44 0 7780K 3292K select 1 0:00 0.00% sshd 995 root 1 44 0 4952K 2020K select 0 0:00 0.00% sftp-server 452 root 1 8 0 39688K 5280K wait 0 0:00 0.00% php 458 root 1 8 0 39688K 5280K wait 1 0:00 0.00% php 1395 root 1 8 20 3156K 800K nanslp 1 0:00 0.00% check_reload_ 508 nobody 1 44 0 3156K 1292K select 1 0:00 0.00% dnsmasq 457 root 1 8 0 39688K 5280K wait 0 0:00 0.00% php 462 root 1 8 0 39688K 5280K wait 1 0:00 0.00% php 323 root 1 44 0 3268K 1144K select 1 0:00 0.00% syslogd 1366 root 1 20 0 3508K 2204K pause 1 0:00 0.00% tcsh 1238 root 1 8 0 3492K 1388K wait 0 0:00 0.00% sh 544 root 1 4 0 5156K 2844K kqread 0 0:00 0.00% lighttpd 2397 root 1 44 0 3524K 1796K CPU0 0 0:00 0.00% top
Выполнил команду #rsh localhost sh ip account, результат:
Source Destination Packets Bytes SrcPt DstPt Proto IF Accounting data age is 0 Accounting data age exact 44 Accounting data saved 1300266824 Interface bge0: received 11122, 5 m average 67 bytes/sec, 0 pkts/sec, dropped 0 Flow entries made: 0 Memory usage: 0% (0 from 10485760) Free slots for rsh clients: 9 IPCAD uptime is 10 minutes pfsense.local uptime is 10 minutes
Выполнил команду #killall ipcad && killall rsh, результат:
No matching processes were found
-
ipcad не стартует, /var/log/ipcad очистили?
-
ipcad не стартует, /var/log/ipcad очистили?
Да, чистил (#rm /var/log/ipcad/ipcad*).
Сейчас в /var/log/ipcad/ находяться:
ipcad.pid4167
ipcad.dump
Source Destination Packets Bytes SrcPt DstPt Proto IF Accounting data age is 0 Accounting data age exact 59 Accounting data saved 1300266899 Interface bge0: received 12195, 5 m average 52 bytes/sec, 0 pkts/sec, dropped 0 Flow entries made: 0 Memory usage: 0% (0 from 10485760) Free slots for rsh clients: 10 IPCAD uptime is 11 minutes pfsense.local uptime is 12 minutes
Так как же заставить ipcad запускаться?
-
ipcad не стартует, /var/log/ipcad очистили?
Да, чистил (#rm /var/log/ipcad/ipcad*).
Сейчас в /var/log/ipcad/ находяться:
ipcad.pid4167
ipcad.dump
Source Destination Packets Bytes SrcPt DstPt Proto IF Accounting data age is 0 Accounting data age exact 59 Accounting data saved 1300266899 Interface bge0: received 12195, 5 m average 52 bytes/sec, 0 pkts/sec, dropped 0 Flow entries made: 0 Memory usage: 0% (0 from 10485760) Free slots for rsh clients: 10 IPCAD uptime is 11 minutes pfsense.local uptime is 12 minutes
Так как же заставить ipcad запускаться?
Сравнил Ваш конфиг и свой (с рабочей машины) - отличие только одно (не знаю поможет ли) #chroot = /var/log/ipcad; т.е. у меня эта строчка закомментирована, у Вас нет. (при этой, закомментированной, строчке ipcad скидывает дамп в /var/log/ipcad)
-
2Broodval
Какая версия PFsense у вас? Что получается если попробовать запустить ipcad руками (ipcad -rds)?
На всякий случай:
@zar0ku1:версия 1.2.2 выдает ошибку
Can't lock PID file ipcad.pid: Invalid argument Can't initialize pid file /tmp/ipcad.pid: Operation not permitted Make sure you have . under /tmp used as new root. man 2 chroot.
комментируем строчки
#chroot #pidfile
прописываем:
dumpfile = /var/log/ipcad/ipcad.dump;
и создаем его
mkdir /var/log/ipcad/ touch /var/log/ipcad/ipcad.dump chmod 600 /var/log/ipcad/ipcad.dump
-
rubic
Версия: 1.2.3
Закомментировал chroot = /var/log/ipcad (также пробовал комментировать pidfile и chroot, результат аналогичный)
Прописал и создал ещё раз dumpfile = /var/log/ipcad/ipcad.dump;
Результаты:
#toplast pid: 3150; load averages: 0.00, 0.04, 0.07 up 0+00:13:31 18:52:52 57 processes: 1 running, 52 sleeping, 4 zombie CPU: 0.0% user, 0.0% nice, 0.2% system, 0.0% interrupt, 99.8% idle Mem: 30M Active, 12M Inact, 66M Wired, 420K Cache, 88M Buf, 885M Free Swap: 2048M Total, 2048M Free PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND 472 root 1 4 0 41736K 14920K accept 0 0:00 0.00% php 847 proxy 1 4 0 14244K 8860K kqread 1 0:00 0.00% squid 703 root 1 8 20 3492K 1392K wait 1 0:00 0.00% sh 2561 root 1 44 0 7780K 3276K select 0 0:00 0.00% sshd 437 root 1 44 0 7780K 3212K select 1 0:00 0.00% sshd 1448 root 1 8 20 3156K 784K nanslp 0 0:00 0.00% check_reload_ 453 root 1 8 0 39688K 5252K wait 1 0:00 0.00% php 461 root 1 8 0 39688K 5252K wait 0 0:00 0.00% php 324 root 1 44 0 3268K 1136K select 0 0:00 0.00% syslogd 459 root 1 8 0 39688K 5252K wait 0 0:00 0.00% php 458 root 1 8 0 39688K 5252K wait 1 0:00 0.00% php 552 root 1 4 0 5156K 2864K kqread 0 0:00 0.00% lighttpd 1436 root 1 8 0 3492K 1368K wait 1 0:00 0.00% sh 447 root 1 4 0 5144K 2160K kqread 1 0:00 0.00% lighttpd 3110 root 1 44 0 3524K 1796K CPU1 1 0:00 0.00% top 344 root 1 -58 0 5716K 2092K bpf 0 0:00 0.00% tcpdump 2528 root 1 8 0 3516K 1476K wait 0 0:00 0.00% login
#ipcad -rds
Opening bge0... [LCap] [ERSH] [4096] Initialized as 1 Aggregate network 10.10.200.0/255.255.255.0 -> 255.255.255.255 Aggregate network 0.0.0.0/0.0.0.0 -> 255.255.255.255 Configured RSH Server listening at 127.0.0.1 No valid entries found in /var/log/ipcad/ipcad.dump. Daemonized.
# ipcad
Opening bge0... [LCap] [ERSH] [4096] [bge0/interactive] Initialized as 1 Aggregate network 10.10.200.0/255.255.255.0 -> 255.255.255.255 Aggregate network 0.0.0.0/0.0.0.0 -> 255.255.255.255 Configured RSH Server listening at 127.0.0.1 Can't bind socket for RSH Server. Failed to start one or more servers.
-
#ipcad -rds
Opening bge0... [LCap] [ERSH] [4096] Initialized as 1 Aggregate network 10.10.200.0/255.255.255.0 -> 255.255.255.255 Aggregate network 0.0.0.0/0.0.0.0 -> 255.255.255.255 Configured RSH Server listening at 127.0.0.1 No valid entries found in /var/log/ipcad/ipcad.dump. Daemonized.
Вот это и есть нормальный запуск ipcad, больше ничего делать не надо
-
#ipcad -rds
Opening bge0... [LCap] [ERSH] [4096] Initialized as 1 Aggregate network 10.10.200.0/255.255.255.0 -> 255.255.255.255 Aggregate network 0.0.0.0/0.0.0.0 -> 255.255.255.255 Configured RSH Server listening at 127.0.0.1 No valid entries found in /var/log/ipcad/ipcad.dump. Daemonized.
Вот это и есть нормальный запуск ipcad, больше ничего делать не надо
Это конечно радует, однако когда после всего вышеизложенного я делаю команду #ipcad, то получаю вот что:
# ipcad -rds Opening bge0... [LCap] [ERSH] [4096] Initialized as 1 Aggregate network 10.10.200.0/255.255.255.0 -> 255.255.255.255 Aggregate network 0.0.0.0/0.0.0.0 -> 255.255.255.255 Configured RSH Server listening at 127.0.0.1 No valid entries found in /var/log/ipcad/ipcad.dump. Daemonized. # ipcad Opening bge0... [LCap] [ERSH] [4096] [bge0/interactive] Initialized as 1 Aggregate network 10.10.200.0/255.255.255.0 -> 255.255.255.255 Aggregate network 0.0.0.0/0.0.0.0 -> 255.255.255.255 Configured RSH Server listening at 127.0.0.1 Can't bind socket for RSH Server. Failed to start one or more servers.
Это так и надо или ещё что-то надо покрутить?
-
У вас ipcad уже запущен, а вы пытаетесь его запустить еще раз. Вот и лезут ошибки. Вам нужно добиться чтобы вот это:
Opening bge0... [LCap] [ERSH] [4096] Initialized as 1 Aggregate network 10.10.200.0/255.255.255.0 -> 255.255.255.255 Aggregate network 0.0.0.0/0.0.0.0 -> 255.255.255.255 Configured RSH Server listening at 127.0.0.1 No valid entries found in /var/log/ipcad/ipcad.dump. Daemonized.
появлялось при загрузке системы, больше ничего не нужно запускать.
-
У вас ipcad уже запущен, а вы пытаетесь его запустить еще раз. Вот и лезут ошибки. Вам нужно добиться чтобы вот это:
Opening bge0... [LCap] [ERSH] [4096] Initialized as 1 Aggregate network 10.10.200.0/255.255.255.0 -> 255.255.255.255 Aggregate network 0.0.0.0/0.0.0.0 -> 255.255.255.255 Configured RSH Server listening at 127.0.0.1 No valid entries found in /var/log/ipcad/ipcad.dump. Daemonized.
появлялось при загрузке системы, больше ничего не нужно запускать.
Исправил! Проблема была в файле config.xml, а именно он содержал две одинаковые строчки запуска ipcad.
<shellcmd>/usr/local/bin/ipcad -rds</shellcmd> -
Добрый день!
все тоже самое было, поправил… НО! статистика считается только со сквида... как получить статистику по другим портам и протоколам? -
Да, небольшая проблема осталась(
Вот при такой строчке:nterface bge0 filter "ip and dst net 10.10.200.0/24 and not src net 10.10.200.0/24";и полностью закомментированных "aggregate <port_range_start>[-<port_range_end>]</port_range_end></port_range_start>
в статистике есть всё, но не ресолвятся адреса, статистика имеет вид ip:port.
А вот при такой строчке:nterface bge0 filter "ip and dst net 10.10.200.0/24 and not src net 10.10.200.0/24 and not src port 80";и полностью закомментированных "aggregate <port_range_start>[-<port_range_end>]</port_range_end></port_range_start>
в статистике отображается только статистика ipcad, вида IP:port (для ipcad вид IP:port это нормально).
P.S. Спасибо rubic что помог решить предыдущие проблемы и указал направление действий!</ip:port>
-
@Axl:
Добрый день!
все тоже самое было, поправил… НО! статистика считается только со сквида... как получить статистику по другим портам и протоколам?Если ты делал тоже самое, то твоей целью и должно было быть получение статистики по другим портам. Уточни проблему!
-
пишу свои параметры:
1. Версия pfSense
1.2.3-release2. Лог загрузки системы в части касающейся ipcad и rsh
less /var/log/dmesg.boot | grep ipcad
less /var/log/dmesg.boot | grep rsh
Ничего не выводят.3. Права на ipcad.dump, ipcad.pid, rsh, tolog.sh
-rw–----- 1 root wheel 0 Mar 21 10:27 ipcad.dump
-rw-r--r-- 1 root wheel 4 Mar 23 15:56 ipcad.pid
-rwxr-xr-x 1 root wheel 356 Mar 18 15:50 tolog.sh
-r-xr-xr-x 1 root wheel 8684 Mar 21 15:19 rsh4. cat ipcad.conf | grep -v '^(#|$)'
capture-ports enable; interface em1 filter "ip and dst net 192.168.0.0/16 and not src net 192.168.0.0/16 and not src port 80"; aggregate 192.168.0.0/16 strip 32; /* Don't aggregate internal range */ aggregate 0.0.0.0/0 strip 32; /* Don't! Aggregate external networks */ aggregate 21 into 21; /* FTP */ aggregate 22 into 22; /* SSH */ aggregate 23 into 23; /* Telnet */ aggregate 25 into 25; /* SMTP */ aggregate 81 into 81; /* 81 */ aggregate 110 into 110; /* POP3 */ aggregate 123 into 123; /* NTP */ aggregate 143 into 143; /* IMAP */ aggregate 443 into 443; /* HTTPS */ aggregate 465 into 465; /* SMTP/S */ aggregate 993 into 993; /* IMAP/S */ aggregate 995 into 995; /* POP3/S */ aggregate 1863 into 1863; /* MSN */ aggregate 5190 into 5190; /* ICQ */ aggregate 5900 into 5900; /* VNC */ aggregate 5938 into 5938; /* TeamViewer */ aggregate 8081 into 8081; /* 8081 */ 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 enable at 127.0.0.1; /* Note the order! */ rsh root@127.0.0.1 admin; /* Can shutdown ipcad */ rsh root@127.0.0.1 backup; /* Can dump/restore/import accounting table */ rsh root@127.0.0.1; /* Can view and modify accounting tables */ rsh 127.0.0.1 view-only; /* Other users can view current tables */ rsh ttl = 3; rsh timeout = 30; dumpfile = /var/log/ipcad/ipcad.dump; # The file is inside chroot(), see below... chroot=/var/log/ipcad; pidfile = ipcad.pid; memory_limit = 10m;
5. tolog.sh
#!/bin/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,"-")}' >> /var/squid/log/access.log
6. из config.xml с настройками cron:
<cron><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>squid_rotate_logs</task_name> <minute>0</minute> <hour>0</hour> <mday>*</mday> <month>*</month> <wday>*</wday> <who>root</who> <command></command>/usr/local/sbin/squid -k rotate <minute>*/1</minute> <hour>*</hour> <mday>*</mday> <month>*</month> <wday>*</wday> <who>root</who> <command></command>/root/tolog.sh <minute>*/1</minute> <hour>*</hour> <mday>*</mday> <month>*</month> <wday>*</wday> <who>root</who> <command></command>/usr/local/bin/vnstat -u <minute>0</minute> <hour>*/1</hour> <mday>*</mday> <month>*</month> <wday>*</wday> <who>root</who> <command></command>/usr/bin/nice -n20 /usr/local/etc/rc.d/havp_avupdate <task_name>lightsquid_parser_today</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 <task_name>lightsquid_parser_yesterday</task_name> <minute>15</minute> <hour>0</hour> <mday>*</mday> <month>*</month> <wday>*</wday> <who>root</who> <command></command>/usr/bin/perl /usr/local/www/lightsquid/lightparser.pl yesterday</cron>
7. squid mode и к каким интерфесам привязан:
Transparent, привязан к LAN (em1 - 192.168.1.1)проблема с тем, что считается только статистика squid, т.е. только 80 порт.
изначально пользовался этой инструкцией: http://ru.doc.pfsense.org/index.php/Подсчет_трафика_с_помощью_Squid_и_ipcad_в_pfSense_1.2.3
перечитал эту тему, попробовал разные варианты… возможно я что-то упустил или протупил, заранее прошу прощения...
-
Скажите, а как можно закрыть статистику, например, паролем?
-
Меня тоже этот вопрос интересует!