Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Пакет утилит для работы с NetFlow потоками, отправляемыми маршрутизаторами Cisco или Juniper.

Table of Contents


Установка flow-tools на FreeBSD


Note
titleflow-tools @ FreeBSD 11.1

flow-capture на FreeBSD 11.1 ведет себя нестандартно. Может поработать минуту и потом креш. Поэтому рекоммендуется ставить flow-tools следующим образом :

Code Block
cd /usr/ports/net-mgmt/flow-tools
make WITH_DEBUG=yes
make install


Устанавливаем пакет, даем права пользователю на директорию статистики:

Code Block
languagebash
pkg install flow-tools
mkdir -p /usr/abills/var/log/ipn
chown flowtools /usr/abills/var/log/ipn/


Заносим flow-capture в автозагрузку :

/etc/rc.conf

Code Block
languagebash
flow_capture_enable="YES"
flow_capture_datadir="/usr/abills/var/log/ipn/" 
flow_capture_port="9996"
flow_capture_flags="-S 5 -n 287 -N 0 -d 5"


В данном случае, flow-tools запускаются со следующими опциями :

ПараметрЗначение
-S 5

Каждые 5 минут коллектор будет скидывать статистику о своей работе в лог. Самое интересное там - это количество потерянных посылок, которые не дошли до коллектора.

-n 287

Количество ротаций файлов с записями о соединениях в сутки. 287 означает создание нового файла с данными netflow каждые 5 минут.

-N 0Так называемый nesting_level; определяет структуру директорий которая, будет создаваться при записи файлов с соединениями, 0 - файл с данными netflow в каталоге.
-d 5Уровень отладки. Используется только для теста или выявления аномалий. Можно не указывать.
-w /usr/abills/var/log/ipn/Каталог, в котором сохраняются файлы с данными netflow.
0/0/9996

по порядку: адрес, на котором коллектор будет принимать netflow, адрес с которого коллектор будет принимать netflow и порт, на который коллектор будет принимать netflow.

Если первый заменить на 0, то коллектор будет принимать на любой адрес из доступных интерфейсов, если второй заменить на 0, то коллектор будет принимать netflow данные с любых адресов.

Этого делать не рекомендуется по одной простой причине: netflow не имеет никаких средств авторизации, поэтому если адрес, на котором коллектор принимает netflow, доступен кому-то еще,

то злоумышленник может послать ложные данные. Учитывая то, что данные netflow могут использоваться как для расчетов, так и выявления сетевых проблем и аномалий, лучше обезопаситься и

задать все жестко. Кроме того, можно запустить несколько коллекторов на разных адресах и/или портах, так же один коллектор может работать с несколькими роутерами одновременно и различать

их по полю engine-id.

Запускаем flow-capture:

Code Block
languagebash
/usr/local/etc/rc.d/flow_capture start


Запуск нескольких демонов flow_capture

Иногда возникают ситуации когда нужно запустить несколько процессов flow_capture для получения flow потоков от разных серверов доступа.

/etc/rc.conf

Code Block
languagebash
flow_capture_enable="YES"
flow_capture_profiles="r1 r2"
# описание первого демона на порту 9997
flow_capture_r2_datadir="/usr/abills/var/log/ipn/"
flow_capture_r2_port="9997"
flow_capture_r2_flags="-S 5 -n 1400 -N 0 -d 5"
# описание второго демона 9996
flow_capture_r1_datadir="/usr/abills/var/log/ipn2/"
flow_capture_r1_port="9996"
flow_capture_r1_flags="-S 5 -n 287 -N 0 -d 5"


Установка flow-tools на Ubuntu / Debian

Устанавливаем пакет, даем права пользователю на директорию статистики:

Code Block
languagebash
apt-get install flow-tools
mkdir -p /usr/abills/var/log/ipn


Меняем конфиг (параметры запуска те же что представлены в секции "Установка flow-tools на FreeBSD"):

Code Block
languagebash
echo "-S 5 -n 287 -N 0  -d 5 -w /usr/abills/var/log/ipn/  0/0/9996" > /etc/flow-tools/flow-capture.conf


Заносим flow-capture в автозагрузку:

Code Block
languagebash
update-rc.d flow-capture defaults
update-rc.d flow-capture enable


Для Debian 8 нужно создать симлинки, иначе traffic2sql работать не будет:

Code Block
languagebash
ln -s `which flow-cat` /usr/local/bin/flow-cat
ln -s `which flow-print` /usr/local/bin/flow-print


Запускаем flow-capture:

Code Block
languagebash
/etc/init.d/flow-capture start


Установка flow-tools на CentOS 7

Устанавливаем flow-tools из epel rep, даем права пользователю на директорию статистики:

Code Block
languagebash
# скачиваем и устанавливаем крайний epel-release
yum install wget -yq
wget https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
rpm -Uvh epel-release*rpm
# устанавливаем flow tools
yum install flow-tools
# директория и права
mkdir -p /usr/abills/var/log/ipn
chown -R flow-tools. /usr/abills/var/log/ipn


Меняем конфиг (параметры запуска те же что представлены в секции "Установка flow-tools на FreeBSD"):

Code Block
languagebash
echo  'OPTIONS="-S 5 -n 287 -N 0 -w /usr/abills/var/log/ipn/  0/0/9996"' > /etc/sysconfig/flow-capture


Добавляем flow-capture в автозагрузку:

Code Block
languagebash
systemctl enable flow-capture


Запускаем flow-capture:

Code Block
languagebash
service flow-capture start