NetFlow — это «счётчик разговоров» в сети: маршрутизатор/хост собирает агрегированную статистику по потокам (flows) и отправляет её на коллектор для анализа. Поток обычно определяется пятёркой (src IP, dst IP, src port, dst port, протокол) + метаданные. Вместо сырых пакетов вы получаете сжатую картину: кто с кем, сколько байт/пакетов, когда началось и закончилось, какие флаги TCP и метки DSCP встречались.
Как формируется запись.
Экспортёр держит кэш потоков и завершает запись по тайм-аутам: inactive (нет трафика N секунд) и active (длинные «режутся» каждые M секунд, чтобы статистика была «живой»). Готовые записи шлются на коллектор, чаще по UDP.
Версии и совместимость.
- v5 — классика с фиксированными полями (IPv4, без шаблонов).
- v9 — шаблонный формат, расширяемый (часто встречается у вендоров).
- IPFIX — стандартизованный «наследник» (IETF, иногда называют v10): те же идеи, больше полей, порт 4739 по умолчанию.
Что обычно попадает в запись.
Адреса/порты источника и назначения, протокол, bytes/packets, время начала/окончания, TCP flags, ToS/DSCP/ECN, ingress/egress интерфейсы, иногда AS-номера и next-hop (если есть BGP), поля NAT (в зависимости от устройства).
Зачем это нужно.
- Планирование ёмкости: кто «ест» канал, в какие часы.
- Детекция DDoS/сканов/аномалий: всплески по протоколам/портам, «top talkers».
- Развёрнутые отчёты по арендаторам/департаментам/ VLAN.
- Триаж инцидентов: быстрого взгляда на NetFlow часто достаточно, чтобы понять, куда копать глубже (pcap/IDS).
Сэмплирование и нагрузка.
На быстрых линках включают sampling (например, 1:1000). Это снижает нагрузку на экспортёр и сеть, но даёт статистическую оценку (хорошо для агрегатов, хуже для очень коротких потоков). Тайм-ауты active/inactive подбирают под профиль трафика (например, active 60–120 с).
Подводные камни.
- NAT и асимметрия маршрутов: часть потока может пройти иным путём — коллектор увидит «половину разговора»; NAT иногда экспортируется только post-NAT.
- Шаблоны v9/IPFIX: если коллектор потерял шаблон, записи станут «нечитабельны» — следите за обновлением шаблонов.
- Доставка по UDP: большие bursts могут теряться; учитывайте MTU (избегайте фрагментации), ставьте буферы на коллекторе, при желании используйте TCP/SCTP для IPFIX.
- Время: без NTP сравнивать события между устройствами трудно.
- Конфиденциальность: NetFlow не несёт полезной нагрузки, но метаданные уже чувствительны — ограничьте доступ к коллектору.
С чем путают.
Со sFlow: там экспортируются образцы пакетов (packet sampling) и счётчики интерфейсов, а NetFlow/IPFIX — агрегированные записи потоков. Для обзора трафика годится и то, и другое; иногда используют вместе.
С чего начать (идея настройки).
- Включите экспорт на граничных/магистральных интерфейсах (ingress и/или egress).
- Выберите коллектор: nfdump/nfsen, pmacct, ElastiFlow (Logstash/Elastic), ntopng — удобно строить графики и «top N».
- Проверьте ACL/фаервол: разрешите порт коллектора (2055/UDP для NetFlow v5/v9 или 4739 для IPFIX).
Мини-примеры.
- Cisco (концепция):
ip flow-export destination 192.0.2.10 2055 ip flow-export version 9 ip flow-cache timeout active 60 interface Gi0/0 ip flow ingress ip flow egress
- MikroTik:
/ip traffic-flow set enabled=yes /ip traffic-flow target add address=192.0.2.10:2055 version=9
- Linux (варианты):,
softflowd
или модуль ipt_NETFLOW с отправкой на коллектор.pmacctd
Коротко: NetFlow/IPFIX даёт компактную телеметрию «кто/куда/сколько/когда», достаточную для мониторинга, биллинга и быстрой диагностики — без хранения каждого пакета.