NfSen
Nfsen — сборщик и анализатор Netflow с открытым исходным кодом, отображает статистику в веб интерфейсе в виде графиков.
Перед установкой Nfsen должен быть установлен Nfdump
Для установки Nfdump в Ubuntu/Debian
Code Block |
---|
|
apt-get install nfdump |
В CentOS:
Code Block |
---|
sudo yum install nfdump |
Для продолжение установки Nfsen установим необходимые компоненты:
Code Block |
---|
|
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 и распакуем:
Code Block |
---|
|
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 |
Создадим файл конфигурации и откроем его в текстовом редакторе:
Code Block |
---|
|
cd nfsen-1.3.8/etc
cp nfsen-dist.conf nfsen.conf
nano nfsen.conf |
Если Ubuntu/Debian то в файле /srv/nfsen/etc/nfsen.conf
- Изменить USER, WWWUSER и WWWGROUP на www-data
- В хеше %sources указать IP оборудования, которое должно совпадать с IP, указанного в Настройка > Сервер доступа
Code Block |
---|
language | bash |
---|
title | /srv/nfsen/etc/nfsen.conf |
---|
|
$BASEDIR = "/srv/nfsen";
$PREFIX = '/usr/bin';
$USER = "www-data";
$WWWUSER = "www-data";
$WWWGROUP = "www-data";
%sources = (
'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:
Code Block |
---|
|
cd ..
./install.pl ./etc/nfsen.conf |
Запустим nfsen:
Code Block |
---|
|
/srv/nfsen/bin/nfsen start |
В конфигурации мы указал upstream1 с портом 555, по этому после запуска nsfsen он автоматически запустит nfcapd на порту 555 и будет писать данные в директорию /srv/nfsen/profiles-data/live/upstream1/.....
Для автозапуска при старте операционной системы выполним команды:
Code Block |
---|
ln -s /srv/nfsen/bin/nfsen /etc/init.d/nfsen
update-rc.d nfsen defaults 20 |
Осталось настроить конфигурацию веб сервера либо просто создать символическую ссылку в www директорию (после этого можно будет открыть nfsen в браузере, например http://ixnfo.com/nfsen/nfsen.php):
Code Block |
---|
|
ln -s /srv/nfsen/www/ /var/www/html/nfsen
ln -s /var/www/nfsen/ /var/www/html/nfsen |
После редактирования конфигурации, например когда нужно добавить или изменить источники, выполним:
Code Block |
---|
|
cd /srv/nfsen/bin
./nfsen reconfig |
Через некоторое время должны появится данные на графиках, также через tcpdump можно посмотреть приходят ли данные от сенсора:
Code Block |
---|
|
tcpdump port 555 -e -n |
Убедимся что nfsen запускается при запуске операционной системы:
Code Block |
---|
|
systemctl is-enabled nfsen
systemctl is-enabled nfdump
systemctl enable nfsen
systemctl status nfsen |
Если в операционной системе установлен flow-tools, то можно отключить его так:
Code Block |
---|
|
systemctl is-enabled flow-capture
systemctl disable flow-capture
systemctl status flow-capture
systemctl stop flow-capture |
Проверка/редактирование настроек сервиса
Code Block |
---|
language | bash |
---|
title | nfsen.service |
---|
|
vim /etc/systemd/system/nfsen.service |
Сделать симлинк на файл traffic2sql
Code Block |
---|
|
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
Code Block |
---|
|
* */1 * * * root /usr/abills/libexec/traffic2sql [NAS_IDS] NFSEN=1 flowdir=/srv/nfsen/profiles-data/live/upstream1/ |
Пример:
* */1 * * * root /usr/abills/libexec/traffic2sql 5 NFSEN=1 flowdir=/srv/nfsen/profiles-data/live/upstream1/