Установка flow-tools на FreeBSD
flow-tools @ FreeBSD 11.1
flow-capture на FreeBSD 11.1 ведет себя нестандартно. Может поработать минуту и потом креш. Поэтому рекоммендуется ставить flow-tools следующим образом :
cd /usr/ports/net-mgmt/flow-tools make WITH_DEBUG=yes make install
Устанавливаем пакет, даем права пользователю на директорию статистики:
pkg install flow-tools mkdir -p /usr/abills/var/log/ipn chown flowtools /usr/abills/var/log/ipn/
Заносим flow-capture в автозагрузку :
/etc/rc.conf
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:
/usr/local/etc/rc.d/flow_capture start
Запуск нескольких демонов flow_capture
Иногда возникают ситуации когда нужно запустить несколько процессов flow_capture для получения flow потоков от разных серверов доступа.
/etc/rc.conf
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
Устанавливаем пакет, даем права пользователю на директорию статистики:
apt-get install flow-tools mkdir -p /usr/abills/var/log/ipn
Меняем конфиг (параметры запуска те же что представлены в секции "Установка flow-tools на FreeBSD"):
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 в автозагрузку:
update-rc.d flow-capture defaults update-rc.d flow-capture enable
Для Debian 8 нужно создать симлинки, иначе traffic2sql работать не будет:
ln -s `which flow-cat` /usr/local/bin/flow-cat ln -s `which flow-print` /usr/local/bin/flow-print
Запускаем flow-capture:
/etc/init.d/flow-capture start
Установка flow-tools на CentOS 7
Устанавливаем flow-tools из epel rep, даем права пользователю на директорию статистики:
# скачиваем и устанавливаем крайний 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"):
echo 'OPTIONS="-S 5 -n 287 -N 0 -w /usr/abills/var/log/ipn/ 0/0/9996"' > /etc/sysconfig/flow-capture
Добавляем flow-capture в автозагрузку:
systemctl enable flow-capture
Запускаем flow-capture:
service flow-capture start