Pull to refresh

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

Reading time2 min
Views24K

Общие сведения




Система

  • 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"


Tags:
Hubs:
+5
Comments3

Articles