Настройка статистики на основе Ipacct
1. Убедиться что ядро скомпилено с поддержкой файервола, в противном случае пересобрать
2. Установить Ipacct
cd /usr/ports/net-mgmt/ng_ipacct/ make make install clean
3. Проверить загрузку основного модуля
kldload ng_ipacct kldstat Id Refs Address Size Name 1 9 0xc0400000 3be32c kernel 5 4 0xcf516000 a000 netgraph.ko 10 1 0xcae86000 3000 ng_ipacct.ko
4. Добавить модуль автозагрузку в файл /etc/rc.conf
ng_ipacct_enable="YES" ng_ipacct_modules_load="YES" ng_ipacct_modules_list="netgraph ng_ether ng_ipacct"
5. Создать конфигурационный файл /usr/local/etc/ng_ipacct.conf
Скачать ng_ipacct.conf
6. Логи будут храниться в текстовых файлах в директории /var/log/ipacct поэтому её необходимо создать
mkdir /var/log/ipacct
7. Создать правило в IPFW
ipfw add 00100 tee 4001 ip from any to me in via bge0 ipfw -a list 00050 7800990 3397792483 tee 4001 ip from any to me in via bge0 00100 24863879774 11266975119192 allow ip from any to any
8. Создать скрипт записи в лог ipacct.sh
9. Поставить этот скрипт в крон
*/3 * * * * root /root/scripts/ipacct.sh vpn0 > /dev/null 2>&1
10. Парсить статистику в базу данных и делать нужные выборки
Tags: freebsd, ipacct, ng_ipacct, статистика, траффик