Debian / Сборка, настройка и запуск ipt-netflow в Debian Linux

в 20:51, , рубрики: iptables, netflow, учет трафика, метки: , ,

Общие сведения
ipt-netflow — это самый быстрый netflow-сенсор (счётчик) для Линукса.

Состоит из двух модулей: для ядра и для iptables.

В стандартные ядро и iptables пока не входит — требует сборки из исходных текстов!

Обсуждается включение в Debian — см. lists.debian.org/debian-mentors/2011/04/msg00070.html и bugs.debian.org/cgi-bin/bugreport.cgi?bug=620511

Система

Debian Squeeze (6.0.3) amd64

Ядро 2.6.38 из backports (на момент подготовки данной документации — самое свежее)

Сборка на тестовой системе

Устанавливаем необходимые пакеты:
apt-get install -t squeeze-backports linux-headers-2.6.38-bpo.2-amd64
apt-get install -t squeeze-backports quilt debhelper autotools-dev iptables-dev dkms pkg-config

Скачиваем и распаковываем sourceforge.net/projects/ipt-netflow/files/ipt-netflow/

Компилируем и устанавливаем в сборочную систему:
cd ./ipt_netflow-*
./configure
make all
make install
depmod

Делаем архив для установки на шлюзе:
find /lib -name "*NETFLOW*" | xargs tar czf
/tmp/ipt_netflow-$(modinfo -F version ipt_NETFLOW)-$(uname -r).tar.gz

Установка на рабочей системе

Разворачиваем из архива
tar xzf /tmp/ipt_netflow-*-*.tar.gz -C /
depmod

Настраиваем параметры загрузки (полный список параметров):
echo options ipt_NETFLOW destination=127.0.0.1:9996 > /etc/modprobe.d/netflow.conf

Загружаем и проверяем состояние:
modprobe ipt_NETFLOW
sysctl -a | grep net.netflow

Пускаем трафик через сенсор:
iptables -A FORWARD -j NETFLOW

Проверяем подсчёт:
iptables -nvL FORWARD | grep NETFLOW
tcpdump -c5 -npi lo port 9996

Включаем автозагрузку:
echo ipt_NETFLOW >> /etc/modules

Отключаем обновление ядра:
echo linux-image-2.6.38-bpo.2-amd64 hold | dpkg --set-selections

Если коллектор находится на другом компьютере, то т.к. в момент загрузки модуля интерфейсы и маршрутизация ещё не настроены, установка связи с коллектором может завершиться с ошибкой ядра 101 («destination unreached»). Чтобы её обойти, повторно устанавливаем соединение из /etc/rc.local:
f="/proc/sys/net/netflow/destination"
test -e "$f" && d="$(cat $f)" && echo "$d" > "$f"

  1. ABC:

    Для тестовой версии качайте с git clone http://github.com/aabc/ipt-netflow.git
    Появились новые фичи: ipv6, netflow v9/ipfix, nat events, и так далее. Нужен фидбэк. ;)

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js