Jump to content
Калькуляторы

server Ubuntu 22.04 ошибка при сборе на коллекторе nfdump

поставил nfdump из пакетов

все подхватывает, пакеты идут с железок трафик есть.
файлы в папке /var/cache/nfdump появляются.

Но:
все файлы по 276 байт
rusbilling@rusbilling:~$ ls -l /var/cache/nfdump/
total 28
-rw-r--r-- 1 root root 276 июл  3 08:25 nfcapd.202307030820
-rw-r--r-- 1 root root 276 июл  3 08:30 nfcapd.202307030825
-rw-r--r-- 1 root root 276 июл  3 08:35 nfcapd.202307030830
-rw-r--r-- 1 root root 276 июл  3 08:40 nfcapd.202307030835
-rw-r--r-- 1 root root 276 июл  3 08:45 nfcapd.202307030840
-rw-r--r-- 1 root root 276 июл  3 08:50 nfcapd.202307030845
-rw-r--r-- 1 root root 276 июл  3 08:50 nfcapd.current.1530
 

вывод

 nfdump -R /var/cache/nfdump/
Date first seen          Event  XEvent Proto      Src IP Addr:Port          Dst IP Addr:Port     X-Src IP Addr:Port        X-Dst IP Addr:Port   In Byte Out Byte
No matched flows
 

как будто данные не доходят до nfcapd.

UFW выключил

 sudo ufw status
Status: inactive
 

Подскажите где копать

Share this post


Link to post
Share on other sites

файлы будут появляться по-любому, т.к. сам nfcapd их по умолчанию ротейтит каждые 5 минут

Цитата

пакеты идут с железок трафик есть.

то есть вы tcpdump'ом смотрели и видели, что летят в порт, на котором слушает nfcapd, пакеты?

nfcapd не слишком древний? может вы в него v10 льете, а он у вас только v9 умеет?

Share this post


Link to post
Share on other sites

да сам nfcapd:

ps auxwww | grep nfcapd
root        1413  0.0  0.0  24532  1684 ?        S    12:31   0:00 /usr/bin/nfcapd -D -P /run/nfcapd.default.pid -l /var/cache/nfdump -p 2055
rusbill+    1998  0.0  0.0   6476  2432 pts/0    S+   15:34   0:00 grep nfcapd

 

пакеты:
sudo tcpdump -i any -c50 -nn port 2055
tcpdump: data link type LINUX_SLL2
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on any, link-type LINUX_SLL2 (Linux cooked v2), snapshot length 262144 bytes
15:22:00.309919 enp0s3 In  IP 0.0.0.0.2055 > 10.10.0.6.2055: UDP, length 1464
15:22:00.406614 enp0s3 In  IP 0.0.0.0.2055 > 10.10.0.6.2055: UDP, length 1464
15:22:00.524402 enp0s3 In  IP 0.0.0.0.2055 > 10.10.0.6.2055: UDP, length 1464
15:22:00.607725 enp0s3 In  IP 0.0.0.0.2055 > 10.10.0.6.2055: UDP, length 1464
15:22:00.697349 enp0s3 In  IP 0.0.0.0.2055 > 10.10.0.6.2055: UDP, length 1464
15:22:00.851090 enp0s3 In  IP 0.0.0.0.2055 > 10.10.0.6.2055: UDP, length 1464
15:22:01.003885 enp0s3 In  IP 0.0.0.0.2055 > 10.10.0.6.2055: UDP, length 1464
15:22:01.163337 enp0s3 In  IP 0.0.0.0.2055 > 10.10.0.6.2055: UDP, length 1464
 

версия:
nfcapd -V
nfcapd: Version: 1.6.17
  

пакеты шлю с микротика поставил 

 /ip/traffic-flow/target> print
Columns: SRC-ADDRESS, DST-ADDRESS, PORT, VERSION
# SRC-ADDRESS  DST-ADDRESS   PORT  VERSION
0 0.0.0.0      10.10.0.6     2055        5
 

все файлы по 276 байт

ls -l /var/cache/nfdump
total 156
-rw-r--r-- 1 root root 276 июл  3 12:35 nfcapd.202307031230
-rw-r--r-- 1 root root 276 июл  3 12:40 nfcapd.202307031235
-rw-r--r-- 1 root root 276 июл  3 12:45 nfcapd.202307031240
-rw-r--r-- 1 root root 276 июл  3 12:50 nfcapd.202307031245
-rw-r--r-- 1 root root 276 июл  3 12:55 nfcapd.202307031250
-rw-r--r-- 1 root root 276 июл  3 13:00 nfcapd.202307031255
-rw-r--r-- 1 root root 276 июл  3 13:05 nfcapd.202307031300
-rw-r--r-- 1 root root 276 июл  3 13:10 nfcapd.202307031305
-rw-r--r-- 1 root root 276 июл  3 13:15 nfcapd.202307031310
-rw-r--r-- 1 root root 276 июл  3 13:20 nfcapd.202307031315
-rw-r--r-- 1 root root 276 июл  3 13:25 nfcapd.202307031320
-rw-r--r-- 1 root root 276 июл  3 13:30 nfcapd.202307031325
 

 

 

ну и запрос nfdump -R /var/cache/nfdump
Date first seen          Event  XEvent Proto      Src IP Addr:Port          Dst IP Addr:Port     X-Src IP Addr:Port        X-Dst IP Addr:Port   In Byte Out Byte
No matched flows

 

 

 

 

 

Share this post


Link to post
Share on other sites

30 минут назад, Andrey75 сказал:

15:22:01.163337 enp0s3 In  IP 0.0.0.0.2055 > 10.10.0.6.2055: UDP, length 1464

 

пакеты шлю с микротика поставил 

 /ip/traffic-flow/target> print
Columns: SRC-ADDRESS, DST-ADDRESS, PORT, VERSION
# SRC-ADDRESS  DST-ADDRESS   PORT  VERSION
0 0.0.0.0      10.10.0.6     2055        5

все выглядит красиво, кроме вот этого src 0.0.0.0. я не уверен, что nfcapd нормально воспринимает такое. у вас уже где-то работало подобное?

Share this post


Link to post
Share on other sites

это настройки микротика, работает на другом сервере с такими

пробую менять

Edited by Andrey75

Share this post


Link to post
Share on other sites

2 минуты назад, Andrey75 сказал:

это настройки микротика, работает на другом сервере с такими

а версия nfdump та же?

 

еще пара идей:

1) вы пишете, что выключили ufw... а iptables у вас пропускает входящие пакеты? ufw это ж просто надстройка над iptables.

2) для гарантии, что "точно все в порядке" я бы сдампил несколько летящих пакетов и декодировал бы их для убедиться - реально там внутри нетфлоу v5, или что-то потустороннее? )

3) ну и ss -aun - слушает ли вообще nfcapd на нужном интерфейсе? не висит ли на порту 2055 нужного интерфейса кто-то еще? может, сам биллинг, судя по prompt'у?

Share this post


Link to post
Share on other sites

Цитата

все выглядит красиво, кроме вот этого src 0.0.0.0. я не уверен, что nfcapd нормально воспринимает такое. у вас уже где-то работало подобное?

Все пакеты есть, СПАСИБО! Вам!
три дня танцевал с бубном.

 

сейчас осталось собирать по ip адресам в базу и запустить очистку папки

 

 

 

 

п.с. не могу ответить с цитированием 

Share this post


Link to post
Share on other sites

Немного не в тему. но решил написать здесь

 

сбор статистики nfdump

nfdump -R /var/cache/nfdump -n0 -s ip/bytes > tcp_flows_src12.txt
2023-07-03 20:28:30.770  1271.670 any      172.31.252.128     4092( 2.8)   166511( 1.0)   17.6 M( 0.1)      130   110574   105
2023-07-03 20:28:35.490  1268.140 any      172.31.252.173     4006( 2.7)   195237( 1.2)   26.7 M( 0.2)      153   168734   136
2023-07-03 19:59:57.940  2985.510 any             8.8.8.8     3810( 2.6)    13586( 0.1)    2.5 M( 0.0)        4     6626   182
2023-07-03 20:29:43.980  1199.140 any     173.194.222.188     3376( 2.3)    31857( 0.2)   13.1 M( 0.1)       26    87174   410

 

все работает

 

но, не могу отфильтровать статистику по ip адресам сети.
строка 

nfdump -R /var/cache/nfdump -n0 -s ip 'net 172.0.0.0/8' > tcp_flows_src12.txt 

выдает тот же результат

 

и не нашел как собирать статистику входящего и исходящего трафика отдельно.

 

подскажите.

 

 

Share this post


Link to post
Share on other sites

нашел

nfdump -R /var/cache/nfdump -n0 -s dstip -o json 'dst net 172.16.0.0/12 ' -t 10 m> flow.json

все собирает и фильтрует

 

Edited by Andrey75

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

У меня проблема с nfdump. debian 12. многие строчки идут с нулевой датой:

1970-01-01 03:00:00.000 INVALID  Ignore TCP      185.12.155.10:443   ->    85.237.1.1:49928    185.12.155.10:443   ->      192.168.0.4:49928    50840        0
1970-01-01 03:00:00.000 INVALID  Ignore UDP      85.237.1.1:47159 ->        77.88.8.1:53      91.144.1.1:47159 ->        77.88.8.1:53          70        0
1970-01-01 03:00:00.000 INVALID  Ignore UDP          77.88.8.1:53    ->   91.144.1.1:47159        77.88.8.1:53    ->    85.237.1.1:47159       86        0

почему?

Edited by Cyr

Share this post


Link to post
Share on other sites

4 минуты назад, Cyr сказал:

многие строчки идут с нулевой датой

Снимите PCAP-дамп Netflow, затем сопоставьте.

Share this post


Link to post
Share on other sites

Выбрал в микроте другие интерфейсы. Теперь дата правильная, но количество байт 0.

в Микроте и nfdump надо какие-то поля настраивать? Протокол в микроте IPFIX

 

Edited by Cyr

Share this post


Link to post
Share on other sites

1 час назад, Cyr сказал:

Выбрал в микроте другие интерфейсы

А, микротик... Это к @Saab95 надо...

Share this post


Link to post
Share on other sites

4 часа назад, Cyr сказал:

У меня проблема с nfdump. debian 12. многие строчки идут с нулевой датой:

1970-01-01 03:00:00.000 INVALID  Ignore TCP      185.12.155.10:443   ->    85.237.1.1:49928    185.12.155.10:443   ->      192.168.0.4:49928    50840        0
1970-01-01 03:00:00.000 INVALID  Ignore UDP      85.237.1.1:47159 ->        77.88.8.1:53      91.144.1.1:47159 ->        77.88.8.1:53          70        0
1970-01-01 03:00:00.000 INVALID  Ignore UDP          77.88.8.1:53    ->   91.144.1.1:47159        77.88.8.1:53    ->    85.237.1.1:47159       86        0

конкретно это процитированное похоже на то, что вы flow-записи пытаетесь прочитать как NAT event'ы (добавьте флажок -o line для вывода в виде flow)

а дата кривая может быть по причине старой версии nfdump'а либо кривого коллектора (что-то там разрабочик фиксил в IPFIX, но уже года три назад, если не больше... да и к микротику у него претензии были, что там, как обычно, всё не так, как у людей).

2 часа назад, Cyr сказал:

Теперь дата правильная, но количество байт 0.

а это как раз NAT event'ы. в них всегда будет 0 байт.

Share this post


Link to post
Share on other sites

У меня тоже даты сброшенные в netflow от Mikrotik-ов, пробовал разные версии выставлять, но, кажется, так и не увидел корректное время, подумал, что не передает его

upd

Заснифил пакеты, wireshark показал, что время передаётся.

Запустил с ключом -o line, время корректное стало)

Edited by tcup

Share this post


Link to post
Share on other sites

nfdump: Version: NSEL-NEL1.7.1

Я поставил собирать инфу с интернет интерфейсов pppoe.

Время корректное, байты нулевые. Да это  NAT event'ы.

С ключом -o line, время некорректное.

При сборе на внутреннем интерфейсе LAN время некорректное.

С ключом  -o line некоторые строки правильные. А некоторые с пустым временем и нулевыми байтами. 

Вообще как правильно??? Замучался я уже параметры все подряд менять(

Может есть что-то вместо nfdump, которое сразу даёт правильный результат с микротом? (бесплатно)

Edited by Cyr

Share this post


Link to post
Share on other sites

На микротике у меня выбраны интерфейсы к клиентским сетям (точнее, бриджи - сбриджованы интерфейсы у нас)

Пробовал разные версии выбирать. На 1, 5 - информация по нату пустая, на 9, IPFIX - есть инфо по nat, но файлы увеличиваются в 2 раза.

Решил, что можно обойтись (видно ip удалённый, локальный ip клиента), выставил 5 версию.

Время не умел корректно смотреть, но, файлы побиты по 5 минут, найти нужную запись - хватало такой точности

 

Share this post


Link to post
Share on other sites

9 часов назад, Cyr сказал:

nfdump: Version: NSEL-NEL1.7.1

Я поставил собирать инфу с интернет интерфейсов pppoe.

...

Вообще как правильно??? Замучался я уже параметры все подряд менять(

Может есть что-то вместо nfdump, которое сразу даёт правильный результат с микротом? (бесплатно)

версия 1.7.х норм, основные фиксы по IPFIX были в 1.6 ветке.

 

у вас в одном потоке IPFIX льются и flow-данные (от кого-кому, количество), и NAT-инфа (внутренний ип, внешний ип, начало/конец сессии)

по-любому при просмотре одного типа данных второй будет выводиться черт-те как.

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

 

если вас это не устраивает, вариантов несколько

1) поменять микротик на циску или тазик или еще что-нибудь, что будет нормально (а циска еще и раздельно) отдавать потоки

2) делить поток данных на приеме - NAT отдельно, flow отдельно, и так и складывать в архивы (я так делаю в случае с ipt_netflow на тазике)

3) сделать, как коллега постом выше - собирать два потока разных версий - netflow5 не знает, что такое NEL, и будет отдавать только данные по перекачанному объему, а дамп IPFIX грепать с тем же ключом -o (почитайте ман, там много интересного) на тему "только NAT Events"

 

вместо nfdump - можете посмотреть pmacct, у меня он используется для вспомогательных целей, но какой-то он нестабильный. мне не понравился.

Share this post


Link to post
Share on other sites

Цитата

1) поменять микротик на циску или тазик или еще что-нибудь, что будет нормально (а циска еще и раздельно) отдавать потоки

Тазик это ubiquiti что-ли? ) У меня ТД от TP-link Omada. Он умеет net Flow?

Edited by Cyr

Share this post


Link to post
Share on other sites

5 часов назад, Cyr сказал:

Тазик это ubiquiti что-ли? ) У меня ТД от TP-link Omada. Он умеет net Flow?

тазик - это какой-нибудь некросервер, в данном контексте - в роли маршрутизатора/ната/сенсора нетфлоу, которую у вас выполняет микротик.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now