Troubleshooting MikroTik — диагностика проблем
Troubleshooting MikroTik — диагностика проблем и решения
Рано или поздно каждый администратор MikroTik сталкивается с проблемами: интернет пропал, скорость упала, Wi-Fi отваливается, VPN не подключается, клиенты не получают IP. Ключ к быстрому решению — системный подход к диагностике. В этом руководстве разберём методологию поиска неисправностей, подробно рассмотрим шесть самых частых проблем с пошаговой CLI-диагностикой для каждой, изучим встроенные инструменты RouterOS (Torch, Packet Sniffer, Connection Tracker, Log) и составим чек-лист первой помощи из 10 шагов.
Описание
Методология диагностики
Правильный порядок действий при любой проблеме:
code1. Определить симптом (что именно не работает) │ 2. Проверить физику (кабели, индикаторы, питание) │ 3. Ping → есть ли связность (L3) │ 4. Traceroute → где обрывается маршрут │ 5. Torch → есть ли трафик на интерфейсе │ 6. Packet Sniffer → что именно идёт в пакетах │ 7. Log → системные события и ошибки │ 8. Изоляция → отключаем по одному (firewall, NAT, Queue) │ 9. Решение → применяем исправление │ 10. Документирование → записываем что было и как починили
Встроенные инструменты диагностики
| Инструмент | Назначение | CLI-команда |
|---|---|---|
| Ping | Проверка связности L3 | /ping |
| Traceroute | Трассировка маршрута | /tool/traceroute |
| Torch | Мониторинг трафика в реальном времени | /tool/torch |
| Packet Sniffer | Захват пакетов | /tool/sniffer |
| Bandwidth Test | Тест пропускной способности | /tool/bandwidth-test |
| Profile | Загрузка CPU по процессам | /tool/profile |
| Connection Tracker | Таблица активных соединений | /ip/firewall/connection |
| Log | Системный журнал | /log |
| Supout.rif | Полная диагностика для техподдержки | /system/sup-output |
| Netwatch | Мониторинг доступности хостов | /tool/netwatch |
| Interface Monitor | Состояние физического порта | /interface/monitor-traffic |
Настройка
В этом разделе "настройка" означает пошаговую диагностику каждой проблемы с готовыми CLI-командами.
Проблема 1: нет интернета
Самая частая проблема. Проверяем по слоям: физика → IP → маршрут → DNS → NAT → firewall.
Шаг 1: проверяем физическое подключение WAN
[admin@MikroTik] ># Статус WAN-интерфейса (ether1) /interface/print where name=ether1 # running=yes — кабель подключён, link есть # running=no — нет link (кабель, порт провайдера) # Детальный мониторинг порта /interface/ethernet/monitor ether1 once # Смотрим: status, rate, full-duplex # Если PPPoE — проверяем статус сессии /interface/pppoe-client/print # status=connected — сессия активна # status=dialing — пытается подключиться
Шаг 2: проверяем IP-адрес на WAN
[admin@MikroTik] ># IP-адреса на всех интерфейсах /ip/address/print # Если DHCP-клиент — проверяем получение адреса /ip/dhcp-client/print # status=bound — адрес получен # status=searching — не может получить адрес от провайдера # Если PPPoE — IP получается автоматически /interface/pppoe-client/print detail # Смотрим: remote-address, local-address
Шаг 3: проверяем маршрут по умолчанию
[admin@MikroTik] ># Таблица маршрутизации /ip/route/print where dst-address=0.0.0.0/0 # Должен быть хотя бы один active маршрут # Flags: A — active, S — static, D — dynamic (от DHCP/PPPoE) # Если маршрута нет — добавляем вручную /ip/route/add dst-address=0.0.0.0/0 gateway=<шлюз-провайдера> # Пингуем шлюз провайдера /ping <gateway-ip> count=5
Шаг 4: проверяем DNS
[admin@MikroTik] ># Настройки DNS /ip/dns/print # Тест разрешения имён /tool/dns-query name=google.com type=A # Если DNS не отвечает — пробуем по IP /ping 8.8.8.8 count=3 # Если ping по IP проходит, а DNS не работает — проблема в DNS # Устанавливаем DNS /ip/dns/set servers=8.8.8.8,1.1.1.1 allow-remote-requests=yes
Шаг 5: проверяем NAT (masquerade)
[admin@MikroTik] ># Правила NAT /ip/firewall/nat/print where chain=srcnat # Должно быть правило masquerade: # chain=srcnat action=masquerade out-interface=ether1 (или out-interface-list=WAN) # Если нет — создаём /ip/firewall/nat/add chain=srcnat action=masquerade \ out-interface-list=WAN comment="Masquerade to WAN" # Проверяем счётчики NAT — если bytes=0, правило не работает /ip/firewall/nat/print stats where chain=srcnat
Шаг 6: проверяем firewall
[admin@MikroTik] ># Возможно firewall блокирует трафик # Временно отключаем ВСЕ правила firewall (для диагностики!) /ip/firewall/filter/print # Смотрим правила с action=drop — какие из них срабатывают /ip/firewall/filter/print stats where action=drop # Если после отключения firewall интернет появляется — # проблема в правилах. Включаем по одному и находим проблемное. # Проверяем connection tracking /ip/firewall/connection/print count-only # Если число близко к лимиту — увеличиваем /ip/firewall/connection/tracking/print /ip/firewall/connection/tracking/set max-entries=65536
Шаг 7: общая проверка — Torch
[admin@MikroTik] ># Смотрим трафик на WAN-интерфейсе /tool/torch interface=ether1 src-address=0.0.0.0/0 dst-address=0.0.0.0/0 # Если трафик есть, но интернета нет — проблема за пределами роутера # Если трафика нет — проблема в маршрутизации или NAT на роутере
Проблема 2: низкая скорость интернета
Шаг 1: замеряем скорость
[admin@MikroTik] ># Bandwidth test к iperf-серверу в интернете /tool/bandwidth-test address=<iperf-server> \ protocol=tcp direction=both duration=15s # Проверяем скорость на WAN-интерфейсе /interface/monitor-traffic ether1 once # Проверяем нагрузку CPU /system/resource/print # Если CPU > 90% — роутер не справляется
Шаг 2: проверяем FastTrack
[admin@MikroTik] ># FastTrack ускоряет обработку established-соединений # Если его нет — каждый пакет проходит через все правила firewall /ip/firewall/filter/print where action=fasttrack-connection # Если нет — добавляем (ПЕРЕД правилами accept established) /ip/firewall/filter/add \ chain=forward \ action=fasttrack-connection \ connection-state=established,related \ hw-offload=yes \ comment="FastTrack" \ place-before=0 /ip/firewall/filter/add \ chain=forward \ action=accept \ connection-state=established,related \ comment="Accept FastTracked" \ place-before=1 # Проверяем что FastTrack работает /ip/firewall/filter/print stats where action=fasttrack-connection # bytes и packets должны расти
Шаг 3: проверяем очереди (Queues)
[admin@MikroTik] ># Simple Queues могут ограничивать скорость /queue/simple/print # Queue Trees /queue/tree/print # Если есть очереди с низким лимитом — увеличиваем или отключаем /queue/simple/set [find name="queue1"] max-limit=100M/100M # Или временно отключаем для теста /queue/simple/set [find] disabled=yes
Шаг 4: проверяем hardware offloading
[admin@MikroTik] ># HW offloading разгружает CPU, перенося коммутацию на чип /interface/bridge/print detail # hw=yes, hw-offload-group=switchX — работает # Порты bridge /interface/bridge/port/print # hw=yes — port участвует в HW offloading # Если hw=no — включаем /interface/bridge/port/set [find] hw=yes # FastPath для bridge /interface/bridge/settings/print # use-ip-firewall=no — FastPath работает (быстрее) # use-ip-firewall=yes — трафик идёт через CPU (медленнее, но можно фильтровать bridge-трафик)
Шаг 5: проверяем MTU
[admin@MikroTik] ># Неправильный MTU вызывает фрагментацию и снижает скорость /interface/print detail where name=ether1 # Смотрим: mtu, actual-mtu, l2mtu # Стандартный MTU = 1500 # Для PPPoE MTU = 1480 (или 1492) # Для VPN: WireGuard MTU = 1420, L2TP/IPsec MTU ≈ 1400 # Проверяем оптимальный MTU через ping /ping 8.8.8.8 size=1472 do-not-fragment count=5 # Если 100% packet loss — уменьшаем size на 8-10 и повторяем # Оптимальный MTU = size + 28 (IP header + ICMP header) # Устанавливаем MSS clamping (для PPPoE/VPN) /ip/firewall/mangle/add \ chain=forward \ protocol=tcp \ tcp-flags=syn \ action=change-mss \ new-mss=clamp-to-pmtu \ passthrough=yes \ comment="MSS clamping"
Шаг 6: проверяем Connection Tracking
[admin@MikroTik] ># Слишком много соединений перегружают CPU /ip/firewall/connection/print count-only # Если > 30000 — может быть проблема (торренты, ботнет) # Находим кто создаёт много соединений /ip/firewall/connection/print where src-address~"192.168.88" # Сортируем — ищем IP с наибольшим количеством # Ограничиваем количество соединений /ip/firewall/filter/add \ chain=forward \ protocol=tcp \ connection-limit=200,32 \ action=drop \ comment="Limit connections per IP" # Уменьшаем таймауты (освобождаем ресурсы) /ip/firewall/connection/tracking/set \ tcp-established-timeout=1h \ udp-timeout=30s
Проблема 3: Wi-Fi отключается / нестабильная работа
[admin@MikroTik] ># Проверяем состояние Wi-Fi интерфейса /interface/wifi/print # Должен быть: disabled=no, running=yes # Подключённые клиенты /interface/wifi/registration-table/print # signal-strength: -30..-65 dBm = отлично, -65..-75 = хорошо, < -80 = плохо # Детальная информация о клиентах /interface/wifi/registration-table/print detail # Смотрим: tx-rate, rx-rate, signal-strength, packets, frames
Каналы и интерференция:
[admin@MikroTik] ># Сканирование эфира — ищем свободные каналы /interface/wifi/scan wifi1 duration=10s # Текущий канал и мощность /interface/wifi/print detail # Смотрим: channel, tx-power # Устанавливаем оптимальный канал # 2.4 GHz: каналы 1, 6, 11 (не перекрываются) # 5 GHz: каналы без DFS лучше для стабильности /interface/wifi/set wifi1 \ channel.frequency=5180 \ channel.width=20/40/80mhz-XXXX # Уменьшаем мощность передатчика (слишком высокая мощность ≠ лучше) # Для квартиры достаточно 15-20 dBm /interface/wifi/set wifi1 \ configuration.tx-power=17
DFS-каналы:
[admin@MikroTik] ># DFS (Dynamic Frequency Selection) каналы (5250-5725 MHz) # Роутер обязан уходить с канала при обнаружении радара # Это вызывает обрыв Wi-Fi на 1-10 минут # Проверяем используем ли DFS /interface/wifi/print detail # Если channel в диапазоне 52-144 — это DFS # Переходим на не-DFS канал (36, 40, 44, 48 или 149, 153, 157, 161) /interface/wifi/set wifi1 \ channel.frequency=5180,5200,5220,5240
Режим совместимости:
[admin@MikroTik] ># Если старые устройства не подключаются /interface/wifi/print detail # Проверяем: security.authentication-types # Используем WPA2+WPA3 для совместимости /interface/wifi/security/set wifi-sec1 \ authentication-types=wpa2-psk,wpa3-psk # Для совместимости с очень старыми устройствами (не рекомендуется) # Убедитесь что поддержка legacy rates включена
Проблема 4: VPN не подключается
WireGuard: нет handshake
[admin@MikroTik] ># Проверяем WireGuard-интерфейс /interface/wireguard/print # running=yes — интерфейс активен # Проверяем пиры /interface/wireguard/peers/print # last-handshake — время последнего handshake # Если пусто — handshake не прошёл # Частые причины: # 1. Неверный public key # 2. Firewall блокирует UDP порт # 3. Нет маршрута до peer # Проверяем firewall /ip/firewall/filter/print where protocol=udp dst-port=13231 # Если нет accept-правила — добавляем /ip/firewall/filter/add \ chain=input \ protocol=udp \ dst-port=13231 \ action=accept \ comment="Allow WireGuard" \ place-before=0 # Проверяем что WireGuard-порт слушает /interface/wireguard/print detail # listen-port=13231 # Проверяем public key /interface/wireguard/print # Этот public-key нужно указать в конфиге клиента
L2TP/IPsec: ошибка proposals
[admin@MikroTik] ># Проверяем L2TP-сервер /interface/l2tp-server/server/print # enabled=yes # Проверяем IPsec proposals — часто причина несовпадения алгоритмов /ip/ipsec/proposal/print # auth-algorithms и enc-algorithms должны совпадать на обеих сторонах # Стандартные proposals для Windows/macOS/iOS: /ip/ipsec/proposal/set default \ auth-algorithms=sha256 \ enc-algorithms=aes-256-cbc \ pfs-group=modp2048 # Проверяем IPsec peers /ip/ipsec/active-peers/print # Если пусто — Phase 1 не проходит # Проверяем IPsec SA (Security Associations) /ip/ipsec/installed-sa/print # Если пусто — шифрование не установлено # Firewall: порты для L2TP/IPsec /ip/firewall/filter/add chain=input protocol=udp dst-port=500 action=accept \ comment="IPsec IKE" /ip/firewall/filter/add chain=input protocol=udp dst-port=4500 action=accept \ comment="IPsec NAT-T" /ip/firewall/filter/add chain=input protocol=ipsec-esp action=accept \ comment="IPsec ESP" /ip/firewall/filter/add chain=input protocol=udp dst-port=1701 action=accept \ comment="L2TP"
Общая VPN-диагностика:
[admin@MikroTik] ># Логи IPsec (включаем детальное логирование) /system/logging/add topics=ipsec,debug action=memory /log/print where topics~"ipsec" # Логи L2TP /system/logging/add topics=l2tp,debug action=memory /log/print where topics~"l2tp" # Проверяем NAT — VPN-трафик не должен NATироваться /ip/firewall/nat/print # Если masquerade стоит перед VPN — нужен bypass: /ip/firewall/nat/add \ chain=srcnat \ src-address=10.10.10.0/24 \ dst-address=10.10.10.0/24 \ action=accept \ comment="No NAT for VPN" \ place-before=0
Проблема 5: DHCP не выдаёт IP-адреса
[admin@MikroTik] ># Проверяем DHCP-сервер /ip/dhcp-server/print # disabled=no, interface=bridge (или нужный интерфейс) # Проверяем пул адресов /ip/pool/print # Смотрим ranges — достаточно ли адресов # Проверяем DHCP-сеть /ip/dhcp-server/network/print # address — должна совпадать с подсетью интерфейса # gateway — должен быть IP роутера в этой подсети # Проверяем активные лизы /ip/dhcp-server/lease/print # Если все адреса из пула заняты — расширяем пул # Проверяем что интерфейс bridge существует и IP назначен /interface/bridge/print /ip/address/print where interface=bridge
Типичная ошибка: DHCP-сервер на неправильном интерфейсе
[admin@MikroTik] ># DHCP-сервер должен быть на bridge, а не на отдельном ethernet-порту # (если порты добавлены в bridge) # Проверяем bridge ports /interface/bridge/port/print # ether2, ether3... должны быть в bridge # DHCP-сервер на bridge /ip/dhcp-server/print # interface=bridge (НЕ ether2) # Если нужно пересоздать /ip/dhcp-server/remove [find] /ip/dhcp-server/add name=dhcp-lan interface=bridge \ address-pool=dhcp-pool lease-time=1d disabled=no
Диагностика конкретного клиента:
[admin@MikroTik] ># Ищем клиента по MAC /ip/dhcp-server/lease/print where mac-address=AA:BB:CC:DD:EE:FF # Ищем по hostname /ip/dhcp-server/lease/print where host-name~"iPhone" # Лог DHCP /system/logging/add topics=dhcp action=memory /log/print where topics~"dhcp" # Типичные сообщения: # "assigned 192.168.88.100 to AA:BB:CC:DD:EE:FF" — выдан адрес # "no more addresses available" — пул исчерпан
Проблема 6: роутер недоступен после изменений
Это самая пугающая ситуация — вы сделали изменение и потеряли доступ к роутеру.
Способ 1: Safe Mode (если вы в ней были)
[admin@MikroTik] ># Safe Mode — включается комбинацией Ctrl+X в терминале # Все изменения отменяются если сессия разорвётся # ДО внесения опасных изменений: # Нажмите Ctrl+X — в prompt появится <SAFE> # Внесите изменения # Если доступ потерян — роутер сам откатит через 9 минут # Если всё ОК — нажмите Ctrl+X ещё раз для сохранения
Способ 2: System → Scheduler откат
[admin@MikroTik] ># ПЕРЕД опасными изменениями — создаём задачу отката # Планировщик выполнит откат через 5 минут /system/scheduler/add name="safety-rollback" \ start-time=[/system/clock/get time] \ interval=5m \ on-event="/system/backup/load name=before-changes" \ policy=read,write,ftp,reboot \ comment="Safety rollback — remove after successful change" # Делаем бэкап ПЕРЕД изменениями /system/backup/save name=before-changes # Вносим изменения # ... # Если всё ОК — удаляем задачу отката /system/scheduler/remove [find name="safety-rollback"]
Способ 3: физический доступ — reset button
Если SSH/Winbox/WebFig недоступны:
- Отключите питание роутера
- Зажмите кнопку Reset
- Подайте питание, не отпуская Reset
- Держите 5-10 секунд (LED начнёт мигать)
- Отпустите — роутер сбросится к заводским настройкам
После сброса: IP 192.168.88.1, логин admin, пароль пустой.
Способ 4: Serial Console
Если есть serial-порт (RB4011, CCR, RB5009):
[admin@MikroTik] ># Подключаем USB-serial кабель # Параметры: 115200 baud, 8N1 # Linux/macOS: # screen /dev/ttyUSB0 115200 # Windows: PuTTY → Serial → COM3 → 115200
Способ 5: Netinstall
Крайняя мера — полная переустановка RouterOS:
- Скачайте Netinstall с mikrotik.com
- Подключите ПК к ether1 (boot-порту) роутера
- Настройте статический IP на ПК:
192.168.88.2/24 - Запустите Netinstall, укажите IP
192.168.88.0/24 - Загрузите роутер с зажатой кнопкой Reset
- Netinstall обнаружит роутер — выберите firmware и Install
Проверка
Инструмент: Torch
Torch показывает трафик в реальном времени на интерфейсе:
[admin@MikroTik] ># Весь трафик на WAN /tool/torch interface=ether1 # Трафик конкретного клиента /tool/torch interface=bridge src-address=192.168.88.100/32 # Только DNS-трафик /tool/torch interface=bridge protocol=udp dst-port=53 # Только HTTPS /tool/torch interface=ether1 protocol=tcp dst-port=443 # Однократный снимок (для скрипта) /tool/torch interface=ether1 duration=5s
Инструмент: Packet Sniffer
Захват пакетов для детального анализа:
[admin@MikroTik] ># Настройка сниффера /tool/sniffer/set \ interface=ether1 \ filter-protocol=tcp \ filter-port=80,443 \ filter-address=192.168.88.100 \ file-name=capture \ file-limit=10000 \ memory-limit=100 # Запуск /tool/sniffer/start # Остановка /tool/sniffer/stop # Просмотр захваченных пакетов /tool/sniffer/packet/print # Сохранение в .pcap файл (для Wireshark) /tool/sniffer/save file-name=capture # Скачиваем файл через Winbox: Files → capture.pcap
Инструмент: Connection Tracker
[admin@MikroTik] ># Все активные соединения /ip/firewall/connection/print # Соединения конкретного клиента /ip/firewall/connection/print where src-address~"192.168.88.100" # Количество соединений по IP /ip/firewall/connection/print count-only # Статус connection tracking /ip/firewall/connection/tracking/print # total-entries — текущее количество # max-entries — максимум (увеличьте если total близко к max)
Инструмент: Log
[admin@MikroTik] ># Весь лог /log/print # Фильтр по теме /log/print where topics~"firewall" /log/print where topics~"dhcp" /log/print where topics~"ipsec" /log/print where topics~"wireless" # Фильтр по тексту /log/print where message~"error" /log/print where message~"failed" # Включаем расширенное логирование для отладки /system/logging/add topics=firewall,info action=memory /system/logging/add topics=ipsec,debug action=memory /system/logging/add topics=dhcp,debug action=memory # Отправка логов на syslog-сервер /system/logging/action/add name=remote target=remote \ remote=192.168.88.200 remote-port=514 /system/logging/add topics=critical action=remote
Инструмент: Supout.rif
Supout.rif — файл полной диагностики, содержащий конфигурацию, логи, состояние интерфейсов и ресурсов:
[admin@MikroTik] ># Генерация supout.rif /system/sup-output # Файл появится в Files → supout.rif # Скачайте через Winbox и загрузите на https://supout.mikrotik.com # Сервис MikroTik декодирует файл в читаемый формат
Инструмент: Profile — загрузка CPU
[admin@MikroTik] ># Показывает какие процессы нагружают CPU /tool/profile # Типичные "тяжёлые" процессы: # firewall — слишком много правил, нет FastTrack # management — Winbox/WebFig сессии # dns — много DNS-запросов (возможно DNS amplification) # encrypting — VPN-шифрование # queuing — очереди QoS
Чек-лист первой помощи: 10 шагов
[admin@MikroTik] ># Шаг 1: Проверить ресурсы /system/resource/print # CPU < 80%, RAM free > 20% # Шаг 2: Проверить интерфейсы /interface/print where running=yes # Шаг 3: Проверить IP-адреса /ip/address/print # Шаг 4: Проверить маршрут по умолчанию /ip/route/print where dst-address=0.0.0.0/0 active=yes # Шаг 5: Проверить DNS /ip/dns/print /tool/dns-query name=google.com # Шаг 6: Пинг наружу /ping 8.8.8.8 count=3 /ping google.com count=3 # Шаг 7: Проверить NAT /ip/firewall/nat/print stats where chain=srcnat # Шаг 8: Проверить firewall (drop-правила с большими счётчиками) /ip/firewall/filter/print stats where action=drop # Шаг 9: Проверить логи на ошибки /log/print where message~"error" # Шаг 10: Проверить NTP и часы /system/clock/print /system/ntp/client/print
Типичные ошибки
1. Изменил firewall — потерял доступ
Самая частая ошибка новичков: добавили правило drop all в chain=input без accept для Winbox/SSH.
Профилактика:
[admin@MikroTik] ># ВСЕГДА добавляйте правило для управления ПЕРЕД drop /ip/firewall/filter/add chain=input protocol=tcp \ dst-port=8291,22 src-address=192.168.88.0/24 \ action=accept comment="MGMT access - DO NOT REMOVE" \ place-before=0 # ВСЕГДА используйте Safe Mode для изменений firewall # Ctrl+X в терминале
2. Bridge с firewall — скорость падает вдвое
[admin@MikroTik] ># Если включён use-ip-firewall в bridge settings, # весь bridge-трафик проходит через CPU (медленно) /interface/bridge/settings/print # Отключаем если не нужна фильтрация bridge-трафика /interface/bridge/settings/set use-ip-firewall=no # Включаем HW offloading /interface/bridge/set bridge1 hw=yes
3. DNS loop — роутер как DNS-сервер указывает на себя
[admin@MikroTik] ># Если в DNS servers указан 127.0.0.1 или IP роутера — DNS-loop /ip/dns/print # servers НЕ должен содержать IP роутера # Правильно: /ip/dns/set servers=8.8.8.8,1.1.1.1
4. Двойной NAT
[admin@MikroTik] ># Если перед MikroTik стоит роутер провайдера, который тоже делает NAT # Результат: двойной NAT → проблемы с VPN, играми, торрентами # Диагностика: /ip/address/print where interface=ether1 # Если WAN-адрес из диапазона 10.x, 172.16-31.x, 192.168.x — двойной NAT # Решение: перевести роутер провайдера в режим bridge # Или настроить DMZ на провайдерском роутере
5. Connection Tracking переполнен
[admin@MikroTik] ># Симптомы: новые соединения не создаются, страницы не открываются /ip/firewall/connection/tracking/print # Если total-entries ≈ max-entries — таблица полна # Увеличиваем лимит /ip/firewall/connection/tracking/set max-entries=65536 # Находим источник проблемы /ip/firewall/connection/print count-only where src-address=192.168.88.100 # Если один IP создаёт тысячи соединений — возможно malware # Уменьшаем таймауты /ip/firewall/connection/tracking/set \ tcp-established-timeout=30m \ tcp-close-wait-timeout=10s \ udp-timeout=30s
6. Забыл пароль admin
[admin@MikroTik] ># Если есть другой пользователь с full-правами — входим под ним # Если нет — только полный сброс # Сброс через Reset button: # 1. Выключить роутер # 2. Зажать Reset # 3. Включить, держать Reset 5 секунд # 4. Отпустить → заводские настройки (пароль пустой) # После сброса — немедленно установить пароль /user/set admin password="NewSecurePass!2025"
7. Нет доступа в интернет после обновления RouterOS
[admin@MikroTik] ># После обновления RouterOS 6 → 7 меняется синтаксис # Некоторые настройки могут сброситься # Проверяем критические настройки /ip/firewall/nat/print /ip/route/print /ip/dns/print # Если пропал masquerade /ip/firewall/nat/add chain=srcnat action=masquerade \ out-interface-list=WAN # Если пропал маршрут /ip/dhcp-client/print # Проверяем add-default-route=yes # Перезагружаем после обновления (если ещё не перезагружали) /system/reboot
8. Wi-Fi работает, но нет интернета через Wi-Fi
[admin@MikroTik] ># Типичная причина: Wi-Fi интерфейс не добавлен в bridge /interface/bridge/port/print # Если wifi1/wifi2 отсутствует — добавляем /interface/bridge/port/add interface=wifi1 bridge=bridge # Или DHCP-сервер на bridge, а Wi-Fi не в bridge # После добавления Wi-Fi в bridge — клиенты получат IP из правильного пула
9. Не работает после отключения питания
[admin@MikroTik] ># RouterOS хранит конфигурацию в NVRAM — она сохраняется при выключении # Но несохранённые скрипты и файлы могут пропасть # Если после включения часть настроек пропала: # Возможно использовались temporary настройки (без save) # Или повреждена NVRAM (редко) # Проверяем состояние системы /system/resource/print /system/routerboard/print # Если всё плохо — восстанавливаем из бэкапа /system/backup/load name=last-good-backup # Профилактика: регулярные бэкапы /system/scheduler/add name=daily-backup interval=1d \ on-event="/system/backup/save name=auto-backup dont-encrypt=yes" \ policy=read,write,ftp,reboot
10. Утечка памяти — роутер перезагружается
[admin@MikroTik] ># Если роутер периодически перезагружается сам /system/resource/print # Смотрим free-memory — если близко к 0, роутер перезагрузится # Проверяем что ест память /system/resource/print # total-hdd-space, free-hdd-space — файлы могут заполнить диск # Удаляем ненужные файлы /file/print /file/remove [find name~".backup" type="backup"] # Проверяем нет ли утечки в скриптах /system/script/print /system/scheduler/print # Скрипт с глобальными переменными может "утекать" # Обновляем RouterOS — в новых версиях исправляют утечки /system/package/update/check-for-updates /system/package/update/install
1. Определить симптом (что именно не работает)
│
2. Проверить физику (кабели, индикаторы, питание)
│
3. Ping → есть ли связность (L3)
│
4. Traceroute → где обрывается маршрут
│
5. Torch → есть ли трафик на интерфейсе
│
6. Packet Sniffer → что именно идёт в пакетах
│
7. Log → системные события и ошибки
│
8. Изоляция → отключаем по одному (firewall, NAT, Queue)
│
9. Решение → применяем исправление
│
10. Документирование → записываем что было и как починили
# Статус WAN-интерфейса (ether1)
/interface/print where name=ether1
# running=yes — кабель подключён, link есть
# running=no — нет link (кабель, порт провайдера)
# Детальный мониторинг порта
/interface/ethernet/monitor ether1 once
# Смотрим: status, rate, full-duplex
# Если PPPoE — проверяем статус сессии
/interface/pppoe-client/print
# status=connected — сессия активна
# status=dialing — пытается подключиться
# IP-адреса на всех интерфейсах
/ip/address/print
# Если DHCP-клиент — проверяем получение адреса
/ip/dhcp-client/print
# status=bound — адрес получен
# status=searching — не может получить адрес от провайдера
# Если PPPoE — IP получается автоматически
/interface/pppoe-client/print detail
# Смотрим: remote-address, local-address
# Таблица маршрутизации
/ip/route/print where dst-address=0.0.0.0/0
# Должен быть хотя бы один active маршрут
# Flags: A — active, S — static, D — dynamic (от DHCP/PPPoE)
# Если маршрута нет — добавляем вручную
/ip/route/add dst-address=0.0.0.0/0 gateway=<шлюз-провайдера>
# Пингуем шлюз провайдера
/ping <gateway-ip> count=5
# Настройки DNS
/ip/dns/print
# Тест разрешения имён
/tool/dns-query name=google.com type=A
# Если DNS не отвечает — пробуем по IP
/ping 8.8.8.8 count=3
# Если ping по IP проходит, а DNS не работает — проблема в DNS
# Устанавливаем DNS
/ip/dns/set servers=8.8.8.8,1.1.1.1 allow-remote-requests=yes
# Правила NAT
/ip/firewall/nat/print where chain=srcnat
# Должно быть правило masquerade:
# chain=srcnat action=masquerade out-interface=ether1 (или out-interface-list=WAN)
# Если нет — создаём
/ip/firewall/nat/add chain=srcnat action=masquerade \
out-interface-list=WAN comment="Masquerade to WAN"
# Проверяем счётчики NAT — если bytes=0, правило не работает
/ip/firewall/nat/print stats where chain=srcnat
# Возможно firewall блокирует трафик
# Временно отключаем ВСЕ правила firewall (для диагностики!)
/ip/firewall/filter/print
# Смотрим правила с action=drop — какие из них срабатывают
/ip/firewall/filter/print stats where action=drop
# Если после отключения firewall интернет появляется —
# проблема в правилах. Включаем по одному и находим проблемное.
# Проверяем connection tracking
/ip/firewall/connection/print count-only
# Если число близко к лимиту — увеличиваем
/ip/firewall/connection/tracking/print
/ip/firewall/connection/tracking/set max-entries=65536
# Смотрим трафик на WAN-интерфейсе
/tool/torch interface=ether1 src-address=0.0.0.0/0 dst-address=0.0.0.0/0
# Если трафик есть, но интернета нет — проблема за пределами роутера
# Если трафика нет — проблема в маршрутизации или NAT на роутере
# Bandwidth test к iperf-серверу в интернете
/tool/bandwidth-test address=<iperf-server> \
protocol=tcp direction=both duration=15s
# Проверяем скорость на WAN-интерфейсе
/interface/monitor-traffic ether1 once
# Проверяем нагрузку CPU
/system/resource/print
# Если CPU > 90% — роутер не справляется
# FastTrack ускоряет обработку established-соединений
# Если его нет — каждый пакет проходит через все правила firewall
/ip/firewall/filter/print where action=fasttrack-connection
# Если нет — добавляем (ПЕРЕД правилами accept established)
/ip/firewall/filter/add \
chain=forward \
action=fasttrack-connection \
connection-state=established,related \
hw-offload=yes \
comment="FastTrack" \
place-before=0
/ip/firewall/filter/add \
chain=forward \
action=accept \
connection-state=established,related \
comment="Accept FastTracked" \
place-before=1
# Проверяем что FastTrack работает
/ip/firewall/filter/print stats where action=fasttrack-connection
# bytes и packets должны расти
# Simple Queues могут ограничивать скорость
/queue/simple/print
# Queue Trees
/queue/tree/print
# Если есть очереди с низким лимитом — увеличиваем или отключаем
/queue/simple/set [find name="queue1"] max-limit=100M/100M
# Или временно отключаем для теста
/queue/simple/set [find] disabled=yes
# HW offloading разгружает CPU, перенося коммутацию на чип
/interface/bridge/print detail
# hw=yes, hw-offload-group=switchX — работает
# Порты bridge
/interface/bridge/port/print
# hw=yes — port участвует в HW offloading
# Если hw=no — включаем
/interface/bridge/port/set [find] hw=yes
# FastPath для bridge
/interface/bridge/settings/print
# use-ip-firewall=no — FastPath работает (быстрее)
# use-ip-firewall=yes — трафик идёт через CPU (медленнее, но можно фильтровать bridge-трафик)
# Неправильный MTU вызывает фрагментацию и снижает скорость
/interface/print detail where name=ether1
# Смотрим: mtu, actual-mtu, l2mtu
# Стандартный MTU = 1500
# Для PPPoE MTU = 1480 (или 1492)
# Для VPN: WireGuard MTU = 1420, L2TP/IPsec MTU ≈ 1400
# Проверяем оптимальный MTU через ping
/ping 8.8.8.8 size=1472 do-not-fragment count=5
# Если 100% packet loss — уменьшаем size на 8-10 и повторяем
# Оптимальный MTU = size + 28 (IP header + ICMP header)
# Устанавливаем MSS clamping (для PPPoE/VPN)
/ip/firewall/mangle/add \
chain=forward \
protocol=tcp \
tcp-flags=syn \
action=change-mss \
new-mss=clamp-to-pmtu \
passthrough=yes \
comment="MSS clamping"
# Слишком много соединений перегружают CPU
/ip/firewall/connection/print count-only
# Если > 30000 — может быть проблема (торренты, ботнет)
# Находим кто создаёт много соединений
/ip/firewall/connection/print where src-address~"192.168.88"
# Сортируем — ищем IP с наибольшим количеством
# Ограничиваем количество соединений
/ip/firewall/filter/add \
chain=forward \
protocol=tcp \
connection-limit=200,32 \
action=drop \
comment="Limit connections per IP"
# Уменьшаем таймауты (освобождаем ресурсы)
/ip/firewall/connection/tracking/set \
tcp-established-timeout=1h \
udp-timeout=30s
# Проверяем состояние Wi-Fi интерфейса
/interface/wifi/print
# Должен быть: disabled=no, running=yes
# Подключённые клиенты
/interface/wifi/registration-table/print
# signal-strength: -30..-65 dBm = отлично, -65..-75 = хорошо, < -80 = плохо
# Детальная информация о клиентах
/interface/wifi/registration-table/print detail
# Смотрим: tx-rate, rx-rate, signal-strength, packets, frames
# Сканирование эфира — ищем свободные каналы
/interface/wifi/scan wifi1 duration=10s
# Текущий канал и мощность
/interface/wifi/print detail
# Смотрим: channel, tx-power
# Устанавливаем оптимальный канал
# 2.4 GHz: каналы 1, 6, 11 (не перекрываются)
# 5 GHz: каналы без DFS лучше для стабильности
/interface/wifi/set wifi1 \
channel.frequency=5180 \
channel.width=20/40/80mhz-XXXX
# Уменьшаем мощность передатчика (слишком высокая мощность ≠ лучше)
# Для квартиры достаточно 15-20 dBm
/interface/wifi/set wifi1 \
configuration.tx-power=17
# DFS (Dynamic Frequency Selection) каналы (5250-5725 MHz)
# Роутер обязан уходить с канала при обнаружении радара
# Это вызывает обрыв Wi-Fi на 1-10 минут
# Проверяем используем ли DFS
/interface/wifi/print detail
# Если channel в диапазоне 52-144 — это DFS
# Переходим на не-DFS канал (36, 40, 44, 48 или 149, 153, 157, 161)
/interface/wifi/set wifi1 \
channel.frequency=5180,5200,5220,5240
# Если старые устройства не подключаются
/interface/wifi/print detail
# Проверяем: security.authentication-types
# Используем WPA2+WPA3 для совместимости
/interface/wifi/security/set wifi-sec1 \
authentication-types=wpa2-psk,wpa3-psk
# Для совместимости с очень старыми устройствами (не рекомендуется)
# Убедитесь что поддержка legacy rates включена
# Проверяем WireGuard-интерфейс
/interface/wireguard/print
# running=yes — интерфейс активен
# Проверяем пиры
/interface/wireguard/peers/print
# last-handshake — время последнего handshake
# Если пусто — handshake не прошёл
# Частые причины:
# 1. Неверный public key
# 2. Firewall блокирует UDP порт
# 3. Нет маршрута до peer
# Проверяем firewall
/ip/firewall/filter/print where protocol=udp dst-port=13231
# Если нет accept-правила — добавляем
/ip/firewall/filter/add \
chain=input \
protocol=udp \
dst-port=13231 \
action=accept \
comment="Allow WireGuard" \
place-before=0
# Проверяем что WireGuard-порт слушает
/interface/wireguard/print detail
# listen-port=13231
# Проверяем public key
/interface/wireguard/print
# Этот public-key нужно указать в конфиге клиента
# Проверяем L2TP-сервер
/interface/l2tp-server/server/print
# enabled=yes
# Проверяем IPsec proposals — часто причина несовпадения алгоритмов
/ip/ipsec/proposal/print
# auth-algorithms и enc-algorithms должны совпадать на обеих сторонах
# Стандартные proposals для Windows/macOS/iOS:
/ip/ipsec/proposal/set default \
auth-algorithms=sha256 \
enc-algorithms=aes-256-cbc \
pfs-group=modp2048
# Проверяем IPsec peers
/ip/ipsec/active-peers/print
# Если пусто — Phase 1 не проходит
# Проверяем IPsec SA (Security Associations)
/ip/ipsec/installed-sa/print
# Если пусто — шифрование не установлено
# Firewall: порты для L2TP/IPsec
/ip/firewall/filter/add chain=input protocol=udp dst-port=500 action=accept \
comment="IPsec IKE"
/ip/firewall/filter/add chain=input protocol=udp dst-port=4500 action=accept \
comment="IPsec NAT-T"
/ip/firewall/filter/add chain=input protocol=ipsec-esp action=accept \
comment="IPsec ESP"
/ip/firewall/filter/add chain=input protocol=udp dst-port=1701 action=accept \
comment="L2TP"
# Логи IPsec (включаем детальное логирование)
/system/logging/add topics=ipsec,debug action=memory
/log/print where topics~"ipsec"
# Логи L2TP
/system/logging/add topics=l2tp,debug action=memory
/log/print where topics~"l2tp"
# Проверяем NAT — VPN-трафик не должен NATироваться
/ip/firewall/nat/print
# Если masquerade стоит перед VPN — нужен bypass:
/ip/firewall/nat/add \
chain=srcnat \
src-address=10.10.10.0/24 \
dst-address=10.10.10.0/24 \
action=accept \
comment="No NAT for VPN" \
place-before=0
# Проверяем DHCP-сервер
/ip/dhcp-server/print
# disabled=no, interface=bridge (или нужный интерфейс)
# Проверяем пул адресов
/ip/pool/print
# Смотрим ranges — достаточно ли адресов
# Проверяем DHCP-сеть
/ip/dhcp-server/network/print
# address — должна совпадать с подсетью интерфейса
# gateway — должен быть IP роутера в этой подсети
# Проверяем активные лизы
/ip/dhcp-server/lease/print
# Если все адреса из пула заняты — расширяем пул
# Проверяем что интерфейс bridge существует и IP назначен
/interface/bridge/print
/ip/address/print where interface=bridge
# DHCP-сервер должен быть на bridge, а не на отдельном ethernet-порту
# (если порты добавлены в bridge)
# Проверяем bridge ports
/interface/bridge/port/print
# ether2, ether3... должны быть в bridge
# DHCP-сервер на bridge
/ip/dhcp-server/print
# interface=bridge (НЕ ether2)
# Если нужно пересоздать
/ip/dhcp-server/remove [find]
/ip/dhcp-server/add name=dhcp-lan interface=bridge \
address-pool=dhcp-pool lease-time=1d disabled=no
# Ищем клиента по MAC
/ip/dhcp-server/lease/print where mac-address=AA:BB:CC:DD:EE:FF
# Ищем по hostname
/ip/dhcp-server/lease/print where host-name~"iPhone"
# Лог DHCP
/system/logging/add topics=dhcp action=memory
/log/print where topics~"dhcp"
# Типичные сообщения:
# "assigned 192.168.88.100 to AA:BB:CC:DD:EE:FF" — выдан адрес
# "no more addresses available" — пул исчерпан
# Safe Mode — включается комбинацией Ctrl+X в терминале
# Все изменения отменяются если сессия разорвётся
# ДО внесения опасных изменений:
# Нажмите Ctrl+X — в prompt появится <SAFE>
# Внесите изменения
# Если доступ потерян — роутер сам откатит через 9 минут
# Если всё ОК — нажмите Ctrl+X ещё раз для сохранения
# ПЕРЕД опасными изменениями — создаём задачу отката
# Планировщик выполнит откат через 5 минут
/system/scheduler/add name="safety-rollback" \
start-time=[/system/clock/get time] \
interval=5m \
on-event="/system/backup/load name=before-changes" \
policy=read,write,ftp,reboot \
comment="Safety rollback — remove after successful change"
# Делаем бэкап ПЕРЕД изменениями
/system/backup/save name=before-changes
# Вносим изменения
# ...
# Если всё ОК — удаляем задачу отката
/system/scheduler/remove [find name="safety-rollback"]
# Подключаем USB-serial кабель
# Параметры: 115200 baud, 8N1
# Linux/macOS:
# screen /dev/ttyUSB0 115200
# Windows: PuTTY → Serial → COM3 → 115200
# Весь трафик на WAN
/tool/torch interface=ether1
# Трафик конкретного клиента
/tool/torch interface=bridge src-address=192.168.88.100/32
# Только DNS-трафик
/tool/torch interface=bridge protocol=udp dst-port=53
# Только HTTPS
/tool/torch interface=ether1 protocol=tcp dst-port=443
# Однократный снимок (для скрипта)
/tool/torch interface=ether1 duration=5s
# Настройка сниффера
/tool/sniffer/set \
interface=ether1 \
filter-protocol=tcp \
filter-port=80,443 \
filter-address=192.168.88.100 \
file-name=capture \
file-limit=10000 \
memory-limit=100
# Запуск
/tool/sniffer/start
# Остановка
/tool/sniffer/stop
# Просмотр захваченных пакетов
/tool/sniffer/packet/print
# Сохранение в .pcap файл (для Wireshark)
/tool/sniffer/save file-name=capture
# Скачиваем файл через Winbox: Files → capture.pcap
# Все активные соединения
/ip/firewall/connection/print
# Соединения конкретного клиента
/ip/firewall/connection/print where src-address~"192.168.88.100"
# Количество соединений по IP
/ip/firewall/connection/print count-only
# Статус connection tracking
/ip/firewall/connection/tracking/print
# total-entries — текущее количество
# max-entries — максимум (увеличьте если total близко к max)
# Весь лог
/log/print
# Фильтр по теме
/log/print where topics~"firewall"
/log/print where topics~"dhcp"
/log/print where topics~"ipsec"
/log/print where topics~"wireless"
# Фильтр по тексту
/log/print where message~"error"
/log/print where message~"failed"
# Включаем расширенное логирование для отладки
/system/logging/add topics=firewall,info action=memory
/system/logging/add topics=ipsec,debug action=memory
/system/logging/add topics=dhcp,debug action=memory
# Отправка логов на syslog-сервер
/system/logging/action/add name=remote target=remote \
remote=192.168.88.200 remote-port=514
/system/logging/add topics=critical action=remote
# Генерация supout.rif
/system/sup-output
# Файл появится в Files → supout.rif
# Скачайте через Winbox и загрузите на https://supout.mikrotik.com
# Сервис MikroTik декодирует файл в читаемый формат
# Показывает какие процессы нагружают CPU
/tool/profile
# Типичные "тяжёлые" процессы:
# firewall — слишком много правил, нет FastTrack
# management — Winbox/WebFig сессии
# dns — много DNS-запросов (возможно DNS amplification)
# encrypting — VPN-шифрование
# queuing — очереди QoS
# Шаг 1: Проверить ресурсы
/system/resource/print
# CPU < 80%, RAM free > 20%
# Шаг 2: Проверить интерфейсы
/interface/print where running=yes
# Шаг 3: Проверить IP-адреса
/ip/address/print
# Шаг 4: Проверить маршрут по умолчанию
/ip/route/print where dst-address=0.0.0.0/0 active=yes
# Шаг 5: Проверить DNS
/ip/dns/print
/tool/dns-query name=google.com
# Шаг 6: Пинг наружу
/ping 8.8.8.8 count=3
/ping google.com count=3
# Шаг 7: Проверить NAT
/ip/firewall/nat/print stats where chain=srcnat
# Шаг 8: Проверить firewall (drop-правила с большими счётчиками)
/ip/firewall/filter/print stats where action=drop
# Шаг 9: Проверить логи на ошибки
/log/print where message~"error"
# Шаг 10: Проверить NTP и часы
/system/clock/print
/system/ntp/client/print
# ВСЕГДА добавляйте правило для управления ПЕРЕД drop
/ip/firewall/filter/add chain=input protocol=tcp \
dst-port=8291,22 src-address=192.168.88.0/24 \
action=accept comment="MGMT access - DO NOT REMOVE" \
place-before=0
# ВСЕГДА используйте Safe Mode для изменений firewall
# Ctrl+X в терминале
# Если включён use-ip-firewall в bridge settings,
# весь bridge-трафик проходит через CPU (медленно)
/interface/bridge/settings/print
# Отключаем если не нужна фильтрация bridge-трафика
/interface/bridge/settings/set use-ip-firewall=no
# Включаем HW offloading
/interface/bridge/set bridge1 hw=yes
# Если в DNS servers указан 127.0.0.1 или IP роутера — DNS-loop
/ip/dns/print
# servers НЕ должен содержать IP роутера
# Правильно:
/ip/dns/set servers=8.8.8.8,1.1.1.1
# Если перед MikroTik стоит роутер провайдера, который тоже делает NAT
# Результат: двойной NAT → проблемы с VPN, играми, торрентами
# Диагностика:
/ip/address/print where interface=ether1
# Если WAN-адрес из диапазона 10.x, 172.16-31.x, 192.168.x — двойной NAT
# Решение: перевести роутер провайдера в режим bridge
# Или настроить DMZ на провайдерском роутере
# Симптомы: новые соединения не создаются, страницы не открываются
/ip/firewall/connection/tracking/print
# Если total-entries ≈ max-entries — таблица полна
# Увеличиваем лимит
/ip/firewall/connection/tracking/set max-entries=65536
# Находим источник проблемы
/ip/firewall/connection/print count-only where src-address=192.168.88.100
# Если один IP создаёт тысячи соединений — возможно malware
# Уменьшаем таймауты
/ip/firewall/connection/tracking/set \
tcp-established-timeout=30m \
tcp-close-wait-timeout=10s \
udp-timeout=30s
# Если есть другой пользователь с full-правами — входим под ним
# Если нет — только полный сброс
# Сброс через Reset button:
# 1. Выключить роутер
# 2. Зажать Reset
# 3. Включить, держать Reset 5 секунд
# 4. Отпустить → заводские настройки (пароль пустой)
# После сброса — немедленно установить пароль
/user/set admin password="NewSecurePass!2025"
# После обновления RouterOS 6 → 7 меняется синтаксис
# Некоторые настройки могут сброситься
# Проверяем критические настройки
/ip/firewall/nat/print
/ip/route/print
/ip/dns/print
# Если пропал masquerade
/ip/firewall/nat/add chain=srcnat action=masquerade \
out-interface-list=WAN
# Если пропал маршрут
/ip/dhcp-client/print
# Проверяем add-default-route=yes
# Перезагружаем после обновления (если ещё не перезагружали)
/system/reboot
# Типичная причина: Wi-Fi интерфейс не добавлен в bridge
/interface/bridge/port/print
# Если wifi1/wifi2 отсутствует — добавляем
/interface/bridge/port/add interface=wifi1 bridge=bridge
# Или DHCP-сервер на bridge, а Wi-Fi не в bridge
# После добавления Wi-Fi в bridge — клиенты получат IP из правильного пула
# RouterOS хранит конфигурацию в NVRAM — она сохраняется при выключении
# Но несохранённые скрипты и файлы могут пропасть
# Если после включения часть настроек пропала:
# Возможно использовались temporary настройки (без save)
# Или повреждена NVRAM (редко)
# Проверяем состояние системы
/system/resource/print
/system/routerboard/print
# Если всё плохо — восстанавливаем из бэкапа
/system/backup/load name=last-good-backup
# Профилактика: регулярные бэкапы
/system/scheduler/add name=daily-backup interval=1d \
on-event="/system/backup/save name=auto-backup dont-encrypt=yes" \
policy=read,write,ftp,reboot
# Если роутер периодически перезагружается сам
/system/resource/print
# Смотрим free-memory — если близко к 0, роутер перезагрузится
# Проверяем что ест память
/system/resource/print
# total-hdd-space, free-hdd-space — файлы могут заполнить диск
# Удаляем ненужные файлы
/file/print
/file/remove [find name~".backup" type="backup"]
# Проверяем нет ли утечки в скриптах
/system/script/print
/system/scheduler/print
# Скрипт с глобальными переменными может "утекать"
# Обновляем RouterOS — в новых версиях исправляют утечки
/system/package/update/check-for-updates
/system/package/update/install