Диагностика неисправностей то ещё занятие. Но всякий, кто изучил данную практику, может ничего не бояться. Поиск и устранение требуют глубокие знания, но выработанный навык много стоит. Компания Mikrotik имеет большое количество инструментов диагностики сети (Troubleshooting), как для проводных, так и WiFi. В данной статье рассмотрим наиболее часто используемые для проводных сетей. Конфигурация будет использоваться самая домашняя на RouterOS 6 47.4.
Если вы хотите углубить свои знания по работе с роутерами MikroTik, то наша команда рекомендует пройти курсы которые сделаны на основе MikroTik Certified Network Associate и расширены автором на основе опыта . Подробно читайте ниже.
Содержание
- Torch
- IP Scan
- Cable Test
- Log
- Traceroute
- Ping
- ARP
- Connections
- Passthrough
- Sniffer
- Profile
- Bandwidth Test
- 89 вопросов по настройке MikroTik
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 минут.
Будьте осторожны, подобные ситуации, могут быть и у вас.
Log
Логирование основных действий пишется в ОЗУ и хранится до перезагрузки устройства. Вот тут, помимо засвеченных маков, можно увидеть, что WAN интерфейс поднялся и через 40 секунд отключился основной провайдерский линк.
Вы можете детализировать отображаемую информацию через System – Logging. На примере ниже, я добавил хранение в ОЗУ всех DNS запросов. Лог сразу же стал быстро заполняться и пролистываться.
Для приостановки автопролистывания есть кнопка Freeze, она замораживает автоскролинг.
В Actions, вы можете настроить отправку логов на удалённый Syslog Server, или хранить их локально на диске.
Не сложными манипуляциями возможно сделать debug определённых служб, допустим DHCP.
Берите на вооружение, очень полезная штука.
Traceroute
Tools — Traceroute
Графическая утилита, для определения количества хопов по пути. Фишка ее в том, что она постоянно будет рисовать потери, историю и время до хопа.
Вы можете указать максимальное количество прыжков, исходящий адрес, таблицу маршрутизации, интерфейс и размер пакета.
Ping
Tools — Ping
Простенькая тулза, с дополнительными фишками по аналогии с Traceroute. Позволяет сделать пинг на L2 – ARP-Ping. Для этого нужно выбрать интерфейс. На скриншоте видно стабильное время отклика до моего ноутбука, подключённого через WiFi.
ARP
IP – ARP-List
Таблица 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…
… Action – passthrough
Теперь данное правило ставим выше, предполагаемого блокируемого.
Отправляю эхо-запрос и вижу, что счётчик 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 вопросов, на каждый из которых вы будете знать ответ. Подробности и доступ к началу курса бесплатно тут.
Summary
RouterOS is capable of logging various system events and status information. Logs can be saved in routers memory (RAM), disk, file, sent by email or even sent to remote syslog server (RFC 3164).
Log messages
All messages stored in routers local memory can be printed from /log
menu. Each entry contains time and date when event occurred, topics that this message belongs to and message itself.
[admin@MikroTik] /log> print jan/02/1970 02:00:09 system,info router rebooted sep/15 09:54:33 system,info,account user admin logged in from 10.1.101.212 via winbox sep/15 12:33:18 system,info item added by admin sep/15 12:34:26 system,info mangle rule added by admin sep/15 12:34:29 system,info mangle rule moved by admin sep/15 12:35:34 system,info mangle rule changed by admin sep/15 12:42:14 system,info,account user admin logged in from 10.1.101.212 via telnet sep/15 12:42:55 system,info,account user admin logged out from 10.1.101.212 via telnet 01:01:58 firewall,info input: in:ether1 out:(none), src-mac 00:21:29:6d:82:07, proto UDP, 10.1.101.1:520->10.1.101.255:520, len 452
If logs are printed at the same date when log entry was added, then only time will be shown. In example above you can see that second message was added on sep/15 current year (year is not added) and the last message was added today so only the time is displayed.
Print command accepts several parameters that allows to detect new log entries, print only necessary messages and so on.
For example following command will print all log messages where one of the topics is info and will detect new log entries until Ctrl+C is pressed.
[admin@MikroTik] /log > print follow where topics~".info" 12:52:24 script,info hello from script -- Ctrl-C to quit.
If print is in follow mode you can hit ‘space’ on keyboard to insert separator:
[admin@MikroTik] /log > print follow where topics~".info" 12:52:24 script,info hello from script = = = = = = = = = = = = = = = = = = = = = = = = = = = -- Ctrl-C to quit.
Logging configuration
Sub-menu level: |
---|
Property | Description |
---|---|
action (name; Default: memory) | specifies one of the system default actions or user specified action listed in actions menu |
prefix (string; Default: ) | prefix added at the beginning of log messages |
topics (account, bfd, caps, ddns, dns, error, gsm, info, iscsi, l2tp, manager, ntp, packet, pppoe, radvd, rip, script, smb, sstp, system, timer, vrrp, web-proxy, async, bgp, certificate, debug, dot1x, dude, event, hotspot, interface, isdn, ldp, mme, ospf, pim, pptp, raw, route, sertcp, snmp, state, telephony, upnp, warning, wireless, backup, calc, critical, dhcp, e-mail, firewall, igmp-proxy, ipsec, kvm, lte, mpls, ovpn, ppp, radius, read, rsvp, simulator, ssh, store, tftp, ups, watchdog, write; Default: info) | log all messages that falls into specified topic or list of topics.
‘!’ character can be used before topic to exclude messages falling under this topic. For example, we want to log NTP debug info without too much details:
|
Actions
Sub-menu level: |
---|
Property | Description |
---|---|
bsd-syslog (yes|no; Default: ) | whether to use bsd-syslog as defined in RFC 3164 |
disk-file-count (integer [1..65535]; Default: 2) | specifies number of files used to store log messages, applicable only if action=disk |
disk-file-name (string; Default: log) | name of the file used to store log messages, applicable only if action=disk |
disk-lines-per-file (integer [1..65535]; Default: 100) | specifies maximum size of file in lines, applicable only if action=disk |
disk-stop-on-full (yes|no; Default: no) | whether to stop to save log messages to disk after the specified disk-lines-per-file and disk-file-count number is reached, applicable only if action=disk |
email-start-tls (yes | no; Default: no) | Whether to use tls when sending email, applicable only if action=email |
email-to (string; Default: ) | email address where logs are sent, applicable only if action=email |
memory-lines (integer [1..65535]; Default: 100) | number of records in local memory buffer, applicable only if action=memory |
memory-stop-on-full (yes|no; Default: no) | whether to stop to save log messages in local buffer after the specified memory-lines number is reached |
name (string; Default: ) | name of an action |
remember (yes|no; Default: ) | whether to keep log messages, which have not yet been displayed in console, applicable if action=echo |
remote (IP/IPv6 Address[:Port]; Default: 0.0.0.0:514) | remote logging server’s IP/IPv6 address and UDP port, applicable if action=remote |
src-address (IP address; Default: 0.0.0.0) | source address used when sending packets to remote server |
syslog-facility (auth, authpriv, cron, daemon, ftp, kern, local0, local1, local2, local3, local4, local5, local6, local7, lpr, mail, news, ntp, syslog, user, uucp; Default: daemon) | |
syslog-severity (alert, auto, critical, debug, emergency, error, info, notice, warning; Default: auto) | Severity level indicator defined in RFC 3164:
|
target (disk, echo, email, memory, remote; Default: memory) | storage facility or target of log messages
|
Topics
Each log entry have topic which describes the origin of log message. There can be more than one topic assigned to log message. For example, OSPF debug logs have four different topics: route, ospf, debug and raw.
11:11:43 route,ospf,debug SEND: Hello Packet 10.255.255.1 -> 224.0.0.5 on lo0 11:11:43 route,ospf,debug,raw PACKET: 11:11:43 route,ospf,debug,raw 02 01 00 2C 0A FF FF 03 00 00 00 00 E7 9B 00 00 11:11:43 route,ospf,debug,raw 00 00 00 00 00 00 00 00 FF FF FF FF 00 0A 02 01 11:11:43 route,ospf,debug,raw 00 00 00 28 0A FF FF 01 00 00 00 00
List of Facility independent topics
Topic | Description |
---|---|
critical | Log entries marked as critical, these log entries are printed to console each time you log in. |
debug | Debug log entries |
error | Error messages |
info | Informative log entry |
packet | Log entry that shows contents from received/sent packet |
raw | Log entry that shows raw contents of received/sent packet |
warning | Warning message. |
Topics used by various RouterOS facilities
Topic | Description |
---|---|
account | Log messages generated by accounting facility. |
async | Log messages generated by asynchronous devices |
backup | Log messages generated by backup creation facility. |
bfd | Log messages generated by BFD protocol |
bgp | Log messages generated by BGP protocol |
calc | Routing calculation log messages. |
caps | CAPsMAN wireless device management |
certificate | Security certificate |
dns | Name server lookup related information |
ddns | Log messages generated by Dynamic DNS tool |
dude | Messages related to the Dude server package The Dude tool |
dhcp | DHCP client, server and relay log messages |
Messages generated by e-mail tool. | |
event | Log message generated at routing event. For example, new route have been installed in routing table. |
firewall | Firewall log messages generated when action=log is set in firewall rule |
gsm | Log messages generated by GSM devices |
hotspot | Hotspot related log entries |
igmp-proxy | IGMP Proxy related log entries |
ipsec | IPSec log entries |
iscsi | |
isdn | |
interface | |
kvm | Messages related to the KVM virtual machine functionality |
l2tp | Log entries generated by L2TP client and server |
lte | Messages related to the LTE/4G modem configuration |
ldp | LDP protocol related messages |
manager | User Manager log messages. |
mme | MME routing protocol messages |
mpls | MPLS messages |
ntp | sNTP client generated log entries |
ospf | OSPF routing protocol messages |
ovpn | OpenVPN tunnel messages |
pim | Multicast PIM-SM related messages |
ppp | ppp facility messages |
pppoe | PPPoE server/client related messages |
pptp | PPTP server/client related messages |
radius | Log entries generated by RADIUS Client |
radvd | IPv6 radv daemon log messages. |
read | SMS tool messages |
rip | RIP routing protocol messages |
route | Routing facility log entries |
rsvp | Resource Reservation Protocol generated messages. |
script | Log entries generated from scripts |
sertcp | Log messages related to facility responsible for «/ports remote-access» |
simulator | |
state | DHCP Client and routing state messages. |
store | Log entries generated by Store facility |
smb | Messages related to the SMB file sharing system |
snmp | Messages related to Simple network management protocol (SNMP) configuration |
system | Generic system messages |
telephony | Obsolete! Previously used by the IP telephony package |
tftp | TFTP server generated messages |
timer | Log messages that are related to timers used in RouterOS. For example bgp keepalive logs
12:41:40 route,bgp,debug,timer KeepaliveTimer expired 12:41:40 route,bgp,debug,timer RemoteAddress=2001:470:1f09:131::1 |
ups | Messages generated by UPS monitoring tool |
vrrp | Messages generated VRRP |
watchdog | Watchdog generated log entries |
web-proxy | Log messages generated by web proxy |
wireless | Wireless log entries. |
write | SMS tool messages. |
Examples
Logging to file
To log everything to file, add new log action:
/system logging action add name=file target=disk disk-file-name=log
and then make everything log using this new action:
/system logging add action=file
You can log only errors there by issuing command:
/system logging add topics=error action=file
This will log into files log.0.txt and log.1.txt.
You can specify maximum size of file in lines by specifying disk-lines-per-file. <file>.0.txt is active file were new logs are going to be appended and once it size will reach maximum it will become <file>.1.txt, and new empty <file>.0.txt will be created.
You can log into USB flashes or into MicroSD/CF (on Routerboards) by specifying it’s directory name before file name. For example, if you have accessible usb flash as usb1 directory under /files, you should issue following command:
/system logging action add name=usb target=disk disk-file-name=usb1/log
Logging entries from files will be stored back in the memory after reboot.
Приветствую господа.
Мучаюсь над проблемой уже неделю.
В логах на роутере Mikrotik RB750GL периодически начинают появляться ошибки и падать все интерфейсы:
Aug/08/2016 14:16:24 interface,warning 1WAN_KTelecom excessive broadcasts/multicasts, probably a loop
Aug/08/2016 14:16:24 interface,warning 2LANMaster excessive broadcasts/multicasts, probably a loop
Aug/08/2016 14:16:24 interface,warning 3WAN_DOMRU excessive broadcasts/multicasts, probably a loop
Aug/08/2016 14:16:24 interface,warning 5IPTV excessive broadcasts/multicasts, probably a loop
Появление ошибки изо дня в день хаотично. Сегодня один интерфейс, завтра другой, послезавтра все вместе.
Начал с поисков петли, офис небольшой, обошел лично все розетки, нет петель. Пара свичей, один марштрутник для тестового железа (на нем своя подсеть внутри, которая не пересекается с рабочей подсетью)
Отключал полностью на Микротике порт с локальной сети, ошибки продолжаются.
Блокировал входящий трафик на внешних портах от локльных IP.
Отключал по очереди внешние интефейсы.
Отключал все правила в разделе Mangle, ошибка продолжается.
Отключал все правила в разделе NAT, ошибка продолжается.
IGMP отключал
IPv6 отключен (удален пакет из микротик)
Раньше с такой бедой не сталкивался. В конфигурациях вроде все правильно, несколько раз проверил маршруты, маркеры. Трафик ходит хорошо.
Но как только начинает сыпать эта ошибка, периодически падают все интерфейсы на несколько секунд.
Потом поднимаются, и ошибка повторяется через время. Перезагрузка роутера спасает ненадолго.
Может кто сталкивался с подобной проблемой? Подскажет в какую сторону копать?
Трафик снифером собирал во время появления ошибок, открывал в Wireshark. Ничего интересного самостоятельно найти не смог.
Думаю уже роутер новый поставить.
24.04.2018 — Инструменты Troubleshooting в сети на MikroTik 
Разберем утилиты для 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.
Все дальше подключаемся в 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 минут, вариантов много и примеров в интернете тоже.
На этом на сегодня все.
Wireless logs are enabled by default on Mikrotik devices to show basic information on clients that connect and disconnect from the AP. These entries are simple and do not reveal much about the activities between the AP and connected stations. For regular users, it is enough to know that the wireless client with a given mac address is connected to WLAN1 but for advanced users who desire to know more about the activities on the wireless interface connecting the stations, there are more log entries available than displayed in standard logging. These entries are called debug logs and they provide more detailed information that can help wireless engineers identify and solve connectivity problems quickly.
With debug logs, specific information on client connection and disconnection are given. From connection attempt, successful connection, to disconnection, everything is logged. For example, see a sample of a logged message below, captured from a Mikrotik router:
You my also like: How to use snooper in Mikrotik to choose the best frequency for wireless links
22:33:20 wireless,debug wlan1: 00:80:48:41:AF:2A attempts to
connect
22:33:20 wireless,debug wlan1: 00:80:48:41:AF:2A not in
local ACL, by default accept
22:33:20 wireless,info 00:80:48:41:AF:2A@wlan1: connected
From the output above, the first line shows a connection attempt from a wireless client. The second line shows that the AP checked to see if the client is permitted in an access-list to connect, and on the third line, client is shown connected to the AP. The following commands can be used to enable wireless logging on a Mikrotik router:
[admin@MikroTik] > /system logging
[admin@MikroTik] system logging> add
topics=wireless,debug action=memory
On winbox, do the following:
To view the logs, click on log