Инструкция по настройке hotspot на Mikrotik для сервиса flyLogin
flyLogin — авторизация и маркетинг на сетях free Wi-Fi
Для реализации сервиса flyLogin используется оборудование Mikrotik с операционной системой RouterOS
Конфигурация для сценария только Авторизация (сервис flyLogin):
Устанавливаем на ПК, ПО WinBox отсюда http://www.mikrotik.com/download
Подключаемся к устройству.
Обновляем прошивку!!!
Создаем bridge (например с названием bridge-hotspot) в который должны входить wifi и проводные интерфейсы на которох должна работать услуга hotspot:
/interface bridge add name=bridge-hotspot
На микротиках со встроенным wifi bridge уже обычно создан и туда добавлены нужные интерфейсы, проверяйте в настройках (bridge — ports)
Добавляем в него интерфейсы:
/interface bridge port add bridge=bridge-hotspot interface=ether3-slave-local — 3 медный порт
/interface bridge port add bridge=bridge-hotspot interface=wlan1 — wifi интерфейсы
и т.д. В bridge может входить и всего один порт, например только wifi интерфейс.
Назначаем ip адрес на созданный bridge интерфейс, адреса из этой сети будут получать клиенты hotspot:
/ip address add address=192.168.110.1/24 interface=bridge-hotspot
Добавляем RADIUS сервера:
radius add service=hotspot address=176.99.2.231 secret=123456
radius add service=hotspot address=91.232.135.206 secret=123456
Запускаем мастер создания hotspot:
/ip hotspot setup
Отвечаем на вопросы:
hotspot interface: bridge-hotspot
local address of network: 192.168.110.1/24 (сеть прописанную на интерфейсе подставит автоматически)
masquerade network: yes (включаем nat этой сети)
address pool of network: 192.168.110.2-192.168.110.254 (диапазон адресов которые будут выдаваться по DHCP)
select certificate: none (сертификаты не используются)
ip address of smtp server: 0.0.0.0 (не меняем)
dns servers:77.88.8.8 (можно использовать любые, Yandex используется что бы не зависеть от провайдера и от «внешних» ресурсов. Подробнее о Yandex DNS https://dns.yandex.ru/ )
dns name: wf.wifly.net
name of local hotspot user: admin (не меняем, оставляем admin)
password for the user: (оставляем пустым)
После создания hotspot зайти в IP-Hotspot-User Profiles», в настройках профайла default установить Keepalive Timeout равным 02:00:00
Меняем способы аутентификации:
Через web IP-Hotspot-Server Profiles-hsprof1 в Login By оставляем только http-chap,http-pap.
Чуть ниже ставим галочку Use RADIUS.
В Interim Update прописываем 00:05:00.
Добавляем разрешенные ресурсы:
/ip hotspot walled-garden add action=allow server=hotspot1 dst-host=login.wifly.net
В разделе Hotspot->User Profiles->default поставить Open Status Page: HTTP Login
При наличии подключения к Интернету заменить файлы в папке Hotspot.
Для этого из winbox открываем New Terminal и вводим команды по одной:
/tool fetch host=login.wifly.net url=http://login.wifly.net/rlogin.html dst-path=([/ip hotspot profile get [find dns-name~"wifly"] html-directory]) mode=http
/tool fetch host=login.wifly.net url=http://login.wifly.net/mikrotik/0/login.html dst-path=([/ip hotspot profile get [find dns-name~"wifly"] html-directory]) mode=http
/tool fetch host=login.wifly.net url=http://login.wifly.net/mikrotik/0/alogin.html dst-path=([/ip hotspot profile get [find dns-name~"wifly"] html-directory]) mode=http
/tool fetch host=login.wifly.net url=http://login.wifly.net/mikrotik/0/logout.html dst-path=([/ip hotspot profile get [find dns-name~"wifly"] html-directory]) mode=http
/tool fetch host=login.wifly.net url=http://login.wifly.net/mikrotik/0/status.html dst-path=([/ip hotspot profile get [find dns-name~"wifly"] html-directory]) mode=http
Если не появляется страница авторизации, проверяем все настройки еще раз, если все верно — удаляем хотспот, перезагружаем микротик и настраиваем еще раз.
После настройки обязательно закрываем доступ к DNS серверу из Интернета:
/ip firewall filter add chain=input action=reject reject-with=icmp-network-unreachable protocol=udp in-interface=ether1-gateway dst-port=53
Отключаем неиспользуемые сервисы:
/ip service disable ftp,telnet,api-ssl
В случае отсутствия подключения к интернету на Микротике заменить файлы через winbox (Files) : login.html, alogin.html, logout.html, status.html Скачать >>
Задаем имя Микротика такое же как в поле “Идентификатор зоны” в свойствах зоны https://login.wifly.net/zones
/system identity set name=XXXXXXXXXXXX
Включаем NTP и устанавливаем часовой пояс:
/system clock set time-zone-name=Europe/Moscow
/system ntp client set enabled=yes primary-ntp=198.60.73.8
Разрешаем в фаерволе весь трафик icmp:
/ip firewall filter add chain=input action=accept protocol=icmp
Разрешаем доступ к управлению по ssh:
/ip firewall filter add chain=input action=accept protocol=tcp src-address=0.0.0.0/0 in-interface=ether1-gateway dst-port=22
Устанавливаем пароль командой password!!!
Добавляем файл rlogin.html
1) Скачать файл rlogin
Вариант №1, если используется хостнейм на микротике (большинство случаев). Скачать rlogin >>
ИЛИ скачать и запустить команду непосредственно на роутере& Войдите в терминал: New Terminal и вставьте команду отображенную ниже и нажмите Enter
/tool fetch host=login.wifly.net url=http://login.wifly.net/rlogin.html dst-path=([/ip hotspot profile get [find dns-name~"wifly"] html-directory]) mode=http
Вариант №2, если имя хотспота (название сервера hotspot в IP-Hotspot-Servers). Скачать rlogin >>
2) Разместить файл rlogin.html в директории, где расположены файлы хотспота: hotspot или flash/hotspot
3) Перезагрузить роутер
Для кастомных доменов (не my.wifly.net ) в файле rlogin.html необходимо заменить my.wifly.net на собственное имя
Файл для заливки в роутер login.html
Установка скрипта мониторинга состояния оборудования.
Для мониторинга состояния роутера и отображения его состояния в Личном кабинете услуги, необходимо добавить скрипт Healthcheck. Скрипт обращается к серверам сервиса и сообщает о работоспособности устройства, если устройство не выходит на связь это фиксируется и можно формировать алерты на это сообщение.
Адрес сервера мониторинга к которому обращается скрипт — wifihealthcheck.xyz
Дополнительно скрипт считывает актуальное название гостевой сети Wi-Fi и отображает в свойствах Зоны как справочную информацию.
Период обновления статуса роутера на системе — один раз в 5 минут.
Для установки скрипта зайдите на роутер Mikrotik через программу WinBox и откройте Terminal. Скопируйте все команды скрипта и вставьте их в окно терминала, далее Enter. Скрипт выполниться на роутере и начнет свою работу.
Скрипт начало:
/system script add name=healthcheck owner=admin policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source=":local hostname1 [/system identity get value-name=na\ me]\r\ \n:local hotspotCount [/ip hotspot print count-only]\r\ \n:local checkdns [/ping 8.8.8.8 count=4]\r\ \n:if (\$hotspotCount > 0) do={\r\ \n for h from=0 to \$hotspotCount do={\r\ \n :local hotspotName [/ip hotspot get value-name=name number=\$h]\r\ \n :local HotSpotINT [/ip hotspot get value-name=interface number=\$h] \r\ \n :local ssidsToSend\r\ \n :local CWInt [/interface print count-only where type ~ \"wlan\"]\r\ \n :if (checkdns > 0) do={\r\ \n :if (\$CWInt > 0) do={\r\ \n :local CWInt2 (\$CWInt-1)\r\ \n\tfor x from=0 to=\$CWInt2 do={\r\ \n\t\t:local currSSID [/interface wireless get number=\$x ssid]\r\ \n\t\t:local NameWInt [/interface wireless get value-name=name number=\$x]\r\ \n\t\t\r\ \n\t\t:local f1 [/interface bridge port find interface=\$NameWInt]\r\ \n\t\t\tif (\$f1 != \"\") do={\r\ \n\t\t\t\t:local f2 [/interface bridge port get value-name=bridge number=\$f1]\r\ \n\t\t\t\t\r\ \n\t\t\t\tif (\$f2 = \$HotSpotINT) do={\r\ \n\t\t\t\t\t:set ssidsToSend \$currSSID\r\ \n\t\t\t\t\t\r\ \n\t\t\t\t}\t\r\ \n\t\t\t} \r\ \n\t}\r\ \n } \r\ \n }\r\ \n :log warning \"send healthckeck with hotsname = \$hostname1 hotspot name= \$hotspotName ssid = \$ssidsToSend\"\r\ \n /tool fetch host=wifihealthcheck.xyz url=https://wifihealthcheck.xyz/ http-method=post http-data=\"hostname=\$hostname1&hotspot=\$hotspotName&ssid=\$ssidsToSend\ \" mode=https check-certificate=no keep-result=no\r\ \n }\r\ \n}\t" /system scheduler add interval=5m name=healthcheck on-event=healthcheck policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon start-date=sep/01/2019 \ start-time=00:00:00
Скрипт конец:
Если есть вопросы, пишите на support@wifly.net тема “Вопросы по flyLogin” или оставляйте заявку на портале поддержки https://support.wifly.net