Jump to content

HotSpot (методы реализации на своем сервере)


Recommended Posts

Posted

Всем привет!

Много что прочитал на эту тему, в том числе и тут на форуме, но конечной ясности не возникло, к сожалению.

 

Есть задача - при соединении с WiFi-оборудованием отображать кастомный мини-сайт (сам бекенд на PHP) с полем ввода номера телефона и отсылкой СМС (на это можно не обращать внимание, так как это не имеет прямого отношения к теме, отсылка СМС уже работает с помощью интеграции с API смс-шлюза). После успешной проверки на ввод кода страница должна показать видеоролик (скорее всего тут будет редирект на страницу с роликом), после чего уже разрешить пользователю ходить в мир.

 

То есть схема такая:

 

1) коннект к роутеру

2) видим страницу с формой (есть свой Linux-сервер, где всё это крутится)

3) форму сабмитим, попадаем на страницу с роликом

4) через 10 секунд попадаем на страницу "УРА!"

5) есть выход в интернет

 

Собственно, сам сайт (набор страниц) уже есть. Осталось только связать всё воедино.

В наличии свой сервер Linux, нет ограничений по установке и настройке любых пакетов. Можно ставить всё что душе приглянется.

 

Вопросы:

 

1) какие аппаратные средства стоит использовать? Микротик? посоветуйте, пожалуйста, модель

2) какова общая схема взаимодействия? нужен RADIUS-сервер? Как сам сайт "сообщит" роутеру, что этого клиента надо пропустить в интернет? Через запись в радиус-БД?

3) как при этом всём управлять сессиями? смотреть кол-во подключенных и т.д.?

 

Буду очень признателен за любые ответы!

Posted

Советую использовать mikrotik hotspot либо что-нибудь из chilli на *wrt. Думаю, можно даже найти/написать что-то нативное под линукс - вопрос лишь в том, кто будет роутить абонентов и какие будут использоваться точки доступа.

Posted

Советую использовать mikrotik hotspot либо что-нибудь из chilli на *wrt. Думаю, можно даже найти/написать что-то нативное под линукс - вопрос лишь в том, кто будет роутить абонентов и какие будут использоваться точки доступа.

Вот я и как раз хотел обратиться за подсказкой к знающим людям.

Мне бы понять как все это собрать в единый живой организм.

Я так понимаю, сам микротик может выступать и как роутер, и как wifi-точка. При этом за авторизацией может бегать на RADIUS-сервер (например, freeradius), поднятый на сервачке.

Сам радиус-сервер смотрит в БД на сессии, а эти сессии добавлять в БД уже непосредственно из PHP, как то так?

Posted (edited)

Советую посмотреть на проект RadiusDesk. Он бесплатен + есть настройки для микротика, а самое главное - поддерживает Dynamic NAS, что очень хорошо, если у вас не статические IP адреса.

Edited by magnometik
Posted

Я так понимаю, сам микротик может выступать и как роутер, и как wifi-точка. При этом за авторизацией может бегать на RADIUS-сервер (например, freeradius), поднятый на сервачке.

Сам радиус-сервер смотрит в БД на сессии, а эти сессии добавлять в БД уже непосредственно из PHP, как то так?

Да, в целом всё так. По вашим вопросам:

- модель микротика зависит от схемы включения и ожидаемой нагрузки, а так же требуемой зоны покрытия

- для маленьких инсталляций можно обойтись без RADIUS-сервера

- смотреть подключенных пользователей можно в админке микрота (ip hotspot)

Если вам требуется готовое решение - велкам в личку.

 

Советую посмотреть на проект RadiusDesk. Он бесплатен + есть настройки для микротика, а самое главное - поддерживает Dynamic NAS, что очень хорошо, если у вас не статические IP адреса.

RadiusDesk уже год не щупал, но год назад у них работало всё немного через жо.

Posted (edited)

У нас работает связка Mikrotik Hotspot + RadiusDesk. При подключении к Wi-fi у пользователя открывается внешняя страница авторизации (настраивается путём изменения файла login.html в директории Files на микротике). После ввода номера телефона скрипт записывает данные о пользователе в базу данных на MySQL(с неё берет данные RasiusDesk), пользователю отправляется через смс-шлюз пароль. Далее, когда он авторизуется, то открывается страница с рекламой и появляется интернет.

 

1) какие аппаратные средства стоит использовать? Микротик? посоветуйте, пожалуйста, модель

 

Мы используем MikroTik RB951-2n. Хотя сейчас дешевле и новее Mikrotik hAP.

 

2) какова общая схема взаимодействия? нужен RADIUS-сервер? Как сам сайт "сообщит" роутеру, что этого клиента надо пропустить в интернет? Через запись в радиус-БД?

 

Радиус сервер нужен. Авторизация по HTTP CHAP. Данные о пользователях пишутся "на лету" самописным скриптом прямо в БД.

 

3) как при этом всём управлять сессиями? смотреть кол-во подключенных и т.д.?

 

Смотреть количество подключенных можно напрямую из БД, т.к. радиус тоже пишет туда, соответственно и сессиями можно так рулить, либо ограничивать на микротике.

Edited by magnometik
Posted

У нас работает связка Mikrotik Hotspot + RadiusDesk. При подключении к Wi-fi у пользователя открывается внешняя страница авторизации (настраивается путём изменения файла login.html в директории Files на микротике). После ввода номера телефона скрипт записывает данные о пользователе в базу данных на MySQL(с неё берет данные RasiusDesk), пользователю отправляется через смс-шлюз пароль. Далее, когда он авторизуется, то открывается страница с рекламой и появляется интернет.

А RadiusDesk уже научился делать авторизацию через FB?

Posted

У нас работает связка Mikrotik Hotspot + RadiusDesk. При подключении к Wi-fi у пользователя открывается внешняя страница авторизации (настраивается путём изменения файла login.html в директории Files на микротике). После ввода номера телефона скрипт записывает данные о пользователе в базу данных на MySQL(с неё берет данные RasiusDesk), пользователю отправляется через смс-шлюз пароль. Далее, когда он авторизуется, то открывается страница с рекламой и появляется интернет.

А RadiusDesk уже научился делать авторизацию через FB?

 

Да, наконец то научились :)

Вот мануал

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...