Настройка экспорта Full NetFlow в формате IPFIX [Документация VAS Experts]

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
dpi:dpi_options:opt_statistics:statistics_ipfix [2026/02/03 13:51] elena.krasnobryzhdpi:dpi_options:opt_statistics:statistics_ipfix [2026/03/19 07:06] (текущий) – [Шаблон экспорта в формате IPFIX (Netflow v10) для протокола IPv4] atereschenko
Строка 1: Строка 1:
 ====== Настройка экспорта Full NetFlow в формате IPFIX ====== ====== Настройка экспорта Full NetFlow в формате IPFIX ======
-{{indexmenu_n>3}}+{{indexmenu_n>2}}
  
-IP адрес и номер порта коллектора **NetFlow с полной статистикой**, нужно выделить отдельный коллектор, чтобы данные не смешивались с другой статистикой: +===== Общие обязательные настройки отправки NetFlow===== 
-<code>netflow_full_collector=192.168.0.1:9996</code>+Включение сбора и экспорта статистики:\\  
 +<code>netflow=1</code> 
 +  * 0 или не указано - опция отключена\\  
 +  * 1 - экспорт статистики по протоколам (номерам портов), подробнее в разделе [[dpi:dpi_options:opt_statistics:statistics_settings|]]\\  
 +  * 2 - экспорт статистики по направлениям (номерам автономных систем), подробнее в разделе [[dpi:dpi_options:opt_statistics:statistics_settings|]]\\  
 +  * 4 - экспорт статистики для биллинга, подробнее в разделе [[dpi:dpi_options:opt_statistics:statistics_settings|]]\\  
 +  * 8 - экспорт полной статистики по сессиям, Full NetFlow в формате NetFlow v5 или IPFIX\\  
 +<note important>Одновременный экспорт Full NetFlow и биллинговой статистики включается через битовую маску netflow=12 (8 + 4)Статистика для биллинга конвертируется в RADIUS Accounting через FastPCRF при включении enable_acct=1. [[dpi:bras_bng:radius_integration:radius_accounting|Настройка RADIUS Accounting]]</note
  
-\\+<note warning>Нужно выделить отдельный коллектор для каждого типа, чтобы данные не смешивались!</note>
  
-В формате netflow5 в полной статистике сохранены оригинальные номера портов, а информация о детектированных протоколах передается в обычно неиспользуемых байтах 46-47. Если требуется проанализировать используемые протоколы, то можно установить настройку, по которой информация о протоколах будет передаваться в номере порта+Имя сетевого интерфейса, через который будет отправляться netflow со статистикой: 
-<code>netflow_full_port_swap=1</code> +<code>netflow_dev=eth2</code>
-Для совместимости со старыми коллекторами эта настройка действует и для формата IPFIX, но использовать ее совместно с IPFIX не рекомендуется, т.к. информация о протоколе передается в IPFIX в отдельном специальном поле.    +
  
-\\+<note tip> 
 +Параметры IPFIX/Netflow можно изменять без перезагрузки fastDPI.\\ 
 +Конфигурационный параметр ''ipfix_reserved'' позволяет зарезервировать необходимую память для возможности включения/измененения параметров IPFIX/Netflow.\\ 
 +В случае задания параметров IPFIX/Netflow в конфигруационном файле, автоматически включается резервирование памяти для IPFIX/Netflow, параметры и новые типы экспортеров IPFIX/Netflow можно изменять без перезагрузки fastDPI. 
 +</note> 
 + 
 +<note tip>Для приема, обработки и хранения IPFIX рекомендуется использовать [[dpi:qoe_analytics|Программный продукт для сбора статистики QoE Store]] и [[dpi:dpi_components:dpiui|Графический интерфейс DPIUI2]].\\ 
 + 
 +Для сбора информации в формате IPFIX подойдет любой универсальных IPFIX коллектор, понимающий шаблоны, или утилита [[dpi:dpi_components:utilities:ipfixreceiver2|IPFIX Receiver]].</note> 
 + 
 +==== Пример конфигурации ==== 
 +[[dpi:qoe_analytics:implementation_administration:configuration_setup:dpi|Пример настройки описан в разделе QoE Stor: Конфигурация DPI]]  
 + 
 +===== Общие дополнительные настройки отправки NetFlow===== 
 +Периодичность экспорта данных (в секундах): 
 +<code>netflow_timeout=10</code> 
 +Значение по умолчанию — 30 секунд. 
 + 
 +Время ожидания сессии: 
 +  * ''netflow_passive_timeout'' — время ожидания (в секундах) активности в сессии после которого, если не было активности, сессия считается завершенной и  происходит передача по ней информации. Значение по умолчанию — 30 секунд. 
 +  * ''netflow_active_timeout'' — время (в секундах), через которое сообщается информация по длинным сессиям (т.е. фактически длинные сессии разбиваются на фрагменты данной продолжительности). Значение по умолчанию — 300 секунд. 
 + 
 +Чтобы сгладить пики и равномернее распределить нагрузку на коллектор установите настроечный параметр <code>netflow_rate_limit=900</code> где 900 это максимальный поток Netflow в Мбит/c.\\ Значение параметра по умолчанию — 0 (не ограничивается). 
 +<note important>Значение параметра следует устанавливать исходя из расчета: что каждый DPI генерирует IPFIX поток на скорости от 0,5% до 1% от скорости реального трафика.\\ Установка недостаточной величины приведет к отбрасыванию данных уже на стороне DPI.\\ Информация об этом событии будет зафиксирована в логе **/var/log/dpi/fastdpi_alert.log**.</note> 
 +==== Отправка template в IPFIX ==== 
 +  - Транспортный протокол TCP.\\ Template отправляется один раз после установления TCP-сессии. 
 +  - Транспортный протокол UDP.\\ Template отправляется по умолчанию каждые 20 секунд. Регулируется параметром ''ipfix_udp_template_timer''
 +=====Настройка Full NetFlow===== 
 +Указать IP адрес и номер порта коллектора **Full NetFlow**, нужно выделить отдельный коллектор для каждого FastDPI, чтобы данные не смешивались с другой статистикой: 
 +<code>netflow_full_collector=192.168.0.1:9996</code>
  
-Также необходимо определить формат экспорта полного NetFlow:+Указать формат экспорта **Full NetFlow**:
 <code>netflow_full_collector_type=2</code> <code>netflow_full_collector_type=2</code>
 Возможные значения:   Возможные значения:  
Строка 19: Строка 54:
   * ''**1**'' - экспорт IPFIX на UDP коллектор.   * ''**1**'' - экспорт IPFIX на UDP коллектор.
   * ''**2**'' - экспорт IPFIX на TCP коллектор.   * ''**2**'' - экспорт IPFIX на TCP коллектор.
-<note>**Рекомендуем использовать передачу Полного NetFlow в формате IPFIX через TCP (значение параметра ''2'').**\\ +<note>**Рекомендуем использовать передачу Full NetFlow в формате IPFIX через TCP (значение параметра ''2'').**\\ 
-Протокол NetFlow не гарантирует доставку пакетов (т.к. работает поверх UDP) и если коллектор не справляется с приемом данных, то часть пакетов просто теряется. Передача полной статистики netflow для канала 10Gтребует от коллектора возможности принимать данные со скоростью не менее 60 Мбит/c.\\ Проверьте возможности вашего коллектора перед направлением на него netflow трафика. В тоже время при передаче netflow из DPI могут кратковременно возникать пики до 100 Мбит/c. Такой поток данных без потерь способны принять немногие коллекторы, например, nfsen/nfdump.</note> +Протокол NetFlow не гарантирует доставку пакетов (т.к. работает поверх UDP) и если коллектор не справляется с приемом данных, то часть пакетов просто теряется. Передача **Full NetFlow** для трафика на DPI в 10Gbps требует от коллектора возможности принимать данные со скоростью не менее 60 Mbps.\\ Проверьте возможности вашего коллектора перед направлением на него **Full NetFlow** статистики. В тоже время при передаче **Full NetFlow** из DPI могут кратковременно возникать пики до 100 Mbps при всплесках количества сессий.\\  
 +\\ 
 +При отправке IPFIX по UDP могут возникать ошибки, вызванные некорректными настройками на принимающей стороне, что может привести к потере данных. Примеры таких ошибок:\\ 
 +''[ERROR   ][2026/03/12-11:52:53:559204][0x7fdeba84b400] IPFIX_ClickStream : udp:10.16.20.183:1502 : Error socket send to collectorrc=-1, errno=113 : No route to host'' \\ 
 +''[ERROR   ][2026/03/12-11:52:53:559243][0x7fdeba84b400] IPFIX_ClickStream : udp:10.16.20.183:1502 : Error socket send to collector ( repeat error 2 ), now ok''
 +</note>
  
 +====Дополнительные параметры Full NetFlow====
 Параметр ''netflow_tos_format'' определяет формат данных поля TOS в IPFIX. Возможные значения:\\  Параметр ''netflow_tos_format'' определяет формат данных поля TOS в IPFIX. Возможные значения:\\ 
   * ''**0**'' - передается 3 bit (значение по умолчанию).    * ''**0**'' - передается 3 bit (значение по умолчанию). 
Строка 41: Строка 81:
  
 В параметре ''tethering_ttl_allowed = 128:64'' указывается список допустимых значений TTL для трафика от абонента, которые не считаются tethering. Значения перечисляются через ':'. Количество значений до 256 (0-255). В параметре ''tethering_ttl_allowed = 128:64'' указывается список допустимых значений TTL для трафика от абонента, которые не считаются tethering. Значения перечисляются через ':'. Количество значений до 256 (0-255).
- 
-<note tip>Для приема, обработки и хранения IPFIX рекомендуется использовать [[dpi:qoe_analytics|Программный продукт для сбора статистики QoE Store]] и [[dpi:dpi_components:dpiui|Графический интерфейс DPIUI2]].\\ 
- 
-Для сбора информации в формате IPFIX подойдет любой универсальных IPFIX коллектор, понимающий шаблоны, или утилита [[dpi:dpi_components:utilities:ipfixreceiver2|IPFIX Receiver]].</note> 
  
 ===== Шаблон экспорта в формате IPFIX (Netflow v10) для протокола IPv4 ===== ===== Шаблон экспорта в формате IPFIX (Netflow v10) для протокола IPv4 =====
Строка 82: Строка 118:
 | 132                        | 8            | int64        | 0      | DROPPED_BYTES                    | Дельта-счет сброшенных октетов.\\ //Например: данные сбрасываются на T1 и на T2 минуте. Дельта будет показывать разницу количества октетов между T1 и T2 минутой.//             | Используется             | | 132                        | 8            | int64        | 0      | DROPPED_BYTES                    | Дельта-счет сброшенных октетов.\\ //Например: данные сбрасываются на T1 и на T2 минуте. Дельта будет показывать разницу количества октетов между T1 и T2 минутой.//             | Используется             |
 | 133                        | 8            | int64        | 0      | DROPPED_PACKETS                  | Дельта-счет сброшенных пакетов.\\ //Например: данные сбрасываются на T1 и на T2 минуте. Дельта будет показывать разницу количества пакетов между T1 и T2 минутой.//             | Используется             | | 133                        | 8            | int64        | 0      | DROPPED_PACKETS                  | Дельта-счет сброшенных пакетов.\\ //Например: данные сбрасываются на T1 и на T2 минуте. Дельта будет показывать разницу количества пакетов между T1 и T2 минутой.//             | Используется             |
-| 2019                       | 1            | int8         | 43823  | originalTOS                      | Оригинальное значение TOS из IP заголовка                                                                                                                                       | Используется             |+| 2019                       | 1            | int8         | 43823  | originalTOS                      | Исходное значение TOS из IP заголовка до классификации DPI                                                                                                                                      | Используется             |
 | 192                        | 1            | int8         | 0      | IP_TTL                           | TTL пакетов                                                                                                                                                                     | Используется             | | 192                        | 1            | int8         | 0      | IP_TTL                           | TTL пакетов                                                                                                                                                                     | Используется             |
 | 2020                       | 2            | int16        | 43823  | RATING_GROUP                     | Номер rating group                                                                                                                                                              | Используется             | | 2020                       | 2            | int16        | 43823  | RATING_GROUP                     | Номер rating group                                                                                                                                                              | Используется             |
-| 2021                                                 |        | SERVICE_FLAGS                    | Информация о метках, которые получил flow в DPI. Детектированный tethering сообщается по IPFIX в бите 1 поля ''service_flags''. Доступны 63 бита для дальнейшего использования  | Используется             | +| 2021                       8            int64        | 43823  | SERVICE_FLAGS                    | Информация о метках, которые получил flow в DPI. Детектированный tethering сообщается по IPFIX в бите 1 поля ''service_flags''. Доступны 63 бита для дальнейшего использования  | Используется             | 
-| 2022                                                 |        | DETECTION_FLAGS                  | Зарезервировано под метод детекции                                                                                                                                              | Используется             | +| 2022                       8            int64        | 43823  | DETECTION_FLAGS                  | Зарезервировано под метод детекции                                                                                                                                              | Используется             | 
-| 2023                                                 |        | ACTION_FLAGS                     | Зарезервировано под передачу информации о действиях с flow                                                                                                                      | Используется             |+| 2023                       8            int64        | 43823  | ACTION_FLAGS                     | Зарезервировано под передачу информации о действиях с flow                                                                                                                      | Используется             |
  
 ===== Шаблон экспорта в формате IPFIX (Netflow v10) для протокола IPv6 ===== ===== Шаблон экспорта в формате IPFIX (Netflow v10) для протокола IPv6 =====
Строка 96: Строка 132:
 | 27                         | 16            | int128       | 0      | SOURCE_IPV6_ADDRESS       | Аналог в NetFlow v9  IPV6_SRC_ADDR  | | 27                         | 16            | int128       | 0      | SOURCE_IPV6_ADDRESS       | Аналог в NetFlow v9  IPV6_SRC_ADDR  |
 | 28                         | 16            | int128       | 0      | DESTINATION_IPV6_ADDRESS  | Аналог в NetFlow v9  IPV6_DST_ADDR  | | 28                         | 16            | int128       | 0      | DESTINATION_IPV6_ADDRESS  | Аналог в NetFlow v9  IPV6_DST_ADDR  |
 +
 +
 +===== Настройка Netflow v5 =====
 +В формате Netflow v5 в полной статистике сохранены оригинальные номера портов, а информация о детектированных протоколах передается в обычно неиспользуемых байтах 46-47. Если требуется проанализировать используемые протоколы, то можно установить настройку, по которой информация о протоколах будет передаваться в номере порта:
 +<code>netflow_full_port_swap=1</code>
 +Для совместимости со старыми коллекторами эта настройка действует и для формата IPFIX, но использовать ее совместно с IPFIX не рекомендуется, т.к. информация о протоколе передается в IPFIX в отдельном специальном поле.