IPFIXCol2

Введение

IPFIXCol2 — это гибкий, высокопроизводительный коллектор потоковых данных NetFlow v5/v9 и IPFIX, расширяемый с помощью подключаемых плагинов. Версия приложения, представленная в репозитории VAS Experts, включает в себя изменения, необходимые для оптимальной работы с потоками IPFIX со СКАТа.

Установка

Подключите репозиторий VAS Experts

rpm --import http://vasexperts.ru/centos/RPM-GPG-KEY-vasexperts.ru
rpm -Uvh http://vasexperts.ru/centos/6/x86_64/vasexperts-repo-1-0.noarch.rpm

Установите ipfixcol2: dnf install -y ipfixcol2

Файлы поставки

Конфигурационный файл:

/opt/vasexperts/etc/ipfixcol2/startup.xml

Исполняемый файл:

/opt/vasexperts/bin/ipfixcol2

Плагины:

/opt/vasexperts/lib64/ipfixcol2/libanonymization-intermediate.so
/opt/vasexperts/lib64/ipfixcol2/libfds-output.so
/opt/vasexperts/lib64/ipfixcol2/libjson-kafka-output.so
/opt/vasexperts/lib64/ipfixcol2/libudp-input.so
/opt/vasexperts/lib64/ipfixcol2/libdummy-input.so
/opt/vasexperts/lib64/ipfixcol2/libforwarder-output.so
/opt/vasexperts/lib64/ipfixcol2/libjson-output.so
/opt/vasexperts/lib64/ipfixcol2/libviewer-output.so
/opt/vasexperts/lib64/ipfixcol2/libdummy-output.so
/opt/vasexperts/lib64/ipfixcol2/libipfix-input.so
/opt/vasexperts/lib64/ipfixcol2/libtcp-input.so
/opt/vasexperts/lib64/ipfixcol2/libfds-input.so
/opt/vasexperts/lib64/ipfixcol2/libipfix-output.so
/opt/vasexperts/lib64/ipfixcol2/libtimecheck-output.so

Сервисный файл для запуска приложения:

/usr/lib/systemd/system/ipfixcol2.service

Параметры запуска

Программа имеет следующие параметры запуска:

Usage: ipfixcol2 [-c FILE] [-p PATH] [-e DIR] [-P FILE] [-r SIZE] [-vVhLd]
-c FILE Путь к файлу конфигурации
(по умолчанию: /etc/opt/vasexperts/ipfixcol2/startup.xml)
-p PATH Путь к каталогу с плагинами
(по умолчанию: /opt/vasexperts/lib64/ipfixcol2/)
-e DIR Путь к каталогу с описанием элеметов IPFIX
(по умолчанию: /etc/libfds/)
-P FILE Путь к PID файлу (без этой опции PID файл не создается)
-d Запустить как демон
-r SIZE Размер кольцевого буфера (по умолчанию: 8192)
-h Вывести краткую справку
-V Вывести версию программы
-L Вывести список плагинов и выйти
-v Увеличить уровень логирования (по умолчанию логируются только ошибки)
(может быть использовано до 3х раз для добавления warning/info/debug сообщений)

Конфигурация приложения для репликации потока IPFIX

В конфигурационном файле /opt/vasexperts/etc/ipfixcol2/startup.xml приведен пример настройки репликации одного потока IPFIX по TCP на два коллектора в режиме round robin. Конфигурационный файл составлен в формате xml.

<ipfixcol2>
<!-- Input plugins -->
<inputPlugins>
<input>
<name>TCP collector</name>
<plugin>tcp</plugin>
<params>
<!-- List on port 1600 -->
<localPort>1600</localPort>
<!-- Bind to all local adresses -->
<localIPAddress>192.168.1.183</localIPAddress>
</params>
</input>
</inputPlugins>
<outputPlugins>
<output>
<name>Forwarder</name>
<plugin>forwarder</plugin>
<params>
<mode>roundrobin</mode>
<protocol>tcp</protocol>
<premadeConnections>0</premadeConnections>
<hosts>
<host>
<name>Subcollector 1</name>
<address>192.168.1.183</address>
<port>1500</port>
</host>
<host>
<name>Subcollector 2</name>
<address>192.168.1.183</address>
<port>1510</port>
</host>
</hosts>
</params>
</output>
</outputPlugins>
</ipfixcol2>

Настройка интерфейса и порта для приема потока IPFIX осуществляется в блоке <inputPlugins>. Для приема потока IPFIX по протоколу TCP используется плагин tcp (<plugin> tcp). В блоке <params> задаются параметры плагина. В блоке <locapPort> плагина tcp указывается номер порта для приема потока IPFIX. В блоке <localIPAddress> IP адрес интерфейса для приема потока TCP.

Настройка репликации входного потока IPFIX осуществляется в блоке <outputPlugins>. Для репликации используется плагин forwarder (<plugin> forwarder). В блоке <params> задаются параметры плагина. В блоке <protocol> указывается IP протокол (tcp или udp). В блоке <mode> задается режим распределения входного потока IPFIX по заданным коллекторам (может быть roundrobin или all). В блоке <hosts> указываются коллекторы для репликации входного потока IPFIX. Каждый коллектор описывается отдельным блоком <host>. В данном блоке задается имя коллектора (блок <name>), IP адрес (блок <address>) и порт (блок <port>).

Внимание! Необходимо обратить внимание на значение блока <mode>. Для репликации входного потока на все коллекторы необходимо указать all.

Запуск приложения

Для запуска приложения используется команда:

systemctl start ipfixcol2

Для автоматического запуска приложения при загрузке сервера необходимо выполнить следующую команду:

systemctl enable ipfixcol2

Логирование

Приложение выводит сообщения в syslog. По умолчанию в лог выводятся только сообщения об ошибках.