Hotspot на MikroTik — гостевой доступ с авторизацией
Hotspot — это встроенная система captive portal на MikroTik, которая перехватывает HTTP-запросы неавторизованных пользователей и перенаправляет их на страницу входа. Hotspot широко используется в гостиницах, кафе, офисных гостевых сетях и общественных пространствах. В этом руководстве настроим Hotspot с нуля, кастомизируем страницу входа, настроим различные методы аутентификации и ограничения для пользователей.
Описание
Что такое Hotspot
Hotspot на MikroTik — это не просто captive portal, а комплексная система управления доступом, включающая:
| Компонент | Описание |
|---|---|
| Captive portal | Перехват HTTP и перенаправление на страницу логина |
| Аутентификация | Логин/пароль, MAC-адрес, HTTP cookie, RADIUS |
| Авторизация | Контроль доступа: скорость, трафик, время |
| Accounting | Учёт трафика и времени каждого пользователя |
| Walled Garden | Ресурсы, доступные без авторизации |
Hotspot работает на уровне IP: он создаёт правила в файрволе, NAT и mangle, которые перенаправляют трафик неавторизованных пользователей. После успешной аутентификации пользователь получает доступ в интернет согласно назначенному профилю.
Требования
- Интерфейс (bridge, VLAN или физический), на котором будет работать Hotspot
- DHCP-сервер на этом интерфейсе (Hotspot создаст его автоматически при настройке через wizard)
- DNS-сервер (можно использовать встроенный DNS MikroTik)
- Сертификат SSL (опционально, для HTTPS login page)
Настройка
Шаг 1: Подготовка интерфейса
Предположим, гостевая сеть работает на отдельном bridge или VLAN. Если используется VLAN, создадим его:
[admin@MikroTik] ># Создание VLAN для гостевой сети /interface/vlan add name=vlan-guest vlan-id=100 interface=bridge-lan # Назначение IP-адреса /ip/address add address=10.10.10.1/24 interface=vlan-guest
Если вы используете отдельный bridge:
[admin@MikroTik] >/interface/bridge add name=bridge-guest /interface/bridge/port add bridge=bridge-guest interface=ether4 /ip/address add address=10.10.10.1/24 interface=bridge-guest
Шаг 2: Настройка через Hotspot Wizard
Самый быстрый способ — использовать встроенный wizard. Он автоматически создаёт DHCP-сервер, правила файрвола, DNS и профиль Hotspot.
[admin@MikroTik] >/ip/hotspot/setup
Wizard задаст серию вопросов:
| Параметр | Значение | Описание |
|---|---|---|
| hotspot interface | vlan-guest | Интерфейс для Hotspot |
| local address of network | 10.10.10.1/24 | IP-адрес маршрутизатора в гостевой сети |
| masquerade network | yes | NAT для выхода в интернет |
| address pool | 10.10.10.2-10.10.10.254 | Пул адресов DHCP |
| SSL certificate | none | Без SSL (или выберите сертификат) |
| SMTP server | 0.0.0.0 | Не используем |
| DNS servers | 10.10.10.1 | DNS для клиентов |
| DNS name | guest.local | Имя для страницы логина |
| name of local hotspot user | admin | Логин первого пользователя |
| password | ******** | Пароль первого пользователя |
После завершения wizard создаст все необходимые объекты.
Шаг 3: Ручная настройка (альтернатива wizard)
Если вы предпочитаете полный контроль, настройте всё вручную:
DHCP-сервер:
[admin@MikroTik] >/ip/pool add name=pool-guest ranges=10.10.10.2-10.10.10.254 /ip/dhcp-server/network add address=10.10.10.0/24 \ gateway=10.10.10.1 dns-server=10.10.10.1 /ip/dhcp-server add name=dhcp-guest interface=vlan-guest \ address-pool=pool-guest lease-time=1h disabled=no
DNS:
[admin@MikroTik] >/ip/dns set allow-remote-requests=yes
Hotspot-профиль сервера:
[admin@MikroTik] >/ip/hotspot/profile add name=guest-profile \ hotspot-address=10.10.10.1 \ dns-name=guest.local \ html-directory=hotspot \ login-by=http-chap,cookie \ http-cookie-lifetime=1d \ rate-limit="2M/2M" \ smtp-server=0.0.0.0 \ split-user-domain=no \ use-radius=no
Hotspot-сервер:
[admin@MikroTik] >/ip/hotspot add name=hotspot-guest \ interface=vlan-guest \ address-pool=pool-guest \ profile=guest-profile \ idle-timeout=15m \ keepalive-timeout=5m \ disabled=no
NAT для гостевой сети:
[admin@MikroTik] >/ip/firewall/nat add chain=srcnat \ src-address=10.10.10.0/24 \ out-interface-list=WAN \ action=masquerade \ comment="NAT for guest hotspot"
Шаг 4: Создание пользователей
Простые пользователи с логином и паролем:
[admin@MikroTik] ># Один пользователь /ip/hotspot/user add name=guest1 password="Welcome2024" \ profile=default server=hotspot-guest # Несколько пользователей /ip/hotspot/user add name=guest2 password="Hotel2024" profile=default /ip/hotspot/user add name=guest3 password="Cafe2024" profile=default
Пользовательские профили с ограничениями:
[admin@MikroTik] ># Профиль для обычных гостей — 2 Мбит/с, лимит 500 МБ /ip/hotspot/user/profile add name=guest-basic \ rate-limit="2M/2M" \ shared-users=1 \ session-timeout=8h \ idle-timeout=15m \ keepalive-timeout=5m \ transfer-limit=524288000 \ advertise=no # Профиль для VIP — 10 Мбит/с, без лимита трафика /ip/hotspot/user/profile add name=guest-vip \ rate-limit="10M/10M" \ shared-users=3 \ session-timeout=24h \ idle-timeout=30m \ advertise=no # Назначение профиля пользователю /ip/hotspot/user add name=vip-user password="VIPpass" \ profile=guest-vip
Параметры профиля:
| Параметр | Описание |
|---|---|
| rate-limit | Ограничение скорости (upload/download). Формат: rx/tx |
| shared-users | Сколько устройств могут одновременно использовать один логин |
| session-timeout | Максимальная длительность сессии |
| idle-timeout | Отключение при отсутствии активности |
| transfer-limit | Лимит общего трафика в байтах (upload + download) |
| advertise | Показ рекламных страниц между сессиями |
Шаг 5: Генерация ваучеров (voucher/ticket)
Ваучеры — одноразовые коды доступа, которые можно распечатать и раздать гостям.
[admin@MikroTik] ># Создание пользователей-ваучеров /ip/hotspot/user add name=V-00001 password=V-00001 \ profile=guest-basic limit-uptime=4h server=hotspot-guest comment="Voucher 4h" /ip/hotspot/user add name=V-00002 password=V-00002 \ profile=guest-basic limit-uptime=4h server=hotspot-guest comment="Voucher 4h"
Для массовой генерации используйте скрипт:
[admin@MikroTik] >/system/script add name=generate-vouchers policy=read,write source={ :local count 20 :local prefix "V" :local profile "guest-basic" :local uptime "4h" :for i from=1 to=$count do={ :local code "" :for j from=1 to=8 do={ :local chars "ABCDEFGHJKLMNPQRSTUVWXYZ23456789" :local rand [:pick $chars ([:randi] % [:len $chars]) \ (([:randi] % [:len $chars]) + 1)] :set code "$code$rand" } :local voucherName "$prefix-$code" /ip/hotspot/user add name=$voucherName password=$voucherName \ profile=$profile limit-uptime=$uptime \ comment="Voucher $uptime generated" :log info "Created voucher: $voucherName" } :log info "Generated $count vouchers" }
Шаг 6: Walled Garden — доступ без авторизации
Walled Garden позволяет разрешить доступ к определённым ресурсам без прохождения аутентификации. Это полезно для:
- Страница с информацией о заведении
- Платёжные системы (для покупки доступа)
- Корпоративный сайт
- Капча-сервисы (reCAPTCHA)
Walled Garden по IP (Layer 3):
[admin@MikroTik] ># Разрешить доступ к платёжной системе /ip/hotspot/walled-garden/ip add \ dst-host=0.0.0.0/0 \ dst-port=443 \ protocol=tcp \ action=accept \ dst-address=185.71.76.0/22 \ comment="Payment system" # Разрешить DNS /ip/hotspot/walled-garden/ip add \ protocol=udp \ dst-port=53 \ action=accept \ comment="Allow DNS"
Walled Garden по DNS-имени (Layer 7):
[admin@MikroTik] ># Разрешить корпоративный сайт /ip/hotspot/walled-garden add \ dst-host="company.com" \ action=allow \ comment="Corporate website" /ip/hotspot/walled-garden add \ dst-host="*.company.com" \ action=allow \ comment="Corporate subdomains" # Разрешить Google reCAPTCHA (если используется на login page) /ip/hotspot/walled-garden add \ dst-host="*.google.com" action=allow /ip/hotspot/walled-garden add \ dst-host="*.gstatic.com" action=allow /ip/hotspot/walled-garden add \ dst-host="*.googleapis.com" action=allow
Шаг 7: Кастомизация страницы входа
Файлы страницы входа хранятся в директории /hotspot на файловой системе маршрутизатора. Основные файлы:
| Файл | Описание |
|---|---|
| login.html | Главная страница логина |
| alogin.html | Страница после успешного входа |
| status.html | Страница статуса (показывает трафик, время) |
| logout.html | Страница выхода |
| error.html | Страница ошибки |
| redirect.html | Страница перенаправления |
| rlogin.html | Страница для автологина по cookie |
| md5.js | JavaScript для CHAP-аутентификации |
Скачивание стандартных файлов для редактирования:
Подключитесь к MikroTik через FTP или Winbox (Files) и скачайте папку /hotspot. Отредактируйте login.html в текстовом редакторе.
Основные переменные, доступные в шаблонах:
| Переменная | Описание |
|---|---|
$(hostname) | Имя маршрутизатора |
$(identity) | System identity |
$(login-by) | Метод аутентификации |
$(username) | Имя пользователя |
$(ip) | IP-адрес клиента |
$(mac) | MAC-адрес клиента |
$(uptime) | Время сессии |
$(session-time-left) | Оставшееся время |
$(bytes-in) | Принятый трафик |
$(bytes-out) | Отправленный трафик |
$(link-redirect) | URL, на который перенаправить после логина |
$(error) | Текст ошибки |
Пример минимального login.html:
html<html> <head> <title>Guest WiFi - $(identity)</title> <meta name="viewport" content="width=device-width, initial-scale=1"> <style> body { font-family: Arial, sans-serif; background: #f5f5f5; display: flex; justify-content: center; align-items: center; min-height: 100vh; margin: 0; } .login-box { background: white; padding: 40px; border-radius: 8px; box-shadow: 0 2px 10px rgba(0,0,0,0.1); max-width: 400px; width: 100%; } h1 { text-align: center; color: #333; } input { width: 100%; padding: 12px; margin: 8px 0; border: 1px solid #ddd; border-radius: 4px; box-sizing: border-box; } button { width: 100%; padding: 12px; background: #2196F3; color: white; border: none; border-radius: 4px; cursor: pointer; font-size: 16px; } button:hover { background: #1976D2; } .error { color: red; text-align: center; } </style> $(if chap-id) <script src="/md5.js"></script> $(endif) </head> <body> <div class="login-box"> <h1>Guest WiFi</h1> <p style="text-align:center;color:#666;">Welcome to $(identity)</p> $(if error)<p class="error">$(error)</p>$(endif) <form name="sendin" action="$(link-login-only)" method="post" $(if chap-id)onSubmit="return doLogin()"$(endif)> <input type="hidden" name="dst" value="$(link-redirect)" /> <input type="hidden" name="popup" value="true" /> <input type="text" name="username" placeholder="Username" required /> <input type="password" name="password" placeholder="Password" required /> <button type="submit">Connect</button> </form> </div> $(if chap-id) <script> function doLogin() { document.sendin.username.value = document.sendin.username.value; document.sendin.password.value = hexMD5('$(chap-id)' + document.sendin.password.value + '$(chap-challenge)'); return true; } </script> $(endif) </body> </html>
Загрузите отредактированные файлы обратно в /hotspot через FTP или Winbox.
Шаг 8: IP Binding — обход Hotspot для доверенных устройств
IP Binding позволяет определённым устройствам обходить Hotspot-аутентификацию.
[admin@MikroTik] ># Обход по MAC-адресу (устройство всегда имеет доступ) /ip/hotspot/ip-binding add \ mac-address=AA:BB:CC:DD:EE:FF \ type=bypassed \ comment="Admin laptop" # Обход по IP-адресу /ip/hotspot/ip-binding add \ address=10.10.10.200 \ type=bypassed \ comment="IP camera" # Блокировка устройства (никогда не получит доступ) /ip/hotspot/ip-binding add \ mac-address=11:22:33:44:55:66 \ type=blocked \ comment="Banned device"
Типы binding:
| Тип | Описание |
|---|---|
| bypassed | Устройство обходит Hotspot, не видит страницу логина |
| blocked | Устройство полностью заблокировано |
| regular | Стандартное поведение (captive portal) |
Шаг 9: Изоляция гостевой сети
Важно изолировать гостевую сеть от корпоративной:
[admin@MikroTik] ># Запретить доступ из гостевой сети в корпоративную /ip/firewall/filter add chain=forward \ src-address=10.10.10.0/24 \ dst-address=192.168.1.0/24 \ action=drop \ comment="Block guest to corporate" # Запретить доступ к маршрутизатору (кроме Hotspot-портов) /ip/firewall/filter add chain=input \ in-interface=vlan-guest \ dst-port=!53,67,443 \ protocol=tcp \ action=drop \ comment="Block guest access to router" /ip/firewall/filter add chain=input \ in-interface=vlan-guest \ dst-port=!53,67 \ protocol=udp \ action=drop \ comment="Block guest UDP to router"
Проверка
Проверка статуса Hotspot
[admin@MikroTik] >/ip/hotspot print
Поле invalid должно быть пустым. Если Hotspot показывает invalid, проверьте, существует ли указанный интерфейс и address-pool.
Просмотр активных пользователей
[admin@MikroTik] >/ip/hotspot/active print
Вывод показывает подключённых пользователей с их IP, MAC, временем сессии и трафиком.
Просмотр всех пользователей и их статистики
[admin@MikroTik] >/ip/hotspot/user print /ip/hotspot/user print detail where name=guest1
Тестирование подключения
- Подключите устройство к гостевой сети
- Откройте браузер и перейдите на любой HTTP-сайт
- Должна появиться страница логина
- Введите учётные данные
- После успешного входа проверьте доступ к интернету
Проверка Walled Garden
[admin@MikroTik] >/ip/hotspot/walled-garden print /ip/hotspot/walled-garden/ip print
Тестирование: с неавторизованного устройства попробуйте открыть ресурс из Walled Garden — он должен быть доступен.
Просмотр логов Hotspot
[admin@MikroTik] >/log print where topics~"hotspot"
Мониторинг трафика гостевой сети
[admin@MikroTik] >/interface/monitor-traffic vlan-guest once
Типичные ошибки
1. Страница логина не появляется
Причина: клиент использует HTTPS (большинство современных браузеров). Hotspot не может перехватить HTTPS-трафик без SSL-сертификата.
Решение:
[admin@MikroTik] ># Создайте самоподписанный сертификат /certificate add name=hotspot-cert common-name=guest.local \ key-size=2048 days-valid=3650 key-usage=tls-server /certificate sign hotspot-cert # Назначьте сертификат профилю Hotspot /ip/hotspot/profile set guest-profile \ ssl-certificate=hotspot-cert \ login-by=http-chap,https,cookie
Также помогает настройка DNS name — клиент будет перенаправлен на https://guest.local/login:
[admin@MikroTik] >/ip/hotspot/profile set guest-profile dns-name=guest.local
Обратите внимание: браузер покажет предупреждение о самоподписанном сертификате. Для production-среды рекомендуется использовать сертификат от Let's Encrypt.
2. Пользователь авторизовался, но нет интернета
Причина: отсутствует NAT-правило или DNS не работает.
Решение:
[admin@MikroTik] ># Проверьте NAT /ip/firewall/nat print where chain=srcnat # Убедитесь, что есть masquerade для гостевой подсети /ip/firewall/nat add chain=srcnat \ src-address=10.10.10.0/24 \ out-interface-list=WAN \ action=masquerade # Проверьте DNS /ip/dns print # Убедитесь, что allow-remote-requests=yes /ip/dns set allow-remote-requests=yes
3. Hotspot конфликтует с файрволом
Причина: Hotspot создаёт динамические правила файрвола. Если у вас есть правило drop all в chain=forward, оно может блокировать Hotspot-трафик до того, как динамические правила обработаются.
Решение: убедитесь, что правила Hotspot расположены выше (имеют меньший номер) правил drop:
[admin@MikroTik] ># Посмотрите порядок правил /ip/firewall/filter print where chain=forward # Hotspot-правила обычно имеют комментарий "hotspot" # Убедитесь, что ваши drop-правила расположены ПОСЛЕ них
4. Cookie-авторизация не работает
Причина: dns-name не настроен или отличается от того, что видит клиент.
Решение:
[admin@MikroTik] ># Установите dns-name /ip/hotspot/profile set guest-profile dns-name=guest.local # Увеличьте время жизни cookie /ip/hotspot/profile set guest-profile http-cookie-lifetime=3d
5. Слишком много одновременных пользователей на одном логине
Причина: параметр shared-users позволяет использовать один логин на нескольких устройствах.
Решение:
[admin@MikroTik] ># Ограничить одно устройство на логин /ip/hotspot/user/profile set guest-basic shared-users=1 # Или разрешить 3 устройства /ip/hotspot/user/profile set guest-basic shared-users=3
6. Медленная работа после авторизации
Причина: rate-limit настроен слишком строго или некорректно.
Решение:
[admin@MikroTik] ># Проверьте текущий rate-limit /ip/hotspot/user/profile print detail where name=guest-basic # Формат rate-limit: rx-rate/tx-rate [burst-rx/burst-tx] [burst-threshold-rx/burst-threshold-tx] [burst-time] # Пример с burst для комфортной загрузки страниц: /ip/hotspot/user/profile set guest-basic \ rate-limit="2M/2M 4M/4M 1500k/1500k 8/8"
Это даёт базовую скорость 2 Мбит/с с кратковременным burst до 4 Мбит/с, что обеспечивает быструю загрузку веб-страниц при стабильном ограничении для потокового видео.
User Manager (опционально)
Начиная с RouterOS 7, User Manager встроен в систему и доступен через веб-интерфейс. Он предоставляет графический интерфейс для управления пользователями, профилями и просмотра статистики.
[admin@MikroTik] ># Включение User Manager /user-manager set enabled=yes # Добавление маршрутизатора как NAS /user-manager/router add name=local address=127.0.0.1 shared-secret="secret123" # Настройка Hotspot для использования RADIUS (User Manager) /ip/hotspot/profile set guest-profile use-radius=yes /radius add service=hotspot address=127.0.0.1 secret="secret123"
После этого управление пользователями доступно через веб-интерфейс маршрутизатора на порту 443 в разделе User Manager.
Hotspot на MikroTik — зрелое и гибкое решение для организации гостевого доступа. Комбинация captive portal, ограничений по скорости и трафику, Walled Garden и кастомизируемой страницы входа покрывает потребности большинства сценариев — от небольшого кафе до крупной гостиницы.
# Создание VLAN для гостевой сети
/interface/vlan add name=vlan-guest vlan-id=100 interface=bridge-lan
# Назначение IP-адреса
/ip/address add address=10.10.10.1/24 interface=vlan-guest
/interface/bridge add name=bridge-guest
/interface/bridge/port add bridge=bridge-guest interface=ether4
/ip/address add address=10.10.10.1/24 interface=bridge-guest
/ip/hotspot/setup
/ip/pool add name=pool-guest ranges=10.10.10.2-10.10.10.254
/ip/dhcp-server/network add address=10.10.10.0/24 \
gateway=10.10.10.1 dns-server=10.10.10.1
/ip/dhcp-server add name=dhcp-guest interface=vlan-guest \
address-pool=pool-guest lease-time=1h disabled=no
/ip/dns set allow-remote-requests=yes
/ip/hotspot/profile add name=guest-profile \
hotspot-address=10.10.10.1 \
dns-name=guest.local \
html-directory=hotspot \
login-by=http-chap,cookie \
http-cookie-lifetime=1d \
rate-limit="2M/2M" \
smtp-server=0.0.0.0 \
split-user-domain=no \
use-radius=no
/ip/hotspot add name=hotspot-guest \
interface=vlan-guest \
address-pool=pool-guest \
profile=guest-profile \
idle-timeout=15m \
keepalive-timeout=5m \
disabled=no
/ip/firewall/nat add chain=srcnat \
src-address=10.10.10.0/24 \
out-interface-list=WAN \
action=masquerade \
comment="NAT for guest hotspot"
# Один пользователь
/ip/hotspot/user add name=guest1 password="Welcome2024" \
profile=default server=hotspot-guest
# Несколько пользователей
/ip/hotspot/user add name=guest2 password="Hotel2024" profile=default
/ip/hotspot/user add name=guest3 password="Cafe2024" profile=default
# Профиль для обычных гостей — 2 Мбит/с, лимит 500 МБ
/ip/hotspot/user/profile add name=guest-basic \
rate-limit="2M/2M" \
shared-users=1 \
session-timeout=8h \
idle-timeout=15m \
keepalive-timeout=5m \
transfer-limit=524288000 \
advertise=no
# Профиль для VIP — 10 Мбит/с, без лимита трафика
/ip/hotspot/user/profile add name=guest-vip \
rate-limit="10M/10M" \
shared-users=3 \
session-timeout=24h \
idle-timeout=30m \
advertise=no
# Назначение профиля пользователю
/ip/hotspot/user add name=vip-user password="VIPpass" \
profile=guest-vip
# Создание пользователей-ваучеров
/ip/hotspot/user add name=V-00001 password=V-00001 \
profile=guest-basic limit-uptime=4h server=hotspot-guest comment="Voucher 4h"
/ip/hotspot/user add name=V-00002 password=V-00002 \
profile=guest-basic limit-uptime=4h server=hotspot-guest comment="Voucher 4h"
/system/script add name=generate-vouchers policy=read,write source={
:local count 20
:local prefix "V"
:local profile "guest-basic"
:local uptime "4h"
:for i from=1 to=$count do={
:local code ""
:for j from=1 to=8 do={
:local chars "ABCDEFGHJKLMNPQRSTUVWXYZ23456789"
:local rand [:pick $chars ([:randi] % [:len $chars]) \
(([:randi] % [:len $chars]) + 1)]
:set code "$code$rand"
}
:local voucherName "$prefix-$code"
/ip/hotspot/user add name=$voucherName password=$voucherName \
profile=$profile limit-uptime=$uptime \
comment="Voucher $uptime generated"
:log info "Created voucher: $voucherName"
}
:log info "Generated $count vouchers"
}
# Разрешить доступ к платёжной системе
/ip/hotspot/walled-garden/ip add \
dst-host=0.0.0.0/0 \
dst-port=443 \
protocol=tcp \
action=accept \
dst-address=185.71.76.0/22 \
comment="Payment system"
# Разрешить DNS
/ip/hotspot/walled-garden/ip add \
protocol=udp \
dst-port=53 \
action=accept \
comment="Allow DNS"
# Разрешить корпоративный сайт
/ip/hotspot/walled-garden add \
dst-host="company.com" \
action=allow \
comment="Corporate website"
/ip/hotspot/walled-garden add \
dst-host="*.company.com" \
action=allow \
comment="Corporate subdomains"
# Разрешить Google reCAPTCHA (если используется на login page)
/ip/hotspot/walled-garden add \
dst-host="*.google.com" action=allow
/ip/hotspot/walled-garden add \
dst-host="*.gstatic.com" action=allow
/ip/hotspot/walled-garden add \
dst-host="*.googleapis.com" action=allow
Загрузите отредактированные файлы обратно в `/hotspot` через FTP или Winbox.
#### Шаг 8: IP Binding — обход Hotspot для доверенных устройств
IP Binding позволяет определённым устройствам обходить Hotspot-аутентификацию.
Типы binding:
| Тип | Описание |
|---|---|
| bypassed | Устройство обходит Hotspot, не видит страницу логина |
| blocked | Устройство полностью заблокировано |
| regular | Стандартное поведение (captive portal) |
#### Шаг 9: Изоляция гостевой сети
Важно изолировать гостевую сеть от корпоративной:
### Проверка
#### Проверка статуса Hotspot
Поле `invalid` должно быть пустым. Если Hotspot показывает `invalid`, проверьте, существует ли указанный интерфейс и address-pool.
#### Просмотр активных пользователей
Вывод показывает подключённых пользователей с их IP, MAC, временем сессии и трафиком.
#### Просмотр всех пользователей и их статистики
#### Тестирование подключения
1. Подключите устройство к гостевой сети
2. Откройте браузер и перейдите на любой HTTP-сайт
3. Должна появиться страница логина
4. Введите учётные данные
5. После успешного входа проверьте доступ к интернету
#### Проверка Walled Garden
Тестирование: с неавторизованного устройства попробуйте открыть ресурс из Walled Garden — он должен быть доступен.
#### Просмотр логов Hotspot
#### Мониторинг трафика гостевой сети
### Типичные ошибки
#### 1. Страница логина не появляется
**Причина**: клиент использует HTTPS (большинство современных браузеров). Hotspot не может перехватить HTTPS-трафик без SSL-сертификата.
**Решение**:
Также помогает настройка DNS name — клиент будет перенаправлен на `https://guest.local/login`:
Обратите внимание: браузер покажет предупреждение о самоподписанном сертификате. Для production-среды рекомендуется использовать сертификат от Let's Encrypt.
#### 2. Пользователь авторизовался, но нет интернета
**Причина**: отсутствует NAT-правило или DNS не работает.
**Решение**:
#### 3. Hotspot конфликтует с файрволом
**Причина**: Hotspot создаёт динамические правила файрвола. Если у вас есть правило `drop all` в chain=forward, оно может блокировать Hotspot-трафик до того, как динамические правила обработаются.
**Решение**: убедитесь, что правила Hotspot расположены выше (имеют меньший номер) правил drop:
#### 4. Cookie-авторизация не работает
**Причина**: dns-name не настроен или отличается от того, что видит клиент.
**Решение**:
#### 5. Слишком много одновременных пользователей на одном логине
**Причина**: параметр `shared-users` позволяет использовать один логин на нескольких устройствах.
**Решение**:
#### 6. Медленная работа после авторизации
**Причина**: rate-limit настроен слишком строго или некорректно.
**Решение**:
Это даёт базовую скорость 2 Мбит/с с кратковременным burst до 4 Мбит/с, что обеспечивает быструю загрузку веб-страниц при стабильном ограничении для потокового видео.
### User Manager (опционально)
Начиная с RouterOS 7, User Manager встроен в систему и доступен через веб-интерфейс. Он предоставляет графический интерфейс для управления пользователями, профилями и просмотра статистики.