Настройка WiFi MikroTik ROS 7 (Wifiwave2): шпаргалка от каналов до CAPsMAN

Тонкая настройка Wi-Fi на MikroTik ROS 7: шпаргалка IT-инженера с примерами
Быстрый ответ
В ROS 7 старый /interface wireless удалён.
Теперь всё через 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. Сохрани - потом хотя бы будет с чего переписывать вручную.
Автомиграция конфигурации не существует
После обновления ROS 6 → ROS 7 старая конфигурация /interface wireless не переносится автоматически. Перенастраивать придётся вручную через wifiwave2. Это не баг — это дизайн-решение MikroTik. Спорить бесполезно.

Базовая настройка 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 - без радаров, без неожиданностей
ACS и DFS - опасная комбинация
Если включил ACS без ограничений — роутер может выбрать DFS-канал (52-144). Радар в радиусе 30 км заставит сменить канал за 10 секунд. В это время все клиенты висят. Всегда ограничивай ACS через channel.frequency с конкретными диапазонами или ставь skip-dfs-channels=yes.

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 на бридже.

Архитектура: что куда смотрит

%%{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
    INT["Интернет"]
    FW["Firewall\nMikroTik"]
    BR["Bridge\nbr-main"]
    ETH["ether1\nWAN"]
    VLAN10["VLAN 10\n192.168.10.0/24\nЛокальная сеть"]
    VLAN99["VLAN 99\n192.168.99.0/24\nГостевая сеть"]
    WIFI_CORP["wifi1\nSSID: Office-WiFi\ncfg-office"]
    WIFI_GUEST["wifi1 (virtual)\nSSID: Guest-WiFi\ncfg-guest"]

    INT --> ETH --> FW --> BR
    BR --> VLAN10 --> WIFI_CORP
    BR --> VLAN99 --> WIFI_GUEST
    FW -->|"DROP: guest → LAN"| VLAN10
    FW -->|"ACCEPT: guest → internet"| INT

    style INT fill:#f8fafc,stroke:#3b82f6,stroke-width:2px,color:#1e40af
    style FW fill:#f8fafc,stroke:#f97316,stroke-width:2px,color:#c2410c
    style BR fill:#f8fafc,stroke:#94a3b8,stroke-width:2px,color:#1e293b
    style VLAN10 fill:#f8fafc,stroke:#22c55e,stroke-width:2px,color:#15803d
    style VLAN99 fill:#f8fafc,stroke:#ef4444,stroke-width:2px,color:#b91c1c
    style WIFI_CORP fill:#f8fafc,stroke:#22c55e,stroke-width:1px,color:#15803d
    style WIFI_GUEST fill:#f8fafc,stroke:#ef4444,stroke-width:1px,color:#b91c1c

Схема 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"
datapath.vlan-mode - не перепутай
Два варианта: use-tag (тегированный VLAN, нужен VLAN-интерфейс на бридже) и use-service-tag (QinQ). Для стандартной гостевой сети — use-tag. Если клиенты не получают DHCP — проверь что bridge настроен с VLAN-filtering=yes и нужный VLAN добавлен в bridge VLAN таблицу.

# Проверить 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
Для 802.11r нужно одинаковое
Все точки доступа должны использовать одинаковый SSID, одинаковый security profile и быть в одном Mobility Domain (настраивается автоматически при ft=yes). Если хоть одна точка без ft=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

Большинство статей на этом месте пишут «проверьте подключение». Мы так не делаем.

%%{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': 45, 'rankSpacing': 50}
}}%%
flowchart TD
    PROB["Проблема с WiFi MikroTik ROS 7"]
    Q1["Интерфейс wifi1 существует?"]
    Q2["Клиент видит SSID?"]
    Q3["Клиент подключается?"]
    Q4["Клиент получает IP?"]
    Q5["Клиент выходит в интернет?"]
    OK["Всё работает"]

    F1["Пакет wifiwave2 не установлен\n/system/package/print"]
    F2["disabled=yes на интерфейсе\nили нет configuration\n→ set wifi1 disabled=no"]
    F3["Неверный пароль / WPA3 несовместимость\n→ проверить security.authentication-types"]
    F4["Проблема DHCP или VLAN bridge\n→ проверить datapath.bridge и vlan-id"]
    F5["Нет NAT / Firewall блокирует\n→ /ip/firewall/nat/print"]

    PROB --> Q1
    Q1 -->|"Нет"| F1
    Q1 -->|"Есть"| Q2
    Q2 -->|"Нет"| F2
    Q2 -->|"Видит"| Q3
    Q3 -->|"Нет"| F3
    Q3 -->|"Подключился"| Q4
    Q4 -->|"Нет IP"| F4
    Q4 -->|"Есть IP"| Q5
    Q5 -->|"Нет"| F5
    Q5 -->|"Работает"| OK

    style PROB fill:#f8fafc,stroke:#ef4444,stroke-width:2px,color:#b91c1c
    style OK fill:#f8fafc,stroke:#22c55e,stroke-width:2px,color:#15803d
    style F1 fill:#f8fafc,stroke:#ef4444,stroke-width:1px,color:#b91c1c
    style F2 fill:#f8fafc,stroke:#ef4444,stroke-width:1px,color:#b91c1c
    style F3 fill:#f8fafc,stroke:#ef4444,stroke-width:1px,color:#b91c1c
    style F4 fill:#f8fafc,stroke:#f97316,stroke-width:1px,color:#c2410c
    style F5 fill:#f8fafc,stroke:#f97316,stroke-width:1px,color:#c2410c

Схема 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-Apteka — там выходят новые рецепты без воды.
VLAN на MikroTik ROS 7: bridge, trunk, Wi-Fi VPN на MikroTik: WireGuard, L2TP, IKEv2 Firewall MikroTik: защита от DDoS и bruteforce
Андрей Анатольевич
Author: Андрей Анатольевич

Руководитель ИТ / Кризис-менеджер 25 лет в IT: от инженера в МегаФоне до руководителя отдела. Знаю, как выглядит бардак: нестабильные сети, устаревшая инфраструктура, конфликты в команде, раздутые сроки. Помогаю бизнесу выходить из кризиса: навожу порядок в легаси, стабилизирую то, что разваливается, выстраиваю прогнозируемые процессы. Не раз возвращал к жизни ИТ-структуры — знаю цену хаосу. 📍 Ищу проект для полной реорганизации / стабилизации. 📬 Telegram: @over_dude ✉️ mail@it-apteka.com

Оставайтесь на связи

Рецепты от IT-боли. Без воды, без рекламы, без маркетинговой шелухи.

Подписаться на IT-Аптеку →

Мы ВКонтакте

IT-Аптека — советы, новости и помощь рядом.

Вступить в группу ВКонтакте →
Поделитесь:

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Прокрутить вверх