LINUX.ORG.RU
ФорумAdmin

Помогите настроить nfdump

 ,


1

1

Товарищи знатоки, стоит задача собирать NetFlow. Цисок / Микротиков есть в избытке.

Собственно проблема с коллектором. В ТЗ сказано что анализатор не нужен, по этому NFsen можно ставить, можно не ставить (я все же поставил, ради спортивного интереса).

Что я делаю и в чем проблема.

Собственно, проект nfdump обитает на гитхабе.

GitHub

Ставлю свежий дебиан, ставлю на него необходимое ПО.

Далее выкачиваю nfdump с sourceforge, собираю его со всеми флагами (возможно на этом шаге косяк, ненужно собирать со всеми, но мне собирать статистику нужно на сети провайдера, авось что то в будущем пригодится). Собирается без проблем.

Далее:

mkdir /tmp/nfcap-test
nfcapd -E  -p 9001 -l /tmp/nfcap-test

Вот после этого шага уже начинаются непонятки. Мне обязательно нужно сенсор настроить на ип:порт тачки с нфдампом, или же в данном случае, я могу собирать статистику с самого себя? После старта nfcapd в выводе ничего не вижу, данные не собираются. ( в одном из кучи мануалов читал, что вроде как должно собирать статистику с самого себя, мол «запустите веб или скачайте что то, увидите статистику».)

ПС: Настраивал тоже самое на Центосе, ставил там nfsen. Веб морда работает, какие то графики рисует даже. Но данных 0 ( по всем показателям стоит Х ). Там настраивал в микротике:

/ip traffic-flow
set enabled=yes
/ip traffic-flow target
add dst-address=%IPADD_NFDUMP_SERV@ port=9995 v9-template-timeout=1m

при этом, в нфсен.конф была добавлена строчка:

%sources = ( 
'Mikrotik1' => { 'port' => '9995', 'col' => '#0000ff', 'type' => 'netflow' }, 

Так же, не работало…

Подскажите, где я косячу?

ПС: Описание работы с нфсенс на центосе, привел как пример того что делал, сейчас пробую запустить на дебиане все, центос снёс.



Последнее исправление: Tesler (всего исправлений: 3)

У вас руки чешутся самим всё собирать? В debian за вас собрали, загрузочный юнит/инит для запуска демона сделали, конфиги как надо раскидали. nfcapd это коллектор, с сетевого оборудования отправляешь на него траффик. Если настройки как указаны в сообщение, то у тебя порты различаются. Слушаешь на 9001, а с микротика отправляешь на 9995. Всегда можешь запустить tcpdump и посмотреть прилетает к тебе на порт или нет. Ставил на centos и debian из реп всё работало.

avb
()
Ответ на: комментарий от avb

По портам все верно.

Центось + микротик когда пробовал, порты совпадали.

В целом, нет, руки не чесались. Я же написал зачем собирал.

Сейчас поставил готовое все. Работает.

Ещё вопрос возник, где можно править конфиги nfcapd?

Спасибо заранее)

Tesler
() автор топика
Ответ на: комментарий от Tesler

В /etc/nfdump/default.conf и включаешь через nfdump.service для запуска. Можешь создать раздельные конфиги, например /etc/nfdump/cisco.conf и для него сгенерируется отдельный юнит.

Бага в юните вроде был если будешь от отдельного пользователя запускать, т.е. оно работает но перед этим какие-то телодвижения надо сделать. Не помню что было.

avb
()
Ответ на: комментарий от Tesler

Ещё вопрос возник, где можно править конфиги nfcapd?

Там, где его читает init-скрипт. Ну или systemd-шный юнит. Конечный смысл в запуске nfcapd с некоторым набором параметров.

AS ★★★★★
()
Последнее исправление: AS (всего исправлений: 1)
Ответ на: комментарий от Tesler

Спасибо большое. Буду дальше разбираться.

Сразу подумай над тем, что ты хочешь в итоге. Например можно запустить несколько коллекторов, слушающих разные порты, и соответственно на них собирать данные с разных железок и складывать в разные каталоги. Можно настроить запись в каталоги по датам, чтобы в одном каталоге не скапливалась куча файлов. Можно не настраивать, чтобы по датам, а написать скрипт, перекладывающий в архив и перепаковывающий в bz2 посредством nfdump (кстати, это таки анализатор, если графики не нужны). В общем есть, что почитать про пакет и о чём подумать до окончательного внедрения.

Кстати, некоторые железки могут забывать, что надо слать netflow, и им надо давать пинка (вот про циски и микротики не знаю, может у них и хорошо), а-ля ресет netflow. Да и просто на предмет забывания включить нетфлоу полезно. Это удобно делать, обнаружив, что файлы от nfcapd стали маленькими (тут надо не забыть добавить у nfcapd параметр с ограничением по времени записи).

AS ★★★★★
()
Последнее исправление: AS (всего исправлений: 1)
Ответ на: комментарий от AS

В целом, NetFlow давно хотели внедрить, но чел, на которого возложили задачу, слинял из конторы на полуделе и все забросилось. Теперь же, по некоторым причинам решили вернутся к этой теме. Вот и осваиваюсь. В целом да, нужно будет читать/смотреть по конфигам информацию, разбиратся что/как. Если будут вопросы, в рамках этой темы буду писать.

Tesler
() автор топика
Ответ на: комментарий от AS

В /etc/nfdump/default.conf и включаешь через nfdump.service для запуска

Папку nfdump и файл default.conf сам должен создать?

Там, где его читает init-скрипт. Ну или systemd-шный юнит.

Подскажите, где / как я могу это узнать?

Tesler
() автор топика
Последнее исправление: Tesler (всего исправлений: 2)
Ответ на: комментарий от Tesler

Подскажите, где / как я могу это узнать?

Посмотреть, как собран пакет в дистрибутиве. У меня вот, например, никаких /etc/nfdump/default.conf и nfdump.service нет, у меня есть /etc/sysconfig/nfcapd и /etc/rc.d/init.d/nfcapd. И коллектор - nfcapd, а не nfdump. nfdump - это смотрелка того, что nfcapd насобирает. Демоном запускается nfcapd.

AS ★★★★★
()
Последнее исправление: AS (всего исправлений: 2)
Ответ на: комментарий от AS

Да, спасибо. Что то я рано сюда надумал написать. Почитал, разобрался.

Tesler
() автор топика
Ответ на: комментарий от AS

Доброго времени. А можете подсказать, с каким ключом выводить нфдамп, чтоб выводило больше строк.

Сейчас выводит 10 строк:

#nfdump -r nfcapd.*** -s ip/bytes

и далее вывод из 10 ипов, отсортированных по кол-ву байт.

С каким ключом запустить вывод, чтоб вывело абсолютно все ипы?

Спасибо заранее.

Tesler
() автор топика
Ответ на: комментарий от Tesler

Сейчас выводит 10 строк:
#nfdump -r nfcapd.*** -s ip/bytes

-r читает один файл. Если читать группу, надо -R. По идее он всё выводит, что есть. В качестве примера:

nfdump -O tstart -o line -N -R . -t 2019/11/15.00:00:01-2019/11/15.03:00:00 'dst host 10.1.1.1'

AS ★★★★★
()
Последнее исправление: AS (всего исправлений: 2)
Ответ на: комментарий от AS

Не выходит. Опишу что я делаю.

#cd /var/cache/nfdump/Cisco86-01/
# ls -al
-rw-r--r-- 1 root root 227497636 Mar 23 15:09 nfcapd.202003231309
-rw-r--r-- 1 root root 230089764 Mar 23 17:09 nfcapd.202003231509
-rw-r--r-- 1 root root 228022132 Mar 23 19:09 nfcapd.202003231709
# nfdump -O tstart -o line -N -R . -t 2020/03/20.00:00:01-2020/03/25.03:00:00 -s dstip/bytes

Выводит список, но только 10 ипов..

Может ключ -s нужно в паре с еще каким то ключом запускать? в -h о нем ничего не вижу.

ПС: Ваша конструкция работает, спасибо.

Tesler
() автор топика
Последнее исправление: Tesler (всего исправлений: 1)
Ответ на: комментарий от Tesler

Выводит список, но только 10 ипов..

       -n num
          For record statistics (-s .. ): Define the number for the Top N. Defaults to 10.  Use -n  0
          to list all records.
          For  record  sorting  and aggregation (-a .. -O ..): Limit the records to the first top num
          sorted records.  if not specified or -n 0 is given, all records are listed.
AS ★★★★★
()
Последнее исправление: AS (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.