Различия
Показаны различия между двумя версиями страницы.
Следующая версия | Предыдущая версия | ||
dpi:dpi_components:utilities:oldutility:ipfixreceiver [2018/12/10 18:29] – создано lexx26 | dpi:dpi_components:utilities:oldutility:ipfixreceiver [2024/09/26 15:29] (текущий) – внешнее изменение 127.0.0.1 | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ====== 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 млн сессий/ |