cd /usr/ports/net-mgmt/flow-tools && make install clean
Хотя в /usr/local/etc/rc.d/ будет установлен скрипт для запуска flow-capture, запустим с командной строки:
/usr/local/bin/flow-capture -R /var/db/flows/netflow_8888.pl \ -p /var/run/flow-capture/flow-capture.pid -w /var/db/flows \ -n1 -N0 0.0.0.0/0.0.0.0/8888
flow-capture принимает netflow поток на udp порт 8888. Чтобы сбросить дамп потока на диск, нужно послать сигнал HUP. Дамп будет записан в /var/db/flows c именем из текущей даты и дополнительной информацией. После этого автоматически будет запущен скрипт netflow_8888.pl, которому будет передано имя дампа. Задача этого скрипта простая: переименовать файл с потоком в 8888.txt.
cp /usr/local/nodeny/modules/netflow/netflow_8888.pl /var/db/flows/ chmod 700 /var/db/flows/netflow_8888.pl
/ip traffic-flow target add address=10.20.30.1:8888 version=5 /ip traffic-flow set enabled=yes cache-entries=4k active-flow-timeout=00:01:00 inactive-flow-timeout=00:00:05 interfaces=all
Здесь 10.20.30.1 - ip центрального сервера NoDeny+, на котором запущен flow-capture.
ipfw add 2035 allow udp from 10.20.30.40 to any 8888
Здесь 10.20.30.40 - ip устройства, с которого принимаем netflow.
rm -f /var/db/flows/ft* rm -f /var/db/flows/8888.txt kill -HUP `cat /var/run/flow-capture/flow-capture.pid.8888` ls -l /var/db/flows/
Если в списке будет присутствовать ненулевой файл 8888.txt - все ок.
flow-print -f6 < /var/db/flows/8888.txt
{ type => 'netflow', port => '8888', flow_base => '/var/db/flows/', capture_pid => '/var/run/flow-capture/flow-capture.pid', ext_iface => '2', },
Измените параметр ext_iface - номер внешнего интерфейса на устройстве.
perl /usr/local/nodeny/nokernel.pl -m=collectors -v
После тестирования, не забудьте добавить в /etc/rc.local автозапуск flow-capture и модуля ядра collectors, а также в /etc/rc.firewall правило для разрешения приема netflow.
Если у вас несколько устройств, с которых вы принимаете netflow, то вам необходимо на каждом новом устройстве указать уникальный netflow порт (8889, 8890 и т.д.), запустить копию flow-capture на новом порте с указанием порта в имени pl-файла, добавить запись в /usr/local/nodeny/kernel/collectors.cfg, а также добавить правило в фаервол.