среда, 14 августа 2013 г.

Модуль ipt_NETFLOW для Vyatta

Пусть полежит пока здесь, чтобы не забыть.

Компилировал очередной раз модуль ipt_NETFLOW для Vyatta, промаялся без результата весь вечер. На следующий день сделал за полчаса. Пишу здесь "прямую" последовательность действий.




  • Ставим стабильный дистрибутив Vyatta.
    У меня VC6.6R1
  • Ищем название "branch" нашей версии
    Подсмотрел http://en.wikipedia.org/wiki/Vyatta
    У меня Daisy
  • Добавляем следующие репозитории в /etc/apt/sources.list

    deb http://packages.vyatta.com/vyatta stable main # community #
    deb http://packages.vyatta.com/vyatta-dev/daisy/unstable daisy main # vyatta-dev #
    deb http://mirror.yandex.ru/debian squeeze main contrib non-free # squeeze #

    squeeze - репозиторий Debian на базе которого собран Ваш Vyatta.
    vyatta-dev - репозиторий разработки для нашего branch. Если у Вас другой branch, то "daisy" меняем на своё
    community - уже был при установке
  • Устанавливаем пакеты по возможности из репозиториев vyatta, а уж потом из репозитория Debian.

    Важно! Нельзя чтобы пакеты iptables и libc6 обновились с репозитория Debian.

    aptitude install iptables-dev linux-vyatta-kbuild pkg-config  linux-libc-dev libc6-dev make gcc autoconf mlocate
  • Качаем исходники ipt_NETFLOW
    http://sourceforge.net/projects/ipt-netflow/ но стабильная версия для ядра до 2.6.37

    У меня ядро 3.3.8, поэтому забираем snapshot с git
    http://sourceforge.net/p/ipt-netflow/code/ci/master/tarball
  • Запускаем updatedb (в скрипте ./configure используется locate)
  • Создаём символическую ссылку на заголовки ядра
    ln -s /usr/src/linux-image/debian/build/build-amd64-none-amd64-vyatta/ /lib/modules/3.3.8-1-amd64-vyatta/build
  • Распаковываем исходники и запускаем в каталоге ipt-netflow-code
    ./configure
    make all
    make install
  • Если все прошло без ошибок, запускаем
    depmod -a
  • Пробуем загружать модуль
    modprobe ipt_NETFLOW
  • Пробуем iptables
    iptables -I FORWARD -j NETFLOW

На этом всё! Удалось обойтись существующими dev пакетами. В противном случае, пришлось бы заново компилировать исходники ядра и iptables.

P.S. Я было уже начал компилить исходники. А начинал так:
git clone http://git.vyatta.com/build-iso.git  (ждем пару минут)
cd build-iso
git checkout --track -b daisy origin/daisy
git submodule init
git submodule update (ждем долго, возможно несколько часов. Сольётся 2.5-3 Гб)

Далее читаем README на предмет tools/submod-mk

2 комментария:

  1. Здравствуйте. Если интересно то ipt-netflow теперь поддерживает IPv6, Netflow v9/IPFIX, NAT events (NEL), и проч. мелочь. Всё это в git. Был бы рад тестированию с фидбэком.

    ОтветитьУдалить