RouterOS 7.13+: CAPsMAN по новому (UPDATED)

Mikrotik в декабре 2023 года порадовал своих пользователей свежим обновлением, в котором появилось кое-что, чего многие ждали уже очень давно. В новой прошивке были разделены драйверы WiFi для некоторых старых точек доступа (CAP AC) и новых, с поддержкой WiFi6. Таким образом, им удалось уместить драйвер Wave2 на устройствах с ПЗУ 16 мегабайт. А это значит, что старые тарелочки CAP AC теперь можно добавить в новый CAPsMAN вместе с точками серии AX и управлять всем этим “сервизом” в одном месте.

Спешу напомнить, что пакет Wave2 изначально представлял собой родной драйвер от Qualcomm, позволяющий использовать больше возможностей одноимённых чипов. На самодельном драйвере от Mikrotik отсутствовала поддержка WPA3, шифрование управляющих фреймов (802.11w), beamforming, MuMIMO, а так же, правильный роумниг (802.11r/k/v).

А теперь, перейдём к настройке capsman. В составе моего комплекта Mikrotik hap ax3 и две штуки Mikrotik CAP Ac.

  1. Для начала, обновите прошивку всего оборудования до версии >= 7.13. И сразу-же, качаем архив с дополнительными расширениями, в которых будет лежать пакеты с драйверами. Для hap ax (ARM64) пакет называется wifi-qcom-7.13-arm64.npk. Для cap ac (ARM) выбираем wifi-qcom-ac-7.13-arm.npk. После обновления на cap ac нужно будет грохнуть пакет “Wireless”. В результате, список пакетов на CAP Ac должен выглядеть так:
  1. Отныне в Quick Set нет шаблона CAP, так что всё придётся делать самостоятельно. :) Очищаем конфигурацию точек, настраиваем им сеть удобным способом (по DHCP или вручную, без разницы). Обязательно заранее создаём бридж и вручную добавляем в него wifi интерфейсы, поскольку Datapath в новом капсмане больше не берёт на себя этот функционал (возможно, это временно). В моём случае клиенты wifi идут сразу в локалку, так что я просто добавляю в бридж все интерфейсы точки доступа.

UPD:

2.1 Если требуется добавить дополнительные SSID (гостевую сеть, например), следует учесть тот факт, что виртуальные интерфейсы тоже требуется добавить в какой-либо бридж. В моём примере будет фигурировать сеть для IoT девайсов, в которой будет отключены все цацки, мешающие устаревшим клиентам нормально работать.

Есть два стула варианта решения такой задачи:

а) Добавить в datapath каждой точки запись, указывающую на конкретный локальный бридж

Затем перейти в раздел WiFi, нажать кнопку CAP и выбрать datapath в поле Slaves Datapath. Таким образом, все виртуальные WiFi интерфейсы будут автоматически подхватывать эту настройку.

б) Мы можем включить галочку Slaves Static и в таком случае, виртуальные интерфейсы станут статичными и не будут внезапно менять имена и исчезать из бриджей, куда были добавлены вручную.

  1. Переходим в раздел WiFi, нажимаем на CAP, ставим галочку Enabled и прописываем всё необходимое. В моём случае, для надёжности я добавил IP контроллера.

Ранее в этом окошке нужно было указывать, какими wifi интерфейсами будет управлять контроллер. Теперь это делается немного иначе. Переходим на вкладку Configuration в настройках каждого интерфейса и ставим Manager: capsman.

Внимание! Когда мы настраиваем WiFi интерфейсы на самом контроллере (если таковые там имеются), там нужно указать Manager: local, иначе они не поднимутся! Дело в том, что в новой версии RouterOS профайлы для локальных и удалённых интерфейсов создаются в одном и том же месте и локальные интерфейсы могут спокойно подцепить то, что мы создали для capsman. По сути, это ничего не меняет, за исключением того, что в списке беспроводных интерфейсов к локальным не будет применены шаблоны имён из провиженинга и они останутся со своими оригинальными именами.

За исключением всяких мелочей, типа изменения пароля, отключения ненужных сервисов и т.п., настройку точки можно считать завершённой. Проделываем то же самое на других точках и переходим к контроллеру.

  1. Заходим на микротик, где у нас будет контроллер (в моём случае hap ax3), переходим в меню WiFi и жмём на вкладку Channel. Поскольку в нашем зоопарке есть разные звери точки с 802.11ax и те, которые его не поддерживают, мы создаём отдельные настройки для разных устройств.

В конфиге для 2.4ГГц N я специально зарезал ширину канала до 20MHz, чтобы обеспечить более надёжную связь с устройствами умного дома. Увы, их дешёвые wifi модули порой очень капризны. Но кроме IoT в моём доме уже никто на 802.11n не сидит, так что всё ОК. Если в ширину канала ничего не вписать, интерфейс пример наибольшее из поддерживаемых значение.

Частота для 5ГГц всего одна и самая нижняя в диапазоне. Почему? Да просто потому, что 5G не шибко дальнобойный, в следствии чего у меня дома практически ни с чем не пересекается. В то же время, частота 5180 с расширением 80MHz гарантированно поддерживается любым клиентом, умеющим в 802.11ac. Попытка поставить автовыбор практически всегда для меня заканчивалась проблемами. С каналами разобрались? Едем дальше…

  1. Переходим в Security и создаём нужные профайлы. В зависимости от поставленных целей можно создать либо один общий, либо несколько. Я разделил их на 2G и 5G.

Поскольку клиенты для 5G гарантированно поддерживают WPA3 и Management protection, им можно смело оставить только такой вид авторизации и шифрования. В случае с 2G следует обеспечить совместимость со старыми устройствами.

UPD: Как было описано выше, я всё же создал виртуальный SSID для IoT и отключил в его конфигурации WPA3, шифрование управляющего канала и Fast Transition. Таким образом, сеть 2.4G для всех остальных, в принципе, теперь можно привести к общим настройкам, не переживая за отвалы устройств в кастрированными чипами. Правда, есть ещё вероятность, что у вас будут пляски с устройствами apple, но тут уж вы как-то сами понаблюдайте. ;)

  1. Топаем в Datapath и жмём на плюсик.

Тут есть нюанс. Указанный в Datapath бридж будет актуален только для локальных интерфейсов контроллера. Все удалённые, как я и писал выше, следует вручную добавить в бриджи прямо на самих точках, иначе ничего работать не будет.

  1. Переходим в Configuration и собираем конфиги.

* В manager НИЧЕГО не ставим! Не знаю в чём смысл, но если я указываю там capsman – ничего вообще не работает.

** SSID для точек типа ax 5G и ac или ax 2G и n можно ставить как одинаковые, так и раздельные. Второй вариант нужен в том случае, если требуется подключать конкретные девайсы к конкретным сетям, для большей стабильности или скорости.

*** Выбор страны в конфигурации вовсе не для красоты и устанавливает разрешённые частоты, а так-же, допустимую мощность передатчика. Подробные значения для каждой страны можно подсмотреть тут. Спойлер: Если выбрать Панаму, на точках можно будет сушить носки. ;)

Включаем Fast transition (802.11r). Эта функция обеспечивает кеширование и распространение кеша авторизации клиента между членами домена. Кстати, по информации от экспертов, данная фишка более заметно ускоряет авторизацию через Radius и почти не ощущается при обычной WPA2/3 PSK. Следует помнить, что FT может стать причиной проблем с подключением некоторых устройств.

Не буду показывать скрины всех конфигураций. Их просто нужно построить по аналогии с первым, выбрав соответствующие интерфейсам профайлы в каждой из вкладок.

8. Steering. Добавляем запись, указываем группу соседей. В случае разделения WiFi зон (на этажи, здания и т.п.) следует разделять группы, поскольку нет никакого смысла гонять в сети список всех wifi станций, до которых клиент точно не дотянется. RRM (802.11k) отвечает за раздачу клиентам списка работающих в группе базовых станций, с описанием сигнала, каналов и поддерживаемых диапазонах. WNM (802.11v) отвечает за отправку точками доступа в сторону клиента запросов на переход к точкам с более оптимальными условиями сигнала.

Не забываем добавить его в конфигурации.

  1. Переходим в Provisioning и создаём элементы для каждого типа транспондеров. Назначаем мастер конфигурацию, как говорится, каждому по возможностям и потребностям. :)
  1. Идём в Remote CAP, жмём на CAPsMAN и включаем его. По желанию и требованиям безопасности, можно включить сертификаты. Это на случай, если в вашей сети внезапно объявится какой-то левый контроллер, который перетянет точки на себя. Ну или чтобы из контроллера вместе с конфигурацией не стянули пароль от WiFi наверное? Не знаю, передаётся ли он в открытом виде, возможно я просто несу полную чушь. ;)

Внимание! Ежели вы всё-же решились использовать сертификаты, сначала получите их в каждую точку путём подключения к капсману с параметром Certificat: request (настраивается в каждой точке, в CAP), затем укажите вместо request полученный сертификат и только потом включайте “Require Peer Certificate” в контроллере.

Если что-то пошло не так, убедитесь в том, что фаерволл на контроллере не блокирует порты 5246,5247 udp, по которым точки подключаются к капсману.

Если всё в порядке, во вкладке Radios будет примерно такая картина

А в Registration, в свою очередь, появится информация, кто из клиентов подключился к какой из точек.

Кажется, всё! :) Бегаем по помещению, проверяем как работает…

P.S.

А если ты, мой дорогой читатель, нашёл в статье ошибки и неточности – пиши мне в телегу! Контакты есть в соответствующем разделе этого сайта.