Установка и запуск ipt_NETFLOW

ipt_NETFLOW — быстрый NetFlow сенсор трафика, состоит из модуля ядра и iptables, поддерживает NetFlow v5, v9, v10(IPFIX).

ipt_NETFLOW собирается из исходных кодов, по этому при обновлении ядра операционной системы его необходимо пересобирать.

В первую очередь установим необходимые компоненты, например для Ubuntu/Debian:

apt-get install module-assistant iptables-dev pkg-config
m-a prepare

Для CentOS:

yum install kernel-devel iptables-devel pkgconfig

Скачаем ipt_NETFLOW:

git clone git://github.com/aabc/ipt-netflow.git ipt-netflow
cd ipt-netflow

Выполним установку:

./configure --help
./configure --enable-natevents
make all install
depmod

Или так:

./configure --disable-conntrack --disable-natevents
make all install
depmod

Укажем адрес коллектора /etc/modprobe.d/netflow.conf

echo options ipt_NETFLOW destination=192.168.2.2:2055 protocol=5 natevents=1 > /etc/modprobe.d/netflow.conf

Загрузим модуль ядра и посмотрим параметры:

modprobe ipt_NETFLOW
sysctl -a | grep net.netflow
sysctl net.netflow
cat /proc/net/stat/ipt_netflow

Изменить параметры если что можно так (сбросятся после перезапуска системы):

sysctl net.netflow.hashsize=32768

Добавим любое из правил iptables, в зависимости для какого трафика необходимо собирать статистику, например на сервере доступа достаточно правила с «FORWARD»:

iptables -I FORWARD -j NETFLOW
iptables -I INPUT -j NETFLOW
iptables -I OUTPUT -j NETFLOW

Правила NETFLOW должны быть в самом начале, поэтому если есть другие iptables правила, то укажем номер при добавлении правила, например:

iptables -I FORWARD 1 -j NETFLOW

Удалять iptables правила можно так:

iptables -D FORWARD -j NETFLOW
iptables -D INPUT -j NETFLOW
iptables -D OUTPUT -j NETFLOW

Убедимся что правило добавлено и сенсор запущен:

iptables -nvL | grep NETFLOW
iptables -nvL FORWARD | grep NETFLOW
netstat -anpl | grep 2055

На сервере с коллектором убедимся что от сенсора ipt_NETFLOW приходят данные:

tcpdump -c5 -npi lo port 2055
tcpdump port 2055 -e -n

Если все ок, добавим модуль в файл /etc/modules, чтобы он загрузился после перезапуска системы:

echo ipt_NETFLOW >> /etc/modules

Выгрузить модуль если что можно так:

iptables -D FORWARD -j NETFLOW
modprobe -r ipt_NETFLOW

На тесте я установил ipt_NETFLOW на сервере который обслуживал 6000 клиентов с трафиком 6 Gb/s, во время установки перебоев со связью у клиентов не возникло, загрузка процессора почти не изменилась (установлено два CPU e5-2690v2).

Смотрите также мою статью:
Установка и использование Nfdump

Оставьте комментарий

Добавить комментарий