Статистика посещений на Mikrotik с помощью WebProxy-Log. Установка NetFlow Analyzer Mikrotik просмотр трафика пользователей

Очень часто руководители компаний просят предоставить статистику посещений сайтов своими сотрудниками. Этот вопрос легко решается при наличии развитой ИТ-инфраструктуры, путем установки дополнительного прокси сервера и организации на нем сбора статистики. Но что делать компаниям, которые не имеют или не готовы раздувать свою инфраструктуру «еще одной единицей» техники? В этой статье мы покажем пример использования сил только одного маршрутизатора mikrotik для решения задачи по сбору статистики посещений. Отчеты мы предлагаем формировать с помощью небольшой утилиты под windows - WebProxy-Log .

Далее по шагам:
- Открыть свой Mikrotik через Winbox.
- Зайти в IP => Web Proxy.
- Вкладка General.
- Установить галку рядом с Enabled.
- Указать порт 8080.
- Параметр Cache Administrator: на webmaster.
- Параметр Max. Cache Size: на unlimited.
- Параметр Max Cache Object Size: на 2048.
- Установить галку рядом с Cache On Disk.
- Параметр Max. Client Connections: на 600.
- Параметр Max. Server Connections: на 600.
- Параметр Max Fresh Time: оставить 3d 00:00:00.
- Параметр Cache Hit DSCP (TOS): оставить 4.
- Параметр Cache Path: на primary-master .

Нажимаем OK.
- Далее заходим в System => Logging.
- Вкладка Action.
- Нажимаем на +.
- Name: изменяем на WebProxyLog.
- Type: изменяем на remote.
- Remote Address: пишем адрес компьютера на котором установлена программа WebProxy-Log .
- Remote Port: оставляем 514 (порт udp).
- Нажимаем OK.



После чего наша настройка отразится во вкладке Action.


Переходим во вкладку Rules

Нажимаем на +.
- Topics: выбираем web-proxy .
- Prefix: пишем Proxy.
- Action: выбираем WebProxyLog.
- Нажимаем OK.


Т. к. mikrotik при формировании логов делает очень много записей которые нам не нужны, мы добавим исключения. Добавим аналогично web-proxy правило со значением! debug (знак! определяет исключение).
После чего наша настройка отразится во вкладке Rules.


Теперь открываем New Termenal и пишем правило для NAT:
- /ip firewall nat
add action=redirect chain=dstnat comment=«Redirect port 80 request to Web Proxy» disabled=no dst-port =80 protocol=tcp to-ports =8080
- Открываем UDP порт под номером 514.
- chain=dstnat protocol=udp dst-port =514 action= dst-nat to-addresses = 192.168.0.200 to-ports =514

Настройка Mikrotik завершена.
- Скачиваем программу WebProxy-Log .
https://code.google.com/p/ webproxy-log /
- Устанавливаем и запускаем программу.
- В окне General settings указываем IP address: 192.168.0.200 (адрес компьютера).
- UDP Port: указываем 514.
- Buffer: указываем 400.
- Write log to: Указываем путь на каталог, где будет лежать файл журнала.
- Import from: Указываем путь на каталог откуда будет импортироваться файл журнала.
- Мои пути:
D:\Documents and Settings\god\Рабочий стол\
D:\Documents and Settings\god\Рабочий стол\New Folder
- DB location: этот путь мы оставляем по умолчанию.
- Устанавливаем галочку на Use insecure import.
- Устанавливаем галочку на Optimize database after log import.
- Нажимаем Apply.



Выбираем IP адрес в Select user:
- Выбираем дату с какого по какое в Select date range:
- Нажимаем кнопку Generate.

Получаем статистику, как показано ниже:

Всем привет! В сегодняшней статье расскажем о том, как настроить отправку статистики о пакетах, проходящих через наш роутер Mikrotik на коллектор для дальнейшего анализа. Все мы знаем про такой протокол как Netflow, предназначенный для учёта сетевого трафика, разработанный компанией Cisco, так вот у Mikrotik есть своя реализация данного решения, которая полностью совместима со стандартом Cisco Netflow - Mikrotik Traffic Flow .

Помимо мониторинга и анализа трафика, с помощью Traffic Flow, администратор может выявлять различные проблемы, которые могут появляться в сети, а также анализировать и оптимизировать общие сетевые характеристики.

Поскольку Traffic Flow полностью совместим с Cisco Netflow, то он может использоваться различными утилитами, которые разработаны для Netflow.

Traffic Flow поддерживает следующие версии Netflow:

  1. version 1 - Самая первая версия формата данных Netflow. Рекомендуется использовать только если нет альтернатив
  2. version 5 - Дополнение первой версии, которой появилась возможность добавления номеров автономных систем (AS) и порядковых номеров потоков
  3. 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 портов.

Полезна ли Вам эта статья?

Пожалуйста, расскажите почему?

Нам жаль, что статья не была полезна для вас:(Пожалуйста, если не затруднит, укажите по какой причине? Мы будем очень благодарны за подробный ответ. Спасибо, что помогаете нам стать лучше!

Разберем утилиты для troubleshooting в сетях MikroTik, такие как torch, ip scan, romon, bandwidth test и другие.

В данной статье мы поговорим о том, что использовать для troubleshooting в сети на оборудовании MikroTik. Речь пойдет о следующих инструментах:

  • Torch
  • Ip scan
  • Sniffir
  • Cable test
  • RoMON
  • Bandwidth Test
  • Traffic Monitor

Наверняка многими из них вы уже пользовались, но я попытаюсь рассказать интересные вещи, которые может смогут вам помочь в работе. Во всяком случае мы, в нашей практике ИТ-аутсорсинга , используем их регулярно

Torch

Этот инструмент используется для мониторинга трафика в реальном времени, как всего трафика, так и через конкретный интерфейс.

Доступен в winbox, cli, webfug. Находится /tool torch.

Также кроме стандартного расположения torch можно открыть через Simple Queue и в настройках интерфейса.

Хочу отметить что torch видит метки DSCP и VLAN ID.

Через CLI у torch есть некоторые дополнительные функции, например запустить его на определеное время командой duration и задать интервал обновления данных командой freeze-frame-interval.

IP SCAN

Следующий очень полезный инструмент, который я всегда использую в своей работе это ip scan.

Находится он /tool ip scan. При помощи его можно быстро просканировать сеть и примерно уяснить что в ней находится. Так же при помощи его можно сразу определить если у нас есть где-то за двоение ip адресов.

Если у микротика указаны DNS сервера по в соответствующем поле будет заполнены и имена. Так же удобно отображается в графе Time(ms) задержка. Так же он доступен и в CLI.

Sniffer

Sniffer – это инструмент, который может захватывать и анализировать пакеты, которые уходят или проходят через маршрутизатор. Находится он /tool sniffer, также от доступен и в CLI. Есть возможность сохранять dump в файл или отправлять на удалённый сервер (например в wireshark), а также просмотра в реальном времени.

На вкладке General

  • Memiry Limit – задается какое количество ОЗУ будет доступно снифиру для аботы
  • File Name – имя файла дампа
  • File Limit – максимальный размер файла дампа.
  • Галочки Only Headers – собирать только заголовки.
  • memory-scroll - нужно ли переписывать устаревшие данные, когда достигнут предел памяти.

На вкладки Streaming включаем собственно его и указываем сервер на который будет отправляется.

На вкладки Filter задаем параметры фильтрации. После старта можно нажать на кнопку «Packets» и посмотреть результаты.

Cable test

Еще один полезный инструмент в микротике называется cable test. Доступен он в настройках интерфейса, помогает определить расстояние до обрыва таковой есть и длину кабеля

В моем примере я откусил одну пару на расстояние примерно 50 см. Мерит он не идеально +- пару метров.

RoMON

RoMON – утилита для доступа к устройствам через MikroTik находящихся в одном l2 сегменте с пограничным устройством, к которому у нас есть прямой доступ. Находится в /tool RoMON, помогает при удаленном администрировании.

Этот инструмент удобно использовать, когда по каким-либо причинам нам не хочется для настройки новых устройств за роутером использовать CLI (Mac Telnet) а хочется все делать через winbox.

Для использования этой функции нужно ее активировать как на роутере, к которому у нас есть доступ так и на тех (через Mac Telnet) которые находятся за нашем устройством. Включается оно /tool RoMON.

BandwidthTest

  • Инструмент позволяющий оценить скорость соединения с удаленным сервером
  • Есть в winbox, cli, webfig
  • Есть клиент и сервер
  • Возможно, использовать в различных скриптах

Есть отдельная утилита под windows. Есть общедоступные сервера которыми можно пользоваться. https://forum.mikrotik.com/viewtopic.php?t=104266

Очень удобно мерить скорость этим инструментом. Стоить также предупредить что если у вас большая скорость подключения и не очень мощное устройство (smips) то при запуске теста можно загрузить CPU на 100% и на время потерять доступ к устройству.

TrafficMonitor

И последний инструмент о котором мы поговорим это Traffic Monitor. Он используется для выполнения консольных скриптов, когда трафик интерфейса пересекает заданный порог. Находится он /tool traffic-monitor.

Его можно сравнить у утилитой «Netwatch» которая по доступности или недоступности определённого хоста выполняет какие-либо действия. Пример одного из применений, можно настроить отправку на почту уведомления если канал будет загружен на 95 % в течении 5 минут, вариантов много и примеров в интернете тоже.

На этом на сегодня все.