Skip to end of metadata
Go to start of metadata


Nfdump & NfSen

https://nfsen.sourceforge.net/

Nfsen — сборщик и анализатор Netflow с открытым исходным кодом, отображает статистику в веб интерфейсе в виде графиков.

Перед установкой Nfsen должен быть установлен Nfdump


nfdump

Для установки Nfdump в Ubuntu/Debian

apt-get install nfdump

В CentOS:

sudo yum install nfdump

Проверка сбора (nfcapd: Version: 1.7.1):

mkdir /tmp/nfcap-test
nfcapd -E -p 9996 -w /tmp/nfcap-test

Проверка файлов

nfdump -r /tmp/nfcap-test/nfdump/nfcapd.202506251935



При использовании nfdump  самостоятельно укажите в файле настройки нужный порт для прослушивания flow трафика (9996)

файл настройки  nfdump: /etc/nfdump/default.conf

При использовании только nfdump

*/10 * * * * root /usr/abills/libexec/traffic2sql [NAS_IDS] NFDUMP=1 flowdir=/var/cache/nfdump/



nfsen

Для продолжение установки Nfsen установим необходимые компоненты:

add-apt-repository universe
apt-get install apache2 php libapache2-mod-php librrds-perl librrdp-perl librrd-dev libmailtools-perl build-essential autoconf rrdtool libio-socket-inet6-perl

Скачаем Nfsen и распакуем:

mkdir /srv/nfsen
cd /srv/nfsen
wget https://sourceforge.net/projects/nfsen/files/stable/nfsen-1.3.8/nfsen-1.3.8.tar.gz
tar xzfv nfsen-1.3.8.tar.gz

Создадим файл конфигурации и откроем его в текстовом редакторе:

cd nfsen-1.3.8/etc
cp nfsen-dist.conf nfsen.conf

nano nfsen.conf


Если Ubuntu/Debian то в файле /srv/nfsen/etc/nfsen.conf 

  1. Изменить USER, WWWUSER и WWWGROUP на www-data
  2. В хеше %sources указать IP оборудования, которое должно совпадать с IP, указанного в Настройка > Сервер доступа
/srv/nfsen/etc/nfsen.conf 
$BASEDIR = "/srv/nfsen";
$PREFIX  = '/usr/bin';
$USER    = "www-data";
$WWWUSER  = "www-data";
$WWWGROUP = "www-data";
 
%sources = (
     'mikrotik'     => { 'port' => '9996', 'col' => '#00ff00', 'IP' =>'192.168.0.0' 'type' => 'netflow' },   
     'upstream1'    => { 'port' => '555', 'col' => '#0000ff', 'IP' =>'195.158.00.000' 'type' => 'netflow' },
     'upstream2'    => { 'port' => '555', 'col' => '#00ff00', 'IP' =>'195.158.00.111' 'type' => 'netflow' },
);

Запустим скрипт установки Nfsen:

cd ..
./install.pl ./etc/nfsen.conf

Запустим nfsen:

/srv/nfsen/bin/nfsen start

В конфигурации мы указал mikrotik с портом 9996, по этому после запуска nsfsen он автоматически запустит nfcapd на порту 9996 и будет писать данные в директорию /srv/nfsen/profiles-data/live/mikrotik/.....

Для автозапуска при старте операционной системы выполним команды:

ln -s /srv/nfsen/bin/nfsen /etc/init.d/nfsen
update-rc.d nfsen defaults 20

Осталось настроить конфигурацию веб сервера либо просто создать символическую ссылку в www директорию (после этого можно будет открыть nfsen в браузере, например http://ixnfo.com/nfsen/nfsen.php):

ln -s /srv/nfsen/www/ /var/www/html/nfsen
ln -s /var/www/nfsen/ /var/www/html/nfsen

После редактирования конфигурации, например когда нужно добавить или изменить источники, выполним:

cd /srv/nfsen/bin
./nfsen reconfig

Через некоторое время должны появится данные на графиках, также через tcpdump можно посмотреть приходят ли данные от сенсора:

tcpdump -i eno4 -n port 9996

Убедимся что nfsen запускается при запуске операционной системы:

systemctl is-enabled nfsen
systemctl is-enabled nfdump
systemctl enable nfsen
systemctl status nfsen

Если в операционной системе установлен flow-tools, то можно отключить его так:

systemctl is-enabled flow-capture
systemctl disable flow-capture
systemctl status flow-capture
systemctl stop flow-capture

Проверка/редактирование настроек сервиса

nfsen.service
vim /etc/systemd/system/nfsen.service


Сделать симлинк на файл traffic2sql

ln -s /usr/abills/Abills/modules/Internet/traffic2sql /usr/abills/libexec/traffic2sql 


Для сбора данных c Nfsen добавление данных в базу данных нужно добавить вызов файла traffic2sql на крон каждый час в /etc/crontab . В поле [NAS_IDS] указать NAS_ID. Для проверки вывода данных с потока поставить DEBUG=8.

По умолчанию путь для программы Nfdump указана по адресу '/usr/bin/nfdump'. Если программа установлена по другому пути - можно задать через аргумент FLOW_NFDUMP=/usr/local/bin/nfdump

/etc/contab
 */10 * * * * root /usr/abills/libexec/traffic2sql [NAS_IDS] NFSEN=1 flowdir=/srv/nfsen/profiles-data/live/upstream1/

Проблемы при установке

RRD version '1.5001' not yet supported

Открыть файл vim /srv/nfsen/nfsen-1.3.8/libexec/NfSenRRD.pm и изменить строку (line 76)  $rrd_version >= 1.2 && $rrd_version < 1.6


не запускается nfcapd  nfcapd  -D  -p 9996 -u www-data -g www-data -B 200000 -S 1 -P /srv/nfsen/var/run/p9996.pid -z  -I mikrotik2 -w /srv/nfsen/profiles-data/live/mikrotik2
  • No labels