pfsense мне нравится, но учет трафика реализован в нем только для прокси, а так как хочется видеть все (Большой брат следит за тобой

) я решил не изобретать велосипед и отслеживать трафик с помощью ipcad, естественно доделав его под свой конткретный вариант.
ipcad я поставил через пакаджи, дополнительно пришлось скопировать файлы
rsh,
rlogin из стандартной freebsd седьмой версии в
/usr/bin/, конф файл прилагается.
строка фильтра была такая
interface em0 filter "ip and dst net 192.168.3.0/24
and not src net 192.168.3.0/24 and not host 255.255.255.255
and not ip multicast and not dst net 192.168.4.0/24 and not src net 192.168.4.0/24";
включение
and not host 255.255.255.255 and not ip multicast
сделано было чтобы исключить лишний мусор, который начал проявляться далее при анализе логов.
надо учитывать что запуск сервиса через rc.conf обречен на провал, так как pfsense при запуске его удаляет и не анализирует, почитав документацию вставляет в
/etc/rc.conf.local строчки
ipcad_enable="YES"
ipcad_conf="/usr/local/etc/ipcad.conf"
ipcad_flags=""
а файл запуска сервиса переименовываем из
/usr/local/etc/rc.d/ipcad в
/usr/local/etc/rc.d/ipcad.sh скрипт сбора статистики следующий
#!/bin/sh
net="192.168.3"
ttime=`/usr/bin/rsh localhost sh ip acco | /usr/bin/grep 'Accounting data saved' | /usr/bin/awk '{print ($4)}'`
/usr/bin/rsh localhost clear ip accounting
/usr/bin/rsh localhost show ip accounting checkpoint | /usr/bin/grep $net | /usr/bin/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
скрипт надо засунуть в кронтаб через вебинтерфейс, ручками засунутый пропадет при изменении заданий крона через вебформу или при перезагрузке