Теперь всё через wifiwave2: создай configuration profile командой /interface/wifiwave2/configuration add, примени к интерфейсу через set wifi1 configuration=имя-профиля disabled=no.
Клиентов ищи через /interface/wifiwave2/registration-table/print.
Если после обновления ничего не работает — это не баг, это новая архитектура. Читай дальше.
Диагноз: обновился на ROS 7 и остался без WiFi
Обновил прошивку. Зашёл в Winbox. /interface wireless — пустой. Клиенты не подключаются. В логах тишина. Классика.
ROS 7 убил старый пакет wireless и заменил его на wifiwave2. Тихо, без предупреждения, без автомиграции конфигурации. Просто убил и положил рядом новое. Разбирайся сам.
В большинстве случаев причина проблем одна: пытаешься применить логику ROS 6 к ROS 7. Не работает. Структура другая, параметры другие, даже путь в CLI другой.
Что получишь на выходе: понимание архитектуры wifiwave2, готовые конфиги для офиса и гостевой сети, настройку CAPsMAN, VLAN-изоляцию, роуминг 802.11r, разбор типовых ошибок и скрипты мониторинга. Времени: час на первичную настройку, 15 минут на диагностику по чек-листу.
Что нужно: MikroTik с ROS 7.x, железо с поддержкой wifiwave2 (hAP ax², ax³, Audience, cAP ax и другие ax-серия), права администратора.
Wifiwave2 vs Wireless: что изменилось и почему
Главное изменение — не в интерфейсе, а в логике. Раньше ты настраивал параметры прямо на интерфейсе. Теперь создаёшь профиль (configuration), а потом применяешь его к одному или нескольким интерфейсам.
| Параметр | Wireless (ROS 6) | Wifiwave2 (ROS 7) |
|---|---|---|
| Путь в CLI | /interface wireless | /interface/wifiwave2 |
| Конфигурация | Прямо на интерфейсе | Отдельные configuration profiles |
| Wi-Fi 6 (802.11ax) | Нет | Да |
| WPA3 | Нет | Да |
| 802.11r Fast Roaming | Костыльно | Нативно |
| MU-MIMO | Ограниченно | Полная поддержка |
| ACS (Auto Channel) | scan-list | channel.frequency=»» |
| CCA Threshold | Есть | Нет прямого параметра |
| RTS/Fragmentation | Есть | Нет явно |
| CAPsMAN | Отдельный пакет | Встроен в wifiwave2 |
| Детальные логи | Развёрнутые | Скромнее |
Экспорт старой конфигурации перед обновлением — если ещё не поздно:
# На ROS 6, до обновления:
/interface wireless export file=wifi-backup
# Файл ляжет в Files. Сохрани - потом хотя бы будет с чего переписывать вручную.
Базовая настройка WiFi MikroTik ROS 7: минималка за 5 минут
Сначала — рабочая сеть. Потом — тонкая настройка. Не наоборот.
Шаг 1 — Проверить что wifiwave2 вообще есть
# Проверить наличие пакета wifiwave2:
/system/package/print
# Ищем строку с wifiwave2 и статусом installed
# Если пакета нет - скачать с mikrotik.com под свою архитектуру (arm, arm64, mipsbe)
# и установить через /system/package/upload
# Проверить интерфейсы:
/interface/wifiwave2/print
# Должны быть wifi1, wifi2 (2.4GHz и 5GHz)
Шаг 2 — Создать configuration profile
/interface/wifiwave2/configuration
add name=cfg-office \
ssid=Office-WiFi \
country=Russia \
security.authentication-types=wpa2-psk,wpa3-psk \
security.passphrase=StrongPassword123
Шаг 3 — Применить к интерфейсу
/interface/wifiwave2
set wifi1 configuration=cfg-office disabled=no
Шаг 4 — Убедиться что работает
# Статус интерфейса:
/interface/wifiwave2/print detail
# Клиенты (если уже кто-то подключился):
/interface/wifiwave2/registration-table/print
# Монитор в реальном времени:
/interface/wifiwave2/monitor wifi1
Готово. Базовая сеть живёт. Теперь делаем её нормальной.
Настройка каналов WiFi MikroTik: борьба с помехами
Неправильный канал — главная причина жалоб «тормозит wifi mikrotik» и «клиенты отключаются». Не мощность, не железо. Канал.
Сканирование эфира — смотрим что вокруг
# Сканировать 30 секунд (10 - мало, картина неполная):
/interface/wifiwave2/scan wifi1 duration=30s
# Результат: SSID, канал, сигнал, загруженность
# Ищем каналы где минимум соседей с сильным сигналом (> -60 dBm)
Ручной выбор канала
# 2.4GHz - только 1, 6 или 11. Они не пересекаются. Остальные - яд.
/interface/wifiwave2/configuration
set cfg-office channel.frequency=2412 channel.width=20mhz
# 2412=канал1, 2437=канал6, 2462=канал11
# 5GHz без DFS (каналы 36-48 и 149-165):
/interface/wifiwave2/configuration
set cfg-office channel.frequency=5180 channel.width=40mhz
# 5180=36, 5200=40, 5220=44, 5240=48
# Исключить DFS-каналы (52-144) - радары заставят переключиться без предупреждения:
set cfg-office channel.skip-dfs-channels=yes
Ширина канала — правило простое: 2.4GHz → только 20MHz (40MHz создаёт помех больше чем даёт скорости). 5GHz в офисе → 40MHz. 5GHz дома где нет соседей → 80MHz. 160MHz → оставь в покое, пока не знаешь точно зачем.
ACS — автоматический выбор канала
# Пустое значение frequency = ACS:
/interface/wifiwave2/configuration
set cfg-office channel.frequency="" channel.width=40mhz
# Ограничить ACS только безопасными каналами (без DFS):
set cfg-office channel.frequency=5180-5240,5745-5825 channel.width=40mhz
# Диапазон 36-48 и 149-165 - без радаров, без неожиданностей
TX Power и MU-MIMO: мощность не равно покрытие
Частая ошибка — выкрутить TX power на максимум. Интуиция понятна. Результат противоположный ожидаемому.
Телефон передаёт на 20 dBm. Роутер орёт на 30. Роутер слышит телефон, телефон роутер — еле-еле. Итог: подключение есть, пакеты теряются, скорость никакая. Плюс помехи всем соседям. Они поднимают мощность. Гонка вооружений. Проигрывают все.
TX Power настройка
# Посмотреть текущую мощность:
/interface/wifiwave2/print detail
# Ищем tx-power=
# Установить оптимальную мощность:
/interface/wifiwave2
set wifi1 configuration.tx-power=20
# dBm. Для офиса 15-20, для склада 23-27, для улицы - максимум.
MU-MIMO и Wi-Fi 6 режимы
# MU-MIMO (передача нескольким клиентам одновременно):
/interface/wifiwave2/configuration
set cfg-office mimo.mode=multi-user
# Режим Wi-Fi 6 (обратно совместимый - рекомендую):
set cfg-office mode=ax
# ax = Wi-Fi 6 приоритетно, но ac/n/g тоже работают
# Только Wi-Fi 6 (для сетей где всё железо новое):
set cfg-office mode=ax-only
# Band steering: переводить клиентов с 2.4GHz на 5GHz если поддерживают:
set cfg-office steering.enabled=yes steering.prefer-5ghz=yes
VLAN и Bridge для Wifiwave2: гостевая сеть с изоляцией
Самый частый запрос после базовой настройки — гостевая сеть. Отдельный SSID, своя подсеть, без доступа к локалке. В wifiwave2 это решается через datapath и VLAN на бридже.
Архитектура: что куда смотрит
Схема 1: Разделение корпоративной и гостевой сети MikroTik через VLAN на bridge. Firewall блокирует доступ гостей в локальную сеть.
Настройка VLAN + Bridge для Wifiwave2
# 1. VLAN для гостевой сети на бридже:
/interface/vlan
add interface=bridge name=vlan-guest vlan-id=99
# 2. IP для гостевого VLAN:
/ip/address
add address=192.168.99.1/24 interface=vlan-guest
# 3. DHCP-пул и сервер для гостей:
/ip/pool
add name=pool-guest ranges=192.168.99.100-192.168.99.200
/ip/dhcp-server
add address-pool=pool-guest interface=vlan-guest name=dhcp-guest disabled=no
/ip/dhcp-server/network
add address=192.168.99.0/24 gateway=192.168.99.1 dns-server=8.8.8.8
# 4. Configuration profile для гостевой сети:
/interface/wifiwave2/configuration
add name=cfg-guest \
ssid=Guest-WiFi \
country=Russia \
security.authentication-types=wpa2-psk,wpa3-psk \
security.passphrase=GuestPass2024 \
datapath.client-isolation=yes \
datapath.bridge=bridge \
datapath.vlan-id=99 \
datapath.vlan-mode=use-tag
# 5. Виртуальный интерфейс на том же физическом радио:
/interface/wifiwave2
add name=wifi-guest master-interface=wifi1 configuration=cfg-guest disabled=no
# 6. Firewall: гости идут в интернет, но не в локалку:
/ip/firewall/filter
add chain=forward src-address=192.168.99.0/24 dst-address=192.168.1.0/24 \
action=drop comment="Block: guest to LAN"
add chain=forward src-address=192.168.99.0/24 out-interface=ether1 \
action=accept comment="Allow: guest to internet"
# Проверить VLAN-filtering на bridge:
/interface/bridge/print detail
# Ищем: vlan-filtering=yes
# Если нет - включить:
/interface/bridge
set bridge vlan-filtering=yes
# Добавить VLAN 99 в bridge VLAN таблицу:
/interface/bridge/vlan
add bridge=bridge tagged=bridge untagged=wifi-guest vlan-ids=99
# Проверить что гости получают адреса:
/ip/dhcp-server/lease/print where server=dhcp-guest
802.11r Fast Roaming: роуминг за 100ms вместо 10 секунд
Клиент переходит между точками. Стандартный роуминг: переподключение 5–10 секунд, VoIP падает, видеоконференция зависает. 802.11r делает это за 50–100 мс — незаметно.
802.11r (Fast BSS Transition) — быстрое переключение. 802.11k — клиент знает список соседних точек, выбирает сам. 802.11v — точка может попросить клиента уйти на другую. Все три вместе — бесшовный роуминг.
# Включить 802.11r + 802.11k/v на configuration profile:
/interface/wifiwave2/configuration
set cfg-office \
security.ft=yes \
security.ft-over-ds=yes \
interworking.enabled=yes
# ft = Fast Transition (802.11r)
# ft-over-ds = переключение через проводную сеть (быстрее чем по эфиру)
# interworking = 802.11k/v (клиенты видят соседей, точки управляют роумингом)
# Проверить что включено:
/interface/wifiwave2/configuration/print detail
# Ищем: ft=yes ft-over-ds=yes
# Проверить роуминг: посмотреть с какой точки подключён клиент:
/interface/wifiwave2/registration-table/print detail
# Поле: interface= покажет на какой точке сейчас сидит клиент
# Принудительно отключить клиента (для теста роуминга):
/interface/wifiwave2/access-list
add mac-address=AA:BB:CC:DD:EE:FF action=reject interface=wifi1
# Клиент должен автоматически переключиться на wifi2 за < 100ms
# После теста - удали правило
/interface/wifiwave2/access-list/remove [find mac-address=AA:BB:CC:DD:EE:FF]
CAPsMAN ROS 7: централизованное управление точками доступа
Три точки доступа и больше — уже нужен CAPsMAN. Иначе каждую настраиваешь отдельно, роуминг работает криво, мониторинг нигде.
В ROS 7 CAPsMAN встроен в wifiwave2 — не нужен отдельный пакет. Логика: один контроллер (CAPsMAN), к нему подключаются точки доступа (CAP). Всё управление — на контроллере.
%%{init: {
'theme': 'base',
'themeVariables': {
'primaryColor': '#ffffff',
'primaryTextColor': '#1e293b',
'primaryBorderColor': '#94a3b8',
'lineColor': '#64748b',
'fontSize': '15px',
'fontFamily': 'ui-sans-serif, system-ui, sans-serif'
},
'flowchart': {'curve': 'linear', 'nodeSpacing': 50, 'rankSpacing': 55}
}}%%
flowchart TD
CTRL["CAPsMAN Controller\nMikroTik RB5009 / CCR\nIP: 192.168.1.1"]
PROV["Provisioning Rules\nАвтоконфигурация CAP"]
CFG["Configuration Profiles\ncfg-office, cfg-guest"]
CAP1["CAP 1\nhAP ax²\nЭтаж 1"]
CAP2["CAP 2\ncAP ax\nЭтаж 2"]
CAP3["CAP 3\ncAP ax\nЭтаж 3"]
CLIENT["Клиенты\n802.11r роуминг < 100ms"] CTRL --> PROV
CTRL --> CFG
PROV -->|"Автоконфигурация"| CAP1
PROV -->|"Автоконфигурация"| CAP2
PROV -->|"Автоконфигурация"| CAP3
CFG --> CAP1
CFG --> CAP2
CFG --> CAP3
CLIENT <-->|"WiFi"| CAP1
CLIENT <-->|"WiFi"| CAP2
CLIENT <-->|"WiFi"| CAP3
style CTRL fill:#f8fafc,stroke:#3b82f6,stroke-width:2px,color:#1e40af
style PROV fill:#f8fafc,stroke:#94a3b8,stroke-width:1px,color:#1e293b
style CFG fill:#f8fafc,stroke:#94a3b8,stroke-width:1px,color:#1e293b
style CAP1 fill:#f8fafc,stroke:#22c55e,stroke-width:2px,color:#15803d
style CAP2 fill:#f8fafc,stroke:#22c55e,stroke-width:2px,color:#15803d
style CAP3 fill:#f8fafc,stroke:#22c55e,stroke-width:2px,color:#15803d
style CLIENT fill:#f8fafc,stroke:#f97316,stroke-width:2px,color:#c2410c
Схема 2: Архитектура CAPsMAN ROS 7. Контроллер раздаёт конфигурацию точкам через provisioning rules. Клиенты роумятся между CAP за счёт 802.11r.
Настройка контроллера CAPsMAN
# На контроллере (главный роутер):
# 1. Configuration profile для всех точек:
/interface/wifiwave2/configuration
add name=cfg-capsman-office \
ssid=Office-WiFi \
country=Russia \
security.authentication-types=wpa2-psk,wpa3-psk \
security.passphrase=OfficePass123 \
security.ft=yes \
security.ft-over-ds=yes \
channel.frequency="" \
channel.skip-dfs-channels=yes \
steering.enabled=yes \
steering.prefer-5ghz=yes
# 2. Включить CAPsMAN:
/interface/wifiwave2/capsman
set enabled=yes interfaces=bridge
# 3. Provisioning rule: автоконфигурация подключающихся точек:
/interface/wifiwave2/provisioning
add action=create-dynamic-enabled \
master-configuration=cfg-capsman-office \
comment="Auto-provision all CAPs"
# 4. Проверить подключённые точки:
/interface/wifiwave2/capsman/remote-cap/print
# Должны появиться точки с состоянием provisioned
Настройка точек доступа (CAP)
# На каждой точке доступа (hAP ax, cAP ax и др.):
# Включить CAP-режим:
/interface/wifiwave2/cap
set enabled=yes \
discovery-interfaces=bridge \
caps-man-addresses=192.168.1.1
# caps-man-addresses = IP контроллера
# Альтернатива: если контроллер не в той же L2-сети:
set caps-man-certificate=request \
caps-man-addresses=192.168.1.1
# Проверить статус подключения к контроллеру:
/interface/wifiwave2/cap/print
# Ищем: status=connected-and-running
Мониторинг клиентов через CAPsMAN
# Все клиенты на всех точках - с контроллера:
/interface/wifiwave2/registration-table/print
# Колонка interface= покажет на какой точке сидит клиент
# Детали по конкретному клиенту:
/interface/wifiwave2/registration-table/print detail \
where mac-address=AA:BB:CC:DD:EE:FF
# Статистика точек:
/interface/wifiwave2/capsman/remote-cap/print detail
WPA3 и безопасность: настройка по-взрослому
# WPA2/WPA3 mixed - рекомендую для корпоративных сетей:
/interface/wifiwave2/configuration
set cfg-office security.authentication-types=wpa2-psk,wpa3-psk \
security.passphrase=StrongPass2024
# Только WPA3 - если уверен что все устройства поддерживают:
set cfg-office security.authentication-types=wpa3-psk
# Management Frame Protection (защита от деаут-атак):
set cfg-office security.mfp=required
# mfp=required - обязательна (только новые клиенты)
# mfp=optional - опциональна (совместимость)
# Изоляция клиентов (гостевые сети, публичный WiFi):
set cfg-guest datapath.client-isolation=yes
# Access list - белый список по MAC:
/interface/wifiwave2/access-list
add mac-address=AA:BB:CC:DD:EE:FF action=accept interface=wifi1
add action=reject interface=wifi1
# Порядок важен: сначала разрешаем нужных, потом режем остальных
# Заблокировать конкретное устройство:
/interface/wifiwave2/access-list
add mac-address=11:22:33:44:55:66 action=reject interface=wifi1
Troubleshooting: ошибки и проблемы WiFi MikroTik ROS 7
Большинство статей на этом месте пишут «проверьте подключение». Мы так не делаем.
Схема 3: Дерево диагностики WiFi MikroTik ROS 7. Проходи сверху вниз — каждый узел сужает поиск до конкретной причины.
Проблема: SSID не виден в эфире
# Проверить статус интерфейса:
/interface/wifiwave2/print
# running=no или disabled=yes → включаем:
set wifi1 disabled=no
# Проверить что configuration назначен:
/interface/wifiwave2/print detail
# Ищем: configuration=cfg-office
# Если пусто → set wifi1 configuration=cfg-office
# Проверить страну (влияет на разрешённые каналы):
/interface/wifiwave2/configuration/print detail
# country= не должно быть пустым
Проблема: клиент видит SSID, но не подключается
# Включить логирование wireless-событий:
/system/logging
add topics=wireless action=memory
# Смотреть логи в реальном времени:
/log/print follow where topics~"wireless"
# Ищем: authentication failed, deauthentication, association failed
# Частая причина: WPA3 не поддерживается старым устройством:
/interface/wifiwave2/configuration
set cfg-office security.authentication-types=wpa2-psk,wpa3-psk
# Mixed mode - и старые, и новые подключатся
# Проверить access-list: нет ли блокирующих правил:
/interface/wifiwave2/access-list/print
# Если есть action=reject без mac-address → это блокирует всех
Проблема: клиент подключился, IP не получает
# Проверить bridge и datapath:
/interface/wifiwave2/configuration/print detail
# datapath.bridge= должен указывать на правильный bridge
# Если VLAN - datapath.vlan-id= должен совпадать с VLAN на bridge
# Проверить VLAN-filtering на bridge:
/interface/bridge/print detail
# vlan-filtering=yes обязателен при использовании datapath.vlan-id
# Проверить DHCP-сервер:
/ip/dhcp-server/print
# disabled=no, interface= совпадает с нужным VLAN или bridge
# Ручная проверка: есть ли lease для клиента:
/ip/dhcp-server/lease/print
Проблема: клиенты периодически отключаются (обрывы)
# 1. Проверить уровень сигнала всех клиентов:
/interface/wifiwave2/registration-table/print detail
# signal= должен быть лучше -70 dBm
# Хуже -75 → клиент на грани, будет отваливаться
# 2. Проверить загруженность канала:
/interface/wifiwave2/scan wifi1 duration=30s
# Много соседей на том же канале → сменить канал
# 3. Проверить DFS:
/log/print where topics~"wireless"
# Если видишь "radar detected, switching channel" → это DFS
set cfg-office channel.skip-dfs-channels=yes
# 4. Проверить загрузку CPU роутера:
/system/resource/print
# cpu-load= > 80% при WiFi-трафике → железо не тянет
# 5. Посмотреть статистику ошибок:
/interface/wifiwave2/print stats
# Смотрим: rx-error, tx-error - высокие значения = помехи или слабый сигнал
Проблема: медленный WiFi, низкая скорость
# Проверить реальную скорость соединения клиента:
/interface/wifiwave2/registration-table/print detail
# tx-rate= и rx-rate= - фактическая скорость радиоканала
# Должно быть сотни Мбит для 5GHz, десятки для 2.4GHz
# Проверить режим работы:
/interface/wifiwave2/configuration/print detail
# mode= - должен быть ax или ac, не g и не b
# Если клиент подключён на 2.4GHz хотя поддерживает 5GHz:
set cfg-office steering.enabled=yes steering.prefer-5ghz=yes
# Band steering переведёт на 5GHz
# Проверить ширину канала:
# channel.width=20mhz на 5GHz → узкий канал, низкая скорость
# Поставь 40mhz или 80mhz для 5GHz
Проблема: после обновления ROS 7 wifi1 пропал
# Проверить наличие пакета wifiwave2:
/system/package/print
# Если пакета нет - роутер остался без wifi
# Для arm/arm64 устройств:
# Скачать extra packages с mikrotik.com → extra-packages-X.X.X-arm.zip
# Распаковать, загрузить wifiwave2-X.X.X-arm.npk через /files
# После загрузки:
/system/reboot
# Проверить что интерфейсы появились:
/interface/wifiwave2/print
# Если роутер старый и не поддерживает wifiwave2:
# Проверить список совместимого железа на wiki.mikrotik.com
# hAP ac², hAP ax², hAP ax³, Audience, cAP ax, Chateau ax, RBD53iG-5HacD2HnD - поддерживают
# hAP ac (старый), RB951 - не поддерживают wifiwave2
Проблема: CAPsMAN — точки не подключаются к контроллеру
# На контроллере - проверить что CAPsMAN включён:
/interface/wifiwave2/capsman/print
# enabled=yes
# Проверить на каком интерфейсе слушает:
# interfaces= должен содержать bridge или конкретный интерфейс в L2 сети с CAP
# На точке доступа - проверить статус CAP:
/interface/wifiwave2/cap/print
# Ищем status=
# searching - ищет контроллер, не находит
# connected-and-running - всё хорошо
# Если searching - проверить маршрут до caps-man-addresses:
/ping 192.168.1.1
# Нет ответа → проблема в L2/L3 связности
# Проверить лог на точке:
/log/print where topics~"capsman"
# certificate issues → пересоздать сертификаты:
/interface/wifiwave2/cap
set caps-man-certificate=request
Скрипты мониторинга и автоматизации
Смотреть на registration-table глазами — это не мониторинг. Вот что делает это автоматически.
Скрипт: алерт на клиентов со слабым сигналом
# Сохранить в /system/script, запускать через scheduler каждые 5 минут:
# Имя скрипта: check-wifi-signal
:local threshold -75
:local wifiIface "wifi1"
:foreach client in=[/interface/wifiwave2/registration-table find \
where interface=$wifiIface] do={
:local signal [/interface/wifiwave2/registration-table get $client signal]
:local mac [/interface/wifiwave2/registration-table get $client mac-address]
:if ($signal < $threshold) do={
:log warning ("Weak WiFi client: " . $mac . " signal=" . $signal . " dBm on " . $wifiIface)
}
}
# Добавить в scheduler:
/system/scheduler
add name=check-wifi-signal interval=5m \
on-event="/system/script/run check-wifi-signal" \
comment="Monitor weak WiFi clients"
Скрипт: автоперезапуск WiFi при нулевом числе клиентов
# Имя скрипта: wifi-watchdog
# Логика: если клиентов 0 больше 10 минут - перезапустить интерфейс
:local wifiIface "wifi1"
:global wifiEmptyStart
:local clients [/interface/wifiwave2/registration-table \
print count-only where interface=$wifiIface]
:if ($clients = 0) do={
:if ([:typeof $wifiEmptyStart] = "nothing") do={
:set wifiEmptyStart [/system/clock/get time]
:log info "WiFi watchdog: zero clients, timer started"
} else={
# Проверяем - прошло ли 10 минут
:local now [/system/clock/get time]
:if ($now > ($wifiEmptyStart + 00:10:00)) do={
:log warning "WiFi watchdog: restarting $wifiIface (no clients 10min)"
/interface/wifiwave2 set $wifiIface disabled=yes
:delay 3s
/interface/wifiwave2 set $wifiIface disabled=no
:set wifiEmptyStart
}
}
} else={
:if ([:typeof $wifiEmptyStart] != "nothing") do={
:set wifiEmptyStart
:log info ("WiFi watchdog: clients online=" . $clients . ", timer reset")
}
}
Скрипт: ежедневный отчёт по WiFi
# Имя скрипта: wifi-daily-report
# Запускать в 8:00 через scheduler
:local totalClients [/interface/wifiwave2/registration-table print count-only]
:local uptime [/system/resource/get uptime]
:local cpuLoad [/system/resource/get cpu-load]
:log info ("=== WiFi Daily Report ===")
:log info ("Total connected clients: " . $totalClients)
:log info ("Router uptime: " . $uptime)
:log info ("CPU load: " . $cpuLoad . "%")
:foreach client in=[/interface/wifiwave2/registration-table find] do={
:local mac [/interface/wifiwave2/registration-table get $client mac-address]
:local signal [/interface/wifiwave2/registration-table get $client signal]
:local txRate [/interface/wifiwave2/registration-table get $client tx-rate]
:local iface [/interface/wifiwave2/registration-table get $client interface]
:log info (" " . $mac . " | " . $iface . " | signal=" . $signal . " | tx=" . $txRate)
}
# Добавить в scheduler на 8:00:
/system/scheduler
add name=wifi-daily-report start-time=08:00:00 interval=1d \
on-event="/system/script/run wifi-daily-report"
Скрипт: Band Steering вручную (принудительно на 5GHz)
# Имя скрипта: force-5ghz-steering
# Отключает клиентов с 2.4GHz если они поддерживают 5GHz
# (для сетей где band steering через конфиг недостаточен)
:foreach client in=[/interface/wifiwave2/registration-table \
find where interface=wifi1] do={
# wifi1 = 2.4GHz интерфейс в данном примере
:local mac [/interface/wifiwave2/registration-table get $client mac-address]
# Принудительное отключение - клиент переподключится и выберет 5GHz
/interface/wifiwave2/access-list
add mac-address=$mac action=reject interface=wifi1 comment="temp-5ghz-steer"
:delay 500ms
/interface/wifiwave2/access-list remove [find comment="temp-5ghz-steer"]
:log info ("Steered to 5GHz: " . $mac)
}
Чек-лист: что должно быть настроено
Базовая конфигурация:
- ✅ Пакет wifiwave2 установлен и активен
- ✅ Configuration profile создан с ssid, country, security
- ✅ Профиль применён к интерфейсу, disabled=no
- ✅ Канал выбран (вручную или ACS без DFS)
- ✅ Ширина канала оптимальна (20MHz для 2.4GHz, 40/80MHz для 5GHz)
- ✅ TX power не на максимуме (15–20 dBm для офиса)
- ✅ skip-dfs-channels=yes
Безопасность:
- ✅ WPA3 или WPA2/WPA3 mixed
- ✅ client-isolation=yes для гостевой сети
- ✅ Гостевая сеть в отдельном VLAN с firewall-правилами
- ✅ access-list настроен (если нужна фильтрация)
Производительность и роуминг:
- ✅ 802.11r (security.ft=yes) для сетей с несколькими точками
- ✅ 802.11k/v (interworking.enabled=yes)
- ✅ Band steering включён (steering.prefer-5ghz=yes)
- ✅ MU-MIMO включён (mimo.mode=multi-user)
- ✅ mode=ax (не g, не n)
Мониторинг:
- ✅ Логирование wireless включено
- ✅ registration-table проверена — сигнал клиентов лучше -70 dBm
- ✅ Скрипт мониторинга сигнала добавлен в scheduler
- ✅ Сканирование эфира выполнено — канал свободен
CAPsMAN (для нескольких точек):
- ✅ CAPsMAN включён на контроллере (capsman enabled=yes)
- ✅ Provisioning rule создан
- ✅ Все CAP в статусе connected-and-running
- ✅ Роуминг протестирован (смена точки < 100ms)
FAQ: вопросы про WiFi MikroTik ROS 7
Почему после обновления на ROS 7 исчез /interface wireless?
Потому что MikroTik убрал старый пакет wireless в пользу wifiwave2. Это не глюк обновления — это архитектурное решение. Wifiwave2 поддерживает Wi-Fi 6, WPA3, нативный 802.11r, встроенный CAPsMAN. Обратной совместимости нет: старую конфигурацию придётся перенести вручную. На устройствах без поддержки wifiwave2 (старое железо до ax-серии) пакет wireless остаётся.
Как проверить работает ли 802.11r на MikroTik?
# На контроллере или точке:
/interface/wifiwave2/configuration/print detail
# ft=yes ft-over-ds=yes - включено
# Проверить логи при роуминге клиента:
/log/print where topics~"wireless"
# Должна быть строка: fast transition
# Замерить время переключения:
# Ping с клиента → перейти в зону другой точки → смотреть потери
# 1-2 пакета = норма для 802.11r. 10+ пакетов = роуминг не работает
Что делать если гостевые клиенты всё равно видят локальную сеть?
# Проверить порядок firewall-правил:
/ip/firewall/filter/print
# Правило "Block guest to LAN" должно быть ДО любого accept для forward chain
# Проверить что client-isolation=yes:
/interface/wifiwave2/configuration/print detail where name=cfg-guest
# client-isolation=yes
# Проверить bridge VLAN:
/interface/bridge/vlan/print
# VLAN 99 должен быть tagged только на bridge и untagged на wifi-guest
# Если где-то untagged на eth-интерфейсе - трафик уйдёт в локалку
Почему MikroTik WiFi работает нестабильно на 5GHz?
Девять из десяти случаев — DFS-каналы (52–144). Роутер выбрал DFS, попался радар, переключился, все клиенты отвалились на 10 секунд. Лечится одной командой:
/interface/wifiwave2/configuration
set cfg-office channel.skip-dfs-channels=yes
Вторая причина — слишком широкий канал (80MHz или 160MHz) при плотном эфире. Попробуй 40MHz.
Можно ли на одном физическом радио поднять несколько SSID?
# Да. Виртуальные интерфейсы на одном радио:
/interface/wifiwave2
add name=wifi-guest master-interface=wifi1 configuration=cfg-guest disabled=no
# Ограничение: все виртуальные интерфейсы используют один физический канал
# Канал и частоту задаёт master-interface (wifi1)
# Производительность делится между всеми SSID на одном радио
Итог
Wifiwave2 — это не новая обёртка над старым. Это другая система. Пересел с неё на велосипед не поедешь. Надо переучиться на три вещи: configuration profiles вместо прямых настроек на интерфейсе, datapath для VLAN-изоляции, и capsman который теперь встроен а не докручивается отдельным пакетом.
Всё остальное — детали. Канал — через scan и skip-dfs-channels. Роуминг — ft=yes на всех точках. Гостевая сеть — VLAN 99 на bridge с firewall-правилом DROP. Мониторинг — скрипт в scheduler на 5 минут. Автомиграции нет и не будет. Но зато конфиг теперь читаемый и воспроизводимый — один профиль на десять точек вместо десяти одинаковых конфигов на каждой.
Чем глубже в MikroTik, тем страшнее changelog. Но работает — и это главное.
Оставайтесь на связи
Рецепты от IT-боли. Без воды, без рекламы, без маркетинговой шелухи.
Подписаться на IT-Аптеку →




Перешёл на RouterOS 7 с wifiwave2. Скорость WiFi6 стала выше, но периодически клиенты отваливаются и приходится переподключаться.
Wifiwave2 в RouterOS 7.x ещё дорабатывается — периодические отвалы клиентов известная проблема в ранних версиях. Попробуй: 1) обновись до последней версии RouterOS — в каждом минорном релизе правят WiFi баги, 2) в настройках точки попробуй включить disconnect-timeout и inactivity-timeout, 3) проверь beacon-interval — иногда помогает увеличить до 200ms. Если проблема на конкретных клиентах — укажи модели, может быть специфика драйвера.
Как настроить роуминг между несколькими точками mikrotik без CAPsMAN?
Без CAPsMAN нормального роуминга не получить — точки не знают о клиентах друг друга и не могут координировать переключение. Минимальный роуминг работает на стороне клиента: когда сигнал падает ниже порога клиент сам переключается на другую точку с тем же SSID/паролем. Для этого все точки должны иметь одинаковый SSID и пароль. Полноценный fast roaming (802.11r) требует CAPsMAN. Для офиса я бы всё же настроил CAPsMAN — это несложно и даёт нормальную работу.
подскажите — есть рекомендации по каналам для WiFi 6? у нас много точек mikrotik в многоквартирном доме и эфир забит.
Для WiFi 6 (5 ГГц) в плотной застройке используй каналы шириной 40 МГц вместо 80 — меньше перекрытий. Основные непересекающиеся каналы 5 ГГц: 36, 40, 44, 48, 52, 56, 60, 64. Для 6 ГГц (WiFi 6E) — диапазон практически пустой, там можно 80 МГц без проблем. Используй automatic channel selection в CAPsMAN — он выберет наименее загруженные каналы автоматически. Сканирование эфира: /interface wireless scan.