Всем привет! В сегодняшней статье расскажем о том, как настроить отправку статистики о пакетах, проходящих через наш роутер Mikrotik на коллектор для дальнейшего анализа. Все мы знаем про такой протокол как Netflow, предназначенный для учёта сетевого трафика, разработанный компанией Cisco, так вот у Mikrotik есть своя реализация данного решения, которая полностью совместима со стандартом Cisco Netflow - Mikrotik Traffic Flow.
Помимо мониторинга и анализа трафика, с помощью Traffic Flow, администратор может выявлять различные проблемы, которые могут появляться в сети, а также анализировать и оптимизировать общие сетевые характеристики.
Поскольку Traffic Flow полностью совместим с Cisco Netflow, то он может использоваться различными утилитами, которые разработаны для Netflow.
Traffic Flow поддерживает следующие версии Netflow:
- version 1 - Самая первая версия формата данных Netflow. Рекомендуется использовать только если нет альтернатив
- version 5 - Дополнение первой версии, которой появилась возможность добавления номеров автономных систем (AS) BGP и порядковых номеров потоков
- version 9 - новая версия, позволяющая добавлять новые поля и типы записей благодаря шаблонному исполнению
Настройка
Итак, для того, чтобы начать собирать статистическую информацию о трафике, необходимо сначала включить Traffic Flow и определиться с каких интерфейсов осуществлять сбор. Делается это при помощи комбинации следующих команд:
/ip traffic-flow set enabled=yes interfaces=ether1
В нашем случае, указан лишь один интерфейс ether1, однако, если вы хотите собирать статистику с нескольких интерфейсов, просто укажите их через запятую. Если со всех - интерфейсов введите interfaces=all
.
Вы также можете настроить количество потоков, которые могут одновременно находиться в памяти роутера командой cache-entries
и указав нужное значение - (128k | 16k | 1k | 256k | 2k / 4k - по умолчанию)
Командой active-flow-timeout
- можно настроить максимальное время жизни потока, по умолчанию это 30 минут.
Некоторые потоки, могут стать неактивными через какое-то время, то есть, в них не будет происходить обмен пакетами, этот тайм-аут настраивается командой inactive-flow-timeout
. Если пакетов в потоке нет и данное время истекло, то в следующий раз traffic flow создаст новый поток, если обмен возобновится. По умолчанию это 15 секунд, но если сделать данное время слишком коротким, то это может привести к созданию большого количества отдельных поток и переполнению буфера.
После того как мы включили Traffic Flow и определились с интерфейсами, с которых хотим получать информацию о потоках, необходимо настроить хост назначения, который будет получать данную информацию (в терминологии Netflow такой хост называется коллектором). Делается это при помощи следующей команды
ip traffic-flow target
Затем указывается IP адрес и UDP порт хоста назначения -add dst-address=(IP address) port=(UDP port)
. Если вы хотите использовать конкретную версию протокола, то укажите ее командой version= (1,5,9)
Пример
Рассмотрим пример конфигурации Traffic Flow на роутере Mikrotik
Допустим мы хотим собирать статическую информацию о трафике, который проходит через интерфейс ether3 нашего роутера и отправлять её на коллектор по адресу 192.168.2.123 используя 5 версию протокола. В этом случае конфигурация может выглядеть следующим образом:
Сначала включаем Traffic Flow и указываем интерфейс
/ip traffic-flow set enabled=yes interfaces=ether3
Затем указываем адрес коллектора, стандартный порт и версию протокола 5:
/ip traffic-flow target add dst-address=192.168.2.123 port=2055 version=5
Если Вы предпочитаете консоли утилиту WinBox, то для настройки Traffic Flow левом меню откройте пункт IP и выберите Traffic Flow, перед Вами откроется следующее окно:
Необходимо включить Traffic Flow, поставив галочку напротив Enabled и выбрать желаемый интерфейс для сбора информации.
После этого переходим на вкладку Targets и добавляем параметры коллектора, достаточно внести IP адрес, порт и версию. После этого нажимаем на кнопку Apply
После этого наш роутер начнет отправлять информацию на коллектор. Если вы хотите указать несколько коллекторов, то это можно сделать, используя разные версии протокола и номера UDP портов.