Captive portal на Keenetic: гостевая сеть с авторизацией по SMS
Коротко: порядок действий
Четыре шага ниже — весь путь настройки. Дальше по странице каждый разобран подробно.
- Создать гостевой сегмент. В KeeneticOS всё строится вокруг сегмента: заведите отдельный сегмент со своим SSID и подсетью, включите изоляцию клиентов и закройте доступ к остальным сегментам.
- Выбрать способ портала. Встроенная страница входа подходит для простых случаев. Для авторизации по SMS сегмент направляется на внешний портал.
- Разрешить адреса до авторизации. Пока гость не вошёл, ему нужен доступ только к порталу, DNS и SMS-шлюзу. Всё остальное до авторизации закрыто.
- Проверить с телефона по http. Перехват работает по http. Если проверять открытием https-сайта, страница входа не появится и настройка будет выглядеть сломанной, хотя она рабочая.
Keenetic часто стоит в небольших кофейнях и гостевых домах: недорогой, стабильный и с понятным интерфейсом. Портал авторизации на нём поднимается, но логика сегментов отличается от MikroTik, и это сбивает.
Что понадобится до начала
- Доступ в веб-интерфейс роутера с правами администратора
- Актуальная версия KeeneticOS. Сегменты и гостевые политики за последние версии заметно менялись. Если прошивка старая, сначала обновите её, иначе половина пунктов меню будет называться иначе, чем в любой инструкции
- Адрес портала и ключ от сервера авторизации
- Адреса для списка разрешённых: портал и шлюз SMS
- Телефон с выключенным мобильным интернетом для проверки
Ещё стоит заранее решить, где пройдёт граница между рабочей и гостевой сетью. На Keenetic это решение принимается один раз и определяет всё остальное: сегмент задаёт и SSID, и подсеть, и правила доступа.
Ключевая идея: всё строится вокруг сегмента
В KeeneticOS сеть делится на сегменты, у каждого свои адресация, правила доступа и набор SSID. Гостевой доступ делается не галочкой на точке доступа, а отдельным сегментом, к которому привязан гостевой SSID. Именно на уровне сегмента включаются изоляция клиентов и ограничение доступа к другим сегментам.
Шаг 1. Гостевой сегмент
Создайте отдельный сегмент под гостей и привяжите к нему гостевой SSID. В его настройках обязательно включите:
- изоляцию клиентов — гости не видят друг друга в сети;
- запрет доступа к другим сегментам — из гостевой сети нельзя попасть к кассе, камерам и рабочим компьютерам;
- свой пул адресов и свой DHCP.
Это тот самый барьер, ради которого всё и затевается: подробнее в разборе изоляции гостевой сети.
Шаг 2. Портал авторизации
Дальше есть два пути, и выбор зависит от модели и версии прошивки.
Встроенный портал. В KeeneticOS есть компонент авторизации в гостевой сети: он перехватывает первый запрос и показывает страницу входа. Подходит, когда достаточно простого приветствия и общего пароля, но сам по себе он не подтверждает личность гостя и не ведёт журнал сессий в пригодном для проверки виде.
Внешний сервер авторизации. Рабочий вариант для заведения: Keenetic отдаёт авторизацию наружу по RADIUS, портал подтверждает номер телефона по SMS или через цифровой ID и пишет журнал. В настройках сегмента указывается адрес RADIUS-сервера, общий секрет и включается accounting — без него сессии в журнал не попадут.
Шаг 3. Что разрешить до авторизации
Пока гость не вошёл, наружу его не пускают. Адреса самого портала и его API нужно внести в список разрешённых, иначе страница входа не загрузится и всё выглядит как «интернет не работает». Туда же добавьте домены SMS-шлюза, если он участвует в сценарии.
Как убедиться, что всё работает
- Подключитесь к гостевому SSID, выключив на телефоне мобильные данные
- Откройте любой сайт по http — должна появиться страница входа
- Войдите и проверьте, что интернет заработал
- Убедитесь, что сессия видна в журнале подключений
- Попробуйте с гостевого телефона открыть адрес роутера или рабочего компьютера — доступа быть не должно
Если последний пункт проходит и устройство из рабочей сети открывается, изоляция сегмента не включена. Это не косметический недочёт: гостевая сеть в таком виде даёт постороннему тот же доступ, что и рабочая.
Если портал не открывается
- Проверяйте по http, а не по https. Перехватить защищённое соединение без предупреждения о сертификате невозможно, поэтому «не редиректит» чаще всего означает, что телефон сам полез на https-адрес
- DNS. Если гостю выдан внешний резолвер, а перехват настроен на роутере, подмена не сработает. В гостевом сегменте DNS должен указывать на сам Keenetic
- Компонент не установлен. KeeneticOS модульный: нужный компонент может просто отсутствовать в текущей сборке, его ставят отдельно
- Кэш устройства. Телефон запоминает, что сеть «без интернета». После правок проще забыть сеть и подключиться заново, чем гадать
Что попадает в журнал
Сам Keenetic историю подключений в нужном виде не хранит. Журнал ведёт портал: по каждой сессии сохраняются номер телефона, время входа и выхода, MAC-адрес устройства. Выгрузка — из личного кабинета.
Это снимает сразу два вопроса: сколько логов поместится на роутере и что будет при сбросе настроек или замене модели. История останется на месте. Какие поля и за какой срок имеет смысл держать, разобрано в материале про хранение логов Wi-Fi.
Когда Keenetic не хватает
Одна точка на небольшой зал он тянет спокойно. Если точек несколько и нужен бесшовный роуминг между залом, террасой и вторым этажом, смотрите в сторону контроллерных систем — Omada или UniFi — сравнение есть в обзоре оборудования. Требование идентифицировать гостя от модели роутера не зависит: что именно требует закон, разобрано отдельно.
Начните управлять гостевым
Wi-Fi уже на этой неделе
- Удаленная настройка под ключ
- Помогаем выполнить требование об идентификации
- Личный кабинет с аналитикой
Заявка на демо и КП