Оставьте заявку

Текст сообщения:


Доступ к сети Wi-Fi через на Микротик по логину и паролю без внешнего RADIUS сервера.

Данная статья написана на базе статьи  Сам себе РКН или родительский контроль с MikroTik (ч.3) ссылка (в статье есть блоки написанные на своем опыте отмечены PS.).

Также в статье написано для случая, когда роутер сам я вляется и шлюзом интернета. Если у вас точка доступа, то в статье есть соответствующие комментарии.

Предистория. Была поставлена задача ограничить свободный доступ к Wi-Fi, это было на объекте и Радиус сервера там нет, поэтому решения искалось целиком на базе ресурсов Микротик. Была найдена статья с Хабра, выполнено все по инструкции, но ничего не заработало. Начались поиски решения проблемы, решение было найдено  Далее повторю статью с Хабра, но с иправлениями и дополнениями, в результате, которых у меня все заработало.

Итак в наличии Микротик hAP AC Lite прошивка версии 7,19,2. На время поиска решения нем все порты LAN и WI-Fi собраны в бридж и этот бридж получает по DHCP IP адрес от роутера. Оганичения доступа в интернет в данной статье не рассматриваются.

1. Введение

Всё, о чём написано выше — не сразу бросилось в глаза, но зато моментально было отмечено членами сообщества в комментариях к предыдущим статьям. Начиная с версии iOS 14, iPadOS 14 и watchOS 7, устройства Apple улучшают приватность при работе с беспроводными сетями, а именно, делают MAC адрес уникальным (private Wi-Fi address) для каждой сети. 

Дополнительно, смена MAC адреса происходит при сбросе всех настроек телефона (разумеется, при повторном подключении). А начиная с iOS 15, iPadOS 15 и watchOS 8, указанное выше расширяется ещё и дополнительными условиями. Смена MAC происходит, если телефон не подключался к сети более 6 недель, после выбора функции «Забыть сеть», если от последнего использования прошло более 2 недель. Подробнее можно почитать здесь. С операционными системами Android 10 и выше происходит примерно аналогичная ситуация. Кроме этого, частный (рандомный) MAC адрес Wi-Fi активирован в мобильных устройствах по умолчанию. (в моем телефоне данная функция тоже была включена)

Описанные выше функции сделаны для повышения информационной безопасности, усложняя анализ мест нахождения людей, чьи телефоны непрерывно сканируют радиоэфир и подключаются к известным им беспроводным сетям, например, MT_FREE. В первую очередь это было введено для управляющих фреймов (Management MAC Protocol Data Unit» – MMPDU), предназначенных для обнаружения известных точек доступа. Необходимо выделить, что существует пассивное сканирование – беспроводной клиент ждёт широковещательный сигнальный beacon от известной ему точки доступа. И активное сканирование – клиент сам отправляет широковещательный пробный запрос (probe) в поисках доступных точек доступа. Во вторую очередь, это было введено для открытых сетей, так как они широко распространены и позволяют реально проводить поведенческую аналитику. Затем это логично распространилось на Wi-Fi сети с шифрованием.

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

2. Radius протокол на службе.

RADIUS (Remote Authentication Dial-In User Service) – протокол для реализации аутентификации, авторизации и сбора сведений об использованных ресурсах, разработанный для передачи сведений между центральной платформой и оборудованием. В Wi-Fi сетях он может быть задействован в Enterprise mode – режиме аутентификации на базе Radius (WPA-EAP), вместо привычного режима аутентификации Personal mode, имеющего символьный пароль (WPA-PSK).

Общая схема предлагаемого решения следующая: «MikroTik + WiFi + Radius" (можно аа расширить на вариант  "+ VLAN» и создать две сети для подключения в офис и гостевая. Каждому сотруднику будет выдан собственный логин и пароль от беспроводной сети. После его ввода MikroTik обратится для аутентификации к Radius серверу, который дополнительно вернет настройки VLAN. Для них будет функционировать отдельный виртуальный интерфейс с собственным DHCP сервером и пулом IP адресов. Проверьте версию операционной системы маршрутизатора, она должна быть 7-ой:

Устанавливаем пакет user-manger

Список пакетов

Добавляем Vlan интерфейс для гостевай сети, PS. если только офисная сеть, то пункт можно пропустить.

Vlan

/interface vlan
add interface=bridge_home name=vlan.100-wifi vlan-id=100

Назначаем адрес виртуальной сети

Address

/ip address
add address=10.10.0.1/24 interface=vlan.100-wifi network=10.10.0.0

Далее настраиваем новый пул IP адресов:

pool

/ip pool
add name=pool-wifi ranges=10.10.0.10-10.10.0.250

Добавляем новый DHCP сервер для нашей сетей:

DHCP server

/ip dhcp-server
add address-pool=pool-wifi interface=vlan.100-wifi lease-time=4h30m name=server-wifi

DHCP network

/ip dhcp-server network
add address=10.10.0.0/24 gateway=10.10.0.1

NAT img-1

NAT img 2/ip firewall nat
add action=masquerade chain=srcnat out-interface=bridge src-address=10.10.0.0/24

Настраиваем RADIUS сервер, т.к. использую RADIUS сервер установленный на Микротике то адрес 127.0.0.1.

PS. Если у вас есть еще одна точка доступа, то в ее настройках в поле адрес вносите IP роутера, где стоит User Manager (остальное тоже самое)

RADIUS server img1

PS. Следующий пункт зполняем только на главном роутере

/radius
add address=127.0.0.1 require-message-auth=no service=wireless

RADIUS server img 2
/radius incoming
set accept=yes

Далее генерируем новый сертификат и подписываем его (Сертификат для работы не используется, но нужен для работы RADIUS сервера):

/certificate add name=certForRadius country=Ru state=Spb locality=VO organization=unit common-name=unitCertForRadius days-valid=3650 trusted=yes
/certificate sign certForRadius

Настраиваем User Manager

Активируем сервер.

User manager img 1
/user-manager
set certificate=certForRadius enabled=yes

Добавляем новый сервер.

User manager img 2


/user-manager router
add address=127.0.0.1 name=thisRouter

PS. Если у вас несколько роутеров, то надо каждый роутер внести в этот список, указывая их IP адрес

Создаем пользователей RADIUS сервера.

PS. Если у вам надо офисная сеть, можно пункт атрибуты не заполнять. Причем что замечено, если для одних пользователей заполнять, как в примере, а для других не заполнять, то можно через одину сеть Wi-Fi (один  SSID), пользователей можно раскидывать в разные сети. Соответсвенно влан надо растащить по всей сети. ВНИМАНИЕ, данный финт работает на Микоротиках, и не будет работать, если использовать Wi-Fi точки TP-Link или ASUS (на них не работает даже учет трафика), на Кенетиках попробовать пока не удалось.

RADIUS user

/user-manager user
add attributes=Mikrotik-Wireless-VLANID:100 name=user123 password=000 shared-users=1

PS. Если вы хотите использовать дешевые точки  TP-Link, ASUS или аналоги, то в атрибутах с влан прописывать бесполезно, Shared User прописывать бесполезно. единственный вариант ограничений через Caller ID, выбрав там bind, при первом входе там вносится mac-адрес устройства и получается ограничение на одно устройство, если туда ничего не внести, то число подключений по данному логину и паролю бесконечно.

Добавляем новый профиль для беспроводных подключений, в котором выбираем EAP аутентификацию: (Вот в этом пункте и находится главная ошибка статьи на Хабре) (в приведенном примере использован as-username-and-password, но можно оставить и as-username)

Secury profile img1

Secury profile img2

Secury profile img3

/interface wireless security-profiles
add authentication-types=wpa2-eap mode=dynamic-keys name=RADIUS \
radius-called-format=ssid radius-eap-accounting=yes radius-mac-mode=\
as-username-and-password supplicant-identity="" tls-certificate=\
certForRadius tls-mode=dont-verify-certificate

Настраиваем Wi-Fi интерфейс (сразу переключаем в Advenced Mode)

Wi-Fi интерфейс

/interface wireless
set [ find default-name=wlan1 ] band=2ghz-b/g/n country=russia4 disabled=no distance=indoors frequency=auto \
installation=indoor max-station-count=20 mode=ap-bridge name=wlan2GHz preamble-mode=short \
security-profile=RADIUS ssid=Test station-roaming=enabled  vlan-id=100 vlan-mode=use-tag \
wireless-protocol=802.11 wmm-support=enabled wps-mode=disabled

Соответственно данный вариант пожно растащить и на CAPsMAN

Далее можно включить логирование работы RADIUS сервера

/system logging
add topics=radius

И в принципе на этом настройка закончена

берете телефон, находите сеть, выбираете ее, набираете логин пароль, а на сертификат устанавливаете не использовать.

Результат