How to use Mikrotik torch to identify the cause of network congestion
One of the questions I get asked a lot is how can I identify the user who is congesting my network on a Mikrotik router. The Mikrotik routerOS has an in-built feature that allows network administrators to identify the source of network traffic congestion. The Mikrotik torch is a real-time traffic monitoring tools that allows a user to monitor traffics on an interface.
When using the Mikrotik torch feature, a user can select an interface to monitor and choose attributes to be included in the report. These attributes include: source and destination IP, source and destination IPv6, Mac protocol, Protocol, Vlan ID, port and DSCP. As handy as this tool is, most users have found it difficult to use simply because of limited materials on its usage.
How to run a mikrotik torch
Let’s consider a network of 3Mbps that is fully congested. The administrator wants to identify the user currently congesting the network. To do this, the administrator must identify and torch the LAN interface on the Mikrotik router. Since the source and destination IP, by default, have been included in the attributes that should be selected when running a torch on a Mikrotik router, the administrator, must then include the protocol. See the command below:
/tool torch interface=ether5 port=any
From the image above, we can see that https packets are congesting the network. So we need to identy the source of this hppts packets. To do that, we will use the torch feature in the tools submenu in winbox. See below:
Choose the LAN interface, select the protocol and port, and click on start. The output will diplay sources and destination IPs, number of packets sent by each user and the amount of bandwidth consumed. The bandwidth is further divided into upload and download. While the TX rate stands for upload, the Rx rate stands for download. With this, we can identify the users responsible for network congestion based on the consumed bandwidth. With the source address of such users, the network administrator can then configure queue that will stop them from congesting the network. click here for how to configure dynamic queu in Mikrotik.
24.04.2018 — Инструменты Troubleshooting в сети на MikroTik 
В данной статье мы поговорим о том, что использовать для 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.
Все дальше подключаемся в winbox к нашему устройству через кнопку «Connect To 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 минут, вариантов много и примеров в интернете тоже.
Инструменты диагностики сети на MikroTik
Диагностика неисправностей то ещё занятие. Но всякий, кто изучил данную практику, может ничего не бояться. Поиск и устранение требуют глубокие знания, но выработанный навык много стоит. Компания Mikrotik имеет большое количество инструментов диагностики сети (Troubleshooting), как для проводных, так и WiFi. В данной статье рассмотрим наиболее часто используемые для проводных сетей. Конфигурация будет использоваться самая домашняя на RouterOS 6 47.4.
Torch
Torch позволяет просматривать трафик на интерфейсах в реальном времени.
В качестве примера, я запущу с рабочей станции ping на 8.8.8.8. Скриншот ниже демонстрирует всех, кто отправляет эхо запросы на 8.8.8.8. Для удобства вывода я отключил IPv6. Так же выбрал основной бридж, т.к. мне нужно понять, кто из локальной сети отправляет и нажал Start. Статус Running в скобках, говорит о том, что идёт прослушка трафика.
Теперь давайте взглянем на какой IP адрес роутера, нам отвечает Google, поменяв местами SRC и DST, а также выберем внешний интерфейс.
Из дополнительного, вы можете просмотреть какая метка VLAN бегает внутри кадра.
Вы можете жёстко задать Src. Address. Посмотрим, куда лезет мой телефон, если я открою YouTube.
Открыть данную утилиту можно в контекстном меню любого из интерфейсов. Есть возможность использовать в консольном режиме.
IP Scan
Маленькая утилита, позволит узнать, какая подсеть/подсети или адреса видны на определённых интерфейсах.
Попробуем выяснить, что живёт на провайдером интерфейсе самого крупного оператора нашей страны.
Если вы хотите просканировать определённую подсеть, то можете ее указать в Address Range.
Как только я получил данный адрес, мой порт тут отключился. Позвонив в ТП, меня уверяли, что никаких блокировок на порту нет и т.д. и т.п. Оператор утверждала, что проблема в обрыве кабеля. Давайте проверим кабель.
Cable Test
Да, Mikrotik умеет диагностировать разрыв физической линии с помощью утилиты Cable Test, причём довольно точно. После разговора с оператором, я запустил данную утилиту. Картина интересна, по трём парам 94 метра, а по одной 98, и все они разорваны на одинаковом расстоянии от меня.
Полагаю, что оператор был не прав (оно и очевидно), т.к. мой линк снова загорелся, спустя 5 минут.
Будьте осторожны, подобные ситуации, могут быть и у вас.
Логирование основных действий пишется в ОЗУ и хранится до перезагрузки устройства. Вот тут, помимо засвеченных маков, можно увидеть, что WAN интерфейс поднялся и через 40 секунд отключился основной провайдерский линк.
Вы можете детализировать отображаемую информацию через System – Logging. На примере ниже, я добавил хранение в ОЗУ всех DNS запросов. Лог сразу же стал быстро заполняться и пролистываться.
Для приостановки автопролистывания есть кнопка Freeze, она замораживает автоскролинг.
В Actions, вы можете настроить отправку логов на удалённый Syslog Server, или хранить их локально на диске.
Не сложными манипуляциями возможно сделать debug определённых служб, допустим DHCP.
Берите на вооружение, очень полезная штука.
Traceroute
Графическая утилита, для определения количества хопов по пути. Фишка ее в том, что она постоянно будет рисовать потери, историю и время до хопа.
Вы можете указать максимальное количество прыжков, исходящий адрес, таблицу маршрутизации, интерфейс и размер пакета.
Простенькая тулза, с дополнительными фишками по аналогии с Traceroute. Позволяет сделать пинг на L2 – ARP-Ping. Для этого нужно выбрать интерфейс. На скриншоте видно стабильное время отклика до моего ноутбука, подключённого через WiFi.
Таблица ARP адресов доступна на просмотр соответствий. Можно создать постоянную запись соответствия IP к MAC.
Connections
Если ваш роутер, настроен на преобразование адресов, или по-русски, есть хотя бы одно правило NAT, то включается тот самый Connection Tracker. С помощью его фильтров, можно просматривать состояние соединений.
Открываем IP – Firewall – Connections, нажимаем на фильтр:
Я хочу просмотреть все соединения с 192.168.10.51
Тут можно увидеть новые, устоявшиеся и любые другие соединения. В колонке Connection Mark отображается метки пакетов – удобно диагностировать при Dual WAN.
Passthrough
Очень полезная функция, которая ничего не делает.
Допустим, вы хотите заблокировать определённый порт на входящем или проходящем трафике, но переживаете что-то поломать.
Открываем IP – Firewall и создаём правило:
Если входящий трафик с 192.168.10.51 по протоколу ICMP…
Теперь данное правило ставим выше, предполагаемого блокируемого.
Отправляю эхо-запрос и вижу, что счётчик Bytes и Packets – тикнули. Улавливаете?
Т.е. если есть пакет, подходящий под это правило, мы ничего не делаем, ну кроме тика счётчика. Данная штука так же работает и для маркировки (Mangle). Главное двигайте его правильно.
Sniffer
Ещё одна полезная фикция в микротик находится Tools – Packet Sniffer позволяет захватывать и анализировать трафик. Доступны разные фильтры.
Сохранять дамп на диск указав максимальный его размер в File Limit. Memory Limit указывает на объем занимаемый в ОЗУ самого снифера.
Так же увидеть направление пакетов, протокол, размер в Packets. И дополнительную информацию в Connections, Hosts, Protocols.
Есть возможность передачи прослушанного трафика на удалённый сервер. Для этих целей подойдёт Wireshark на вашем ПК или ноутбуке.
Доступен так же в CLI. Можно просмотреть входящий/исходящий трафик по определённым портам, очень удобно при диагностировании блокировки L2TP/IPSEC со стороны провайдера, указав их через запятую. Стрелочки, отображают направление.
Profile
Просмотреть нагрузку на само устройство можно через Profile. У ребят, которые не закрывают DNS снаружи, колонка Usage будет в 100%. Есть возможность фильтрации по ядрам.
Bandwidth Test
Bandwidth Test Клиент-серверная утилита созданная компанией mikrotik, позволяет проверить скорость соединения между устройствами по протоколу UDP (порт 2000). Достаточно сильно нагружает процессор на больших скоростях иди маленьких ЦП. Есть инструмент для скачивания на Windows, а также общедоступные сервера в интернете. Доступен в меню Tools.
Кнопкой enable включаем инструмент. Галочка Authenticate разрешает аутентифицироваться под пользователем RouterOS (System – Users).
Так же есть встроенная версия клиента. Вы можете замерить скорость как по UDP так и по TCP. Выбрать направления (Direction), приём, передача или сразу оба. Задать логин и пароль для аутентификации на уделённой стороне.
В самом низу представлен удобный график. Можете мерить скорости внутри VPN или LAN, между мостами и офисами или промежуточных узлов.
89 вопросов по настройке MikroTik
Вы хорошо разбираетесь в Микротиках? Или впервые недавно столкнулись с этим оборудованием и не знаете, с какой стороны к нему подступиться? В обоих случаях вы найдёте для себя полезную информацию в курсе «Настройка оборудования MikroTik». 162 видеоурока, большая лабораторная работа и 89 вопросов, на каждый из которых вы будете знать ответ. Подробности и доступ к началу курса бесплатно тут.
Who or What is Using my Bandwidth
How to use your MikroTik router to see exactly who or what is using your Internet bandwidth.
The Problem
I use my Internet for VoIP calls. Either for my work or my home phone.
But if a device is using excessive bandwidth, the call quality drops from “very good” to “totally unusable”.
So, I need to track down what is using my bandwidth and disable / pause it.
What Device?
Mikrotik routers are pretty fantastic devices.
We’ll use two features to track down where my bandwidth is being used: interfaces and torch.
These steps assume you’re using WinBox, and have already logged in to your Mikrotik based gateway.
Interfaces
First up is to identify bandwidth usage at a high level. Click Interfaces from the top-level menu (top left).
You’ll see a list of all interfaces on your router. Which will include physical ports, WiFi interfaces (physical or virtual) and other interfaces including your PPPoE connection and LTE / 3G modems.
Check your internet interface (usually PPPoE, or maybe LTE / 3G) to see how much bandwidth is currently being used. You’ll need to already know your connection limits / capacity in advance, as Microtik won’t tell you that.
Mine is using around 4Mbps downstream (Rx = receive) and 120kbps upstream (Tx = transmit).
(And yes, 4MBps is 90% of my downstream capacity. Yay for my ultra fast ADSL connection — and being about as far from the telephone exchange as I can possibly be).
On the good side, I’m only using about 20% of my upstream capacity, so VoIP calls should be mostly OK. But something is using all my download capacity. So lets drill in further to find out what.
Torch
Our gut reaction is to drill into the Internet interface. This is actually wrong, but does get us closer to pointing fingers. So we’ll start by doing the obvious and I’ll show where we went wrong and how to fix it in a moment.
Double click your Internet interface and click Torch (bottom right). You should see a list of real-time traffic appear. Sort by Rx Rate or Tx Rate so the offending IP addresses are listed at the top.
IMPORTANT: If you are using the “webfig” web interface via a browser, you must tick the boxes to collect information about protocol and port. If you don’t do this, you’ll see all IP addresses as 0.0.0.0 . If you still find trouble getting torch working in webfig, please use WinBox instead.
I have two IP addresses to look into: 150.101.98.69 and 23.7.19.36 . Between them, they are using almost all my 4Mbps. So more information about these IP addresses will help.
Unfortunately, the destination column (dst) is all the same 150.101.201.180 . Which I happen to know if my public IPv4 address. And this does not help us work out what local device is using bandwidth.
And this was our slight mistake before: drilling into the internet interface was not quite right. We should have drilled into the bridge interface.
Fortunately, that is easy to fix: just change the Interface drop down in the top left to your bridge interface.
You’ll notice that everything is backwards (src and dest, Rx and Tx just swapped), but that’s OK. Its just looking at things from the bridge’s point of view.
Now we’re in business! We’ve got internal and external IP addresses, sorted by usage.
Address Lookups
I happen to know that 192.168.25.100 is my laptop and 192.168.25.20 is my media server, so now I can start looking more closely in the next section. But first, lets gather some more information about the external addresses.
I used nslookup on my windows laptop to get more information about the top 3 IP addresses:
IP | Name |
---|---|
150.101.98.69 | a150-101-98-69.deploy.akamaitechnologies.com |
150.101.161.144 | nothing |
23.7.19.36 | a23-7-19-36.deploy.static.akamaitechnologies.com |
You can also cross check and get more information by doing a Who Is lookup on the IPs. I like using APNIC’s Who Is service; less ads than the commercial services.
Akamai Technologies is a content distribution network (or CDN), which means we’re downloading something (thank you captain obvious!).
Netstat
To get more information from my laptop, I used netstat -n -b (on Windows, you’ll need an elevated command prompt for netstat’s -b option). This lists all open network connections and the process using them.
After a bit of digging, I found the IP address in question. And the process that was listed against it was chrome.exe .
In fact, Chrome was listed several times for that IP address.
Chrome has a lovely All Downloads list, which (strangely enough) lists everything its currently downloading.
Oh, that right! I’d just starting downloading a whole bunch of videos from Build 2016.
(And yes, I started downloading them to illustrate this how-to. It’s always helps to know the answer before you start!)
Something Much Harder
Here are three screenshots from the first time I used torch. It took a while, but I narrowed down to downloading the Windows 10 install packages.
It was made much harder to diagnose because Windows didn’t ask me in advance (or provide any other indication it was downloading) and there was nothing special about the IPv6 address listed (Windows was using its new peer-to-peer update function).
There was considerably more guess work involved in that case!
Conclusion
You can use the torch function on Mikrotik routers to identify what local device is using bandwidth, and make a reasonable guess as to what external service its using. And from there, use local tools to further identify exactly what program is responsible.