У некоторых пользователей возникает потребность в сборе дополнительных данных о сессиях клиентов помимо требуемых законодательством.
В таком случае стоит рассмотреть настройку на вашем сервере сбора статистики с помощью протокола netflow.
В статье расскажем, как настроить сбор на примере роутера Mikrotik и коллектора на Debian.
Запустите на микротике New Terminal, выполните команды:
/ip traffic-flow set enabled=yes interfaces=hs-bridge
/ip traffic-flow target add dst-address=10.0.0.2 port=3000 v9-template-timeout=1m version=5
Первой строкой мы включаем Traffic Flow. В interfaces указываете те интерфейсы, с которых планируете собирать статистику (если собираетесь делать это с нескольких, укажите их через запятую, если все — то inetrfaces=all).
Вторая строка настраивает хост назначения, получающий собираемые данные (коллектор). Указываем адрес (в нашем случае адрес сервера с коллектором 10.0.0.2).
Далее установим flow-tools на linux:
apt-get update
apt-get install flow-tools
Отредактируем файл:
nano /etc/flow-tools/flow-capture.conf
Строку из example1 приведем к виду (10.0.0.1 — адрес нашего микротика):
-w /var/flow/myrouter 0/10.0.0.1/3000
Далее создадим папку для записи логов:
mkdir /var/flow
mkdir /var/flow/myrouter
И перезапустим коллектор:
/etc/init.d/flow-capture restart
В папке должен появиться файл.
Через 15 минут можно посмотреть его содержимое:
flow-cat <flow-file> | flow-print
Стоит помнить о том, что логи netflow крайне «прожорливы», поэтому рекомендуем хранить их на отдельном диске.
Чтобы добавить для сбора второй роутер, создадим еще одну папку для логов:
mkdir /var/flow/myrouter2
После снова отредактируем файл nano /etc/flow-tools/flow-capture.conf Добавим новую запись, не забыв указать адрес вашего роутера:
-w /var/flow/myrouter2 0/10.0.1.1/3000
Не забывайте о том, что роутер также должен видеть ваш сервер.