Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версия | |||
dpi:dpi_components:utilities:oldutility:ipfixreceiver:start [2023/09/01 08:09] – [CentOS7] elena.krasnobryzh | dpi:dpi_components:utilities:oldutility:ipfixreceiver:start [Дата неизвестна] (текущий) – удалено - внешнее изменение (Дата неизвестна) 127.0.0.1 | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ====== Прием IPFIX данных ipfixreceiver ====== | ||
- | ===== Введение ===== | ||
- | Утилита предназначена для приема потока данных от устройств по протоколу IPFIX и сохранением данных в виде файла для последующей обработки их другими средствами. | ||
- | |||
- | ===== Инсталляция и обновление ===== | ||
- | ==== CentOS6 ==== | ||
- | |||
- | - подключите репозиторий VAS Experts < | ||
- | rpm -Uvh http:// | ||
- | - установите ipfixreceiver: | ||
- | - проверьте изменения в конфигурационных файлах на соответствие версии см. раздел " | ||
- | |||
- | ==== CentOS7 ==== | ||
- | - подключите репозиторий VAS Experts < | ||
- | rpm -Uvh http:// | ||
- | - установите репозиторий epel < | ||
- | - установка репозитория forencis: < | ||
- | rpm -Uvh https:// | ||
- | - установите ipfixreceiver: | ||
- | yum -y install | ||
- | yum -y install ipfixreceiver --disablerepo=forensics</ | ||
- | - проверьте изменения в конфигурационных файлах на соответствие версии см. раздел " | ||
- | |||
- | ===== Важные изменения в версии 1.0.3 по отношению к 1.0.2 ===== | ||
- | - изменен конфигурационный файл в части преобразования IP адресов, | ||
- | - сохранение информации в файл вынесено в отдельный процесс, | ||
- | - введен параметр buffer_size - размер буфера обмена между процессом приема и записи в файл, используется в разделе [dump], по умолчанию значение параметра 100000 записей (ориентировано на 20Гбит трафика или 25 000 сессий в сек). Если количество сессий в секунду значительно меньше, | ||
- | |||
- | ===== Файлы поставки ===== | ||
- | - примеры конфигурации: | ||
- | / | ||
- | / | ||
- | - файлы программы располагаются в директории: | ||
- | - вспомогательные файлы: | ||
- | используется в утилите для получения текстового имени протокола</ | ||
- | - ссылки на исполняемый модуль: | ||
- | |||
- | ===== Дополнительные настройки ОС ===== | ||
- | - настройте iptables для приема внешних данных\\ Для работы ipfixreceiver' | ||
- | protocol=tcp | ||
- | host=212.12.11.10 | ||
- | port=1500</ | ||
- | - настройте ротацию логов\\ Пример ротации для лог файла / | ||
- | / | ||
- | rotate 5 | ||
- | missingok | ||
- | notifempty | ||
- | compress | ||
- | size 10M | ||
- | daily | ||
- | copytruncate | ||
- | nocreate | ||
- | postrotate | ||
- | endscript | ||
- | }</ | ||
- | - Настройте удаление старых файлов. Например, | ||
- | |||
- | ===== Параметры запуска программы ===== | ||
- | Утилита ipfixreceiver имеет следующие параметры запуска: | ||
- | < | ||
- | где | ||
- | start - запуск в режиме сервиса | ||
- | stop - останов сервиса | ||
- | state - состояние работы сервиса | ||
- | restart - перезапуск сервиса | ||
- | -v - вывести информацию о версии | ||
- | -f <config file> - указать файл конфигурации для запуска сервиса | ||
- | |||
- | Пример: | ||
- | ipfixreceiver start -f / | ||
- | </ | ||
- | ===== Конфигурация ===== | ||
- | |||
- | По умолчанию используется файл конфигурации / | ||
- | : | ||
- | |||
- | ==== Служебные разделы ==== | ||
- | - loggers - определяет используемые лог идентификаторы | ||
- | - handlers - определяет используемые обработчики для сохранения лога | ||
- | - formatters - определяет используемые форматы для лога | ||
- | |||
- | ==== logger_root ==== | ||
- | - level - определяет уровень логирования (верхний уровень)\\ Возможные значения:< | ||
- | CRITICAL | ||
- | ERROR - включая ошибки | ||
- | WARNING | ||
- | INFO - включая информацию | ||
- | DEBUG - включая отладочные | ||
- | NOTSET | ||
- | </ | ||
- | - handlers - используемые обработчики сообщений\\ Пример: | ||
- | ==== handler_ipfixreceiverlogger ==== | ||
- | - class - класс обработчика\\ Пример: | ||
- | - level - уровень сообщений < | ||
- | - formatter - наименование формата сообщений< | ||
- | - args - параметры обработчика < | ||
- | ==== formatter_ipfixreceiverlogger ==== | ||
- | - format - описание формата сообщения\\ Пример: | ||
- | где | ||
- | %(name)s | ||
- | %(levelname)s - уровень сообщения (' | ||
- | %(asctime)s | ||
- | %(message)s | ||
- | </ | ||
- | - datefmt - описание формата даты\\ Пример: | ||
- | ==== connect ==== | ||
- | - protocol - протокол (tcp или udp). < | ||
- | - host - IP или имя сервера. < | ||
- | - port - номер порта. < | ||
- | ==== dump ==== | ||
- | - rotate_minutes - период в минутах, | ||
- | - processcmd - команда, | ||
- | - dumpfiledir - директория куда будут сохраняться файлы с принятыми данными. < | ||
- | - buffer_size - размер буфера обмена между процессом приема и записи в файл, по умолчанию значение параметра 100000 записей (ориентировано на 20Гбит трафика или 25 000 сессий в сек). Если количество сессий в секунду значительно меньше, | ||
- | |||
- | ==== InfoModel ==== | ||
- | Блок описывает получаемые данные по IPFIX протоколу. | ||
- | - InfoElements - параметр с описанием элементов информационной модели для IPFIX < | ||
- | packetDeltaCount, | ||
- | protocolIdentifier, | ||
- | session_id, | ||
- | где, | ||
- | session_id - наименование поля из описания IPFIX см. разделы | ||
- | 43823 - уникальный номер организации (enterprise number) | ||
- | 1 - уникальный номер поля | ||
- | UINT64 - тип поля | ||
- | True - использовать обратный порядок байт (endian). Значения - True или пусто. | ||
- | </ | ||
- | Типы полей: | ||
- | ^ Type ^ Length | ||
- | | OCTET_ARRAY | ||
- | | UINT8 | 1 | unsigned8 | ||
- | | UINT16 | ||
- | | UINT32 | ||
- | | UINT64 | ||
- | | INT8 | 1 | signed8 | ||
- | | INT16 | 2 | signed16 | ||
- | | INT32 | 4 | signed32 | ||
- | | INT64 | 8 | signed64 | ||
- | | FLOAT32 | ||
- | | FLOAT64 | ||
- | | BOOL | 1 | boolean | ||
- | | MAC_ADDR | ||
- | | STRING | ||
- | | SECONDS | ||
- | | MILLISECONDS | ||
- | | MICROSECONDS | ||
- | | NANOSECONDS | ||
- | | IP4ADDR | ||
- | | IP6ADDR | ||
- | |||
- | Наименование полей и описание можно взять по ссылкам: | ||
- | - [[dpi: | ||
- | - [[dpi: | ||
- | - [[dpi: | ||
- | |||
- | |||
- | Дополнительная информация: | ||
- | [[https:// | ||
- | ==== ExportModel ==== | ||
- | определяет параметры модели для экспорта, | ||
- | - Mode - тип используемого экспорта < | ||
- | ==== ExportModelFile ==== | ||
- | Описание модели экспорта File. | ||
- | - Delimiter разделитель полей в строке ( \t - табуляция, | ||
- | - ExportElements - описание полей которые будут сохранены в файл. < | ||
- | login | ||
- | | ||
- | | ||
- | host, decodehost | ||
- | path, decodepath | ||
- | | ||
- | | ||
- | где поля в каждой строке: | ||
- | имя - наименование поля из информационной модели [InfoModel] (login, session_id и т.п.) | ||
- | обработчик - процедура обработки поля перед выводом | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | формат - описание формата для seconds, milliseconds. | ||
- | | ||
- | | ||
- | </ | ||
- | |||
- | ==== Создаем сервис в CentOS7 ==== | ||
- | Создание сервиса в CentOS7 по шагам, название сервиса **ipfix1**, используемая конфигурация **/ | ||
- | Создаем файл / | ||
- | < | ||
- | [Unit] | ||
- | Description=ipfix test restart | ||
- | After=network.target | ||
- | After=syslog.target | ||
- | |||
- | [Service] | ||
- | Type=forking | ||
- | PIDFile=/ | ||
- | ExecStart=/ | ||
- | ExecStop=/ | ||
- | ExecReload=/ | ||
- | Restart=always | ||
- | RestartSec=10s | ||
- | |||
- | [Install] | ||
- | WantedBy=multi-user.target | ||
- | </ | ||
- | Выполняем: | ||
- | systemctl enable ipfix1.service | ||
- | systemctl start ipfix1.service | ||
- | systemctl daemon-reload | ||
- | |||
- | Проверяем: | ||
- | systemctl status ipfix1.service -l | ||
- | :!:**не забудьте проверить поднятие сервиса после перезагрузки** | ||
- | |||
- | ===== Проблемы и решения ===== | ||
- | - как получить версию утилиты? | ||
- | - можно ли на один порт отправлять IPFIX потоки с разных DPI?\\ Да. Единственное в записываемом потоке их будет не различить. | ||
- | - как понять, | ||
- | - все проверено, | ||
- | - с DPI идет большое количество сессий (более 2 млн сессий/ |