SMS-авторизация Wi-Fi на MikroTik: настройка hotspot и внешнего портала
Коротко: порядок действий
Пять шагов ниже — весь путь настройки. Ниже по странице каждый разобран с командами.
- Вынести гостевую сеть в отдельный мост. Гостевые порты и SSID собираются в отдельный bridge со своей подсетью и DHCP. Кассы, камеры и рабочие машины остаются за его пределами.
- Включить hotspot на гостевом интерфейсе. Мастер настройки поднимает hotspot на гостевом мосту: он перехватывает HTTP и показывает страницу входа каждому, кто ещё не авторизован.
- Подключить сервер авторизации как RADIUS. В разделе RADIUS добавляется сервер портала с общим секретом, а в профиле hotspot включается использование RADIUS.
- Открыть walled garden. До входа гостю должны быть доступны адреса портала и SMS-шлюза. Без этого страница входа не загружается — это самая частая причина жалобы «портал не открывается».
- Проверить с телефона. Подключитесь к гостевому SSID с выключенными мобильными данными, дождитесь страницы входа, получите код и убедитесь, что сессия появилась в журнале подключений.
MikroTik — самое частое железо в казахстанских заведениях, и одновременно то, на котором чаще всего спотыкаются при настройке портала авторизации. Разбираем рабочую конфигурацию и три ошибки, которые съедают вечер.
Что понадобится до начала
Соберите это заранее, иначе настройка встанет на середине:
- Доступ к роутеру через Winbox или WebFig с правом менять конфигурацию
- Версия RouterOS. Hotspot есть во всех актуальных ветках, но диалоги в 6.x и 7.x различаются — сверяйтесь с тем, что видите на экране, а не со скриншотами из старых руководств
- Адрес сервера авторизации и общий секрет RADIUS — выдаются при подключении портала
- Список адресов для walled garden: сам портал и шлюз SMS
- Телефон для проверки, на котором можно выключить мобильный интернет. С включённым LTE вы не увидите, работает перехват или нет
Отдельное предупреждение про удалённую настройку. Hotspot поднимается на интерфейсе, и если ошибиться с выбором, можно отрезать себе доступ к роутеру. Работайте через порт, который в гостевой мост не входит.
Что мы собираем
Гость подключается к гостевому SSID, получает адрес, видит страницу авторизации, вводит номер телефона, получает SMS с кодом и попадает в интернет. Сессия записывается в журнал. За перехват трафика до авторизации отвечает встроенный в RouterOS hotspot, за подтверждение номера и журнал — внешний сервер авторизации.
Шаг 1. Гостевой мост и адресация
Гостевую сеть держим отдельным мостом, чтобы её трафик не смешивался с рабочим сегментом:
/interface bridge add name=bridge-guest
/ip address add address=10.50.0.1/24 interface=bridge-guest
/ip pool add name=guest-pool ranges=10.50.0.10-10.50.0.254
/ip dhcp-server add name=guest-dhcp interface=bridge-guest address-pool=guest-pool disabled=no
/ip dhcp-server network add address=10.50.0.0/24 gateway=10.50.0.1 dns-server=10.50.0.1
Гостевой SSID добавляем в этот мост, рабочий — нет. Про то, почему разделение важно не только для порядка, есть отдельный разбор про изоляцию гостевой сети.
Шаг 2. Hotspot
/ip hotspot setup
Мастер спросит интерфейс (bridge-guest), адрес сети, пул, сертификат и DNS-имя портала. После него появятся профиль hotspot и сервер. Дальше выключаем локальную базу пользователей и переводим профиль на внешнюю авторизацию:
/ip hotspot profile set [find name=hsprof1] \
use-radius=yes \
login-by=http-chap,http-pap \
html-directory=hotspot
Шаг 3. RADIUS
Сервер авторизации подключается как RADIUS-клиент. Он же принимает accounting, из которого складывается журнал сессий:
/radius add service=hotspot \
address=<адрес-сервера-авторизации> \
secret=<общий-секрет> \
timeout=3s
/radius incoming set accept=yes
/ip hotspot profile set [find name=hsprof1] radius-interim-update=5m
radius-interim-update задаёт, как часто роутер досылает сведения о живой сессии. Без него длинная сессия попадёт в журнал одной записью только при отключении гостя.
Шаг 4. Walled garden — главная причина «портал не открывается»
До авторизации hotspot блокирует всё. Если сам портал и его API живут снаружи, их адреса нужно разрешить заранее, иначе гость увидит бесконечную загрузку:
/ip hotspot walled-garden add dst-host=*.thelink.kz action=allow
/ip hotspot walled-garden ip add dst-address=<адрес-сервера> action=accept
Отдельно разрешите домены платёжных и SMS-шлюзов, если они участвуют в сценарии.
Как убедиться, что всё работает
Проверка занимает пять минут и снимает большинство последующих вопросов:
- Подключитесь к гостевому SSID с телефона, выключив мобильные данные
- Откройте любой сайт по http. Должна появиться страница входа. По https перехват не сработает, и рабочая настройка будет выглядеть сломанной
- Получите код, войдите и убедитесь, что интернет открылся
- Найдите сессию в журнале подключений: там должны быть номер, время входа и MAC устройства
- С того же телефона попробуйте открыть адрес кассы или камеры. Не должно открыться — гостевой сегмент изолирован
Последний пункт пропускают чаще всего, а он единственный, который проверяет не удобство, а безопасность.
Три ошибки, на которых теряют вечер
- DNS не разрешён. Hotspot перехватывает DNS сам, но если в DHCP гостю выдан внешний резолвер, а порт 53 закрыт фильтром, подмена не сработает и редиректа на портал не будет. Выдавайте адрес роутера как DNS-сервер
- HTTPS-редирект. Перехватить https-запрос без предупреждения о сертификате нельзя. Проверять работу портала нужно открытием http-страницы, а не любимого сайта на https
- Сессии не пишутся. Авторизация есть, accounting выключен — и при запросе показать нечего. Что именно должно оказаться в журнале, разобрано в материале о хранении логов
Что попадает в журнал
После входа по каждой сессии сохраняются номер телефона, время начала и окончания, MAC-адрес устройства и точка доступа. Это тот минимум, который отвечает на вопрос проверяющего «кто был в сети в такое-то время». Журнал выгружается из личного кабинета, отдельных команд на роутере для этого не нужно.
Сам роутер при этом ничего не хранит: логи живут на стороне портала. Это важно при замене оборудования — история не уезжает вместе с железкой. Какие поля и за какой срок имеет смысл держать, разобрано в материале про хранение логов Wi-Fi.
Что дальше
Само требование идентифицировать гостя и его основания описаны на странице о законе и проверках. Если SMS выходит дорого, сравните его с Aitu Passport: на потоке разница заметная. Для кафе и ресторанов сценарий обычно ограничивается этой настройкой, для отелей добавляется привязка к номеру комнаты.
Начните управлять гостевым
Wi-Fi уже на этой неделе
- Удаленная настройка под ключ
- Помогаем выполнить требование об идентификации
- Личный кабинет с аналитикой
Заявка на демо и КП