Еще раз о ipcad+squid+lightsquid
-
Чертовщина. Сегодня в access.log не попадают данные самого squid'a! Есть только записи ipcad, ни одной со словом GET http.
Перезагрузил роутер, записи стали появляться, потом снова только ipcad.Ага,тоже такое замечал.Или например такая бага,что пишутся в логах только IP,а имена сайтов нет.
-
Солнышко мое, опять в логах только записи ipcad'a.
-
Может я не прав, но похоже на совместный доступ к файлу. Один лочит другой не может получить доступа.
-
давайте все сначала
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. Версия 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
/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-x4. 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
это все что там есть (после перезагрузки) -
/root/tolog.sh
#!/bin/sh
cp /var/log/ipcad/ipcad.dump /var/log/ipcad/ipcad.dump.bak
net="192.168"по-моему в разделе net, должно быть 192.168.1
-
Не знаю, статитика ipcad прекрасно кладется в access.log и отображается в lightsquid в разрезе локальных ip и показывает трафик по внешним ip и всем портам, кроме 80
-
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? -
-
зачем, кстати, там cp /var/log/ipcad/ipcad.dump /var/log/ipcad/ipcad.dump.bak?
Да так, уже не помню зачем. Видимо хотел посмотреть, появляется в ipcad что-то новое, или все одни и теже значения.
-
Ребят подскажите пожалуйста.
Сделал все по мануалу в первом посте все нормально завелось, статистику считает на отлично по лану.
У меня была другая задача по мимо лана нужно считать статистику по дмз (реальная подсеточка)подправил конфиг 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.
-
#!/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
-
Спасибо, скрипт работает)
-
Не могу запустить tolog.sh. Пишет "Command not found"
Права на файл: -r-xr-xr-x.
ipcad запускается. -
Не могу запустить tolog.sh. Пишет "Command not found"
Права на файл: -r-xr-xr-x.
ipcad запускается.как ты его запускаешь? где он лежит?
-
в /root.
запускаю /root/tolog.sh
Это второй роутер, первый настроил и успешно запускается по крону. Тут непонятно. Разницы в настройках роутеров не вижу. -
в /root.
запускаю /root/tolog.sh
Это второй роутер, первый настроил и успешно запускается по крону. Тут непонятно. Разницы в настройках роутеров не вижу.chmod +x /root/tolog.sh
-
все по-прежнему
-
-
Все по-прежнему