postfx Posted June 17, 2016 Всем привет! Много что прочитал на эту тему, в том числе и тут на форуме, но конечной ясности не возникло, к сожалению. Есть задача - при соединении с WiFi-оборудованием отображать кастомный мини-сайт (сам бекенд на PHP) с полем ввода номера телефона и отсылкой СМС (на это можно не обращать внимание, так как это не имеет прямого отношения к теме, отсылка СМС уже работает с помощью интеграции с API смс-шлюза). После успешной проверки на ввод кода страница должна показать видеоролик (скорее всего тут будет редирект на страницу с роликом), после чего уже разрешить пользователю ходить в мир. То есть схема такая: 1) коннект к роутеру 2) видим страницу с формой (есть свой Linux-сервер, где всё это крутится) 3) форму сабмитим, попадаем на страницу с роликом 4) через 10 секунд попадаем на страницу "УРА!" 5) есть выход в интернет Собственно, сам сайт (набор страниц) уже есть. Осталось только связать всё воедино. В наличии свой сервер Linux, нет ограничений по установке и настройке любых пакетов. Можно ставить всё что душе приглянется. Вопросы: 1) какие аппаратные средства стоит использовать? Микротик? посоветуйте, пожалуйста, модель 2) какова общая схема взаимодействия? нужен RADIUS-сервер? Как сам сайт "сообщит" роутеру, что этого клиента надо пропустить в интернет? Через запись в радиус-БД? 3) как при этом всём управлять сессиями? смотреть кол-во подключенных и т.д.? Буду очень признателен за любые ответы! Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Night_Snake Posted June 17, 2016 Советую использовать mikrotik hotspot либо что-нибудь из chilli на *wrt. Думаю, можно даже найти/написать что-то нативное под линукс - вопрос лишь в том, кто будет роутить абонентов и какие будут использоваться точки доступа. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
postfx Posted June 17, 2016 Советую использовать mikrotik hotspot либо что-нибудь из chilli на *wrt. Думаю, можно даже найти/написать что-то нативное под линукс - вопрос лишь в том, кто будет роутить абонентов и какие будут использоваться точки доступа. Вот я и как раз хотел обратиться за подсказкой к знающим людям. Мне бы понять как все это собрать в единый живой организм. Я так понимаю, сам микротик может выступать и как роутер, и как wifi-точка. При этом за авторизацией может бегать на RADIUS-сервер (например, freeradius), поднятый на сервачке. Сам радиус-сервер смотрит в БД на сессии, а эти сессии добавлять в БД уже непосредственно из PHP, как то так? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
magnometik Posted June 20, 2016 (edited) Советую посмотреть на проект RadiusDesk. Он бесплатен + есть настройки для микротика, а самое главное - поддерживает Dynamic NAS, что очень хорошо, если у вас не статические IP адреса. Edited June 20, 2016 by magnometik Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Night_Snake Posted June 20, 2016 Я так понимаю, сам микротик может выступать и как роутер, и как wifi-точка. При этом за авторизацией может бегать на RADIUS-сервер (например, freeradius), поднятый на сервачке. Сам радиус-сервер смотрит в БД на сессии, а эти сессии добавлять в БД уже непосредственно из PHP, как то так? Да, в целом всё так. По вашим вопросам: - модель микротика зависит от схемы включения и ожидаемой нагрузки, а так же требуемой зоны покрытия - для маленьких инсталляций можно обойтись без RADIUS-сервера - смотреть подключенных пользователей можно в админке микрота (ip hotspot) Если вам требуется готовое решение - велкам в личку. Советую посмотреть на проект RadiusDesk. Он бесплатен + есть настройки для микротика, а самое главное - поддерживает Dynamic NAS, что очень хорошо, если у вас не статические IP адреса. RadiusDesk уже год не щупал, но год назад у них работало всё немного через жо. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
magnometik Posted June 21, 2016 (edited) У нас работает связка Mikrotik Hotspot + RadiusDesk. При подключении к Wi-fi у пользователя открывается внешняя страница авторизации (настраивается путём изменения файла login.html в директории Files на микротике). После ввода номера телефона скрипт записывает данные о пользователе в базу данных на MySQL(с неё берет данные RasiusDesk), пользователю отправляется через смс-шлюз пароль. Далее, когда он авторизуется, то открывается страница с рекламой и появляется интернет. 1) какие аппаратные средства стоит использовать? Микротик? посоветуйте, пожалуйста, модель Мы используем MikroTik RB951-2n. Хотя сейчас дешевле и новее Mikrotik hAP. 2) какова общая схема взаимодействия? нужен RADIUS-сервер? Как сам сайт "сообщит" роутеру, что этого клиента надо пропустить в интернет? Через запись в радиус-БД? Радиус сервер нужен. Авторизация по HTTP CHAP. Данные о пользователях пишутся "на лету" самописным скриптом прямо в БД. 3) как при этом всём управлять сессиями? смотреть кол-во подключенных и т.д.? Смотреть количество подключенных можно напрямую из БД, т.к. радиус тоже пишет туда, соответственно и сессиями можно так рулить, либо ограничивать на микротике. Edited June 21, 2016 by magnometik Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Night_Snake Posted June 22, 2016 У нас работает связка Mikrotik Hotspot + RadiusDesk. При подключении к Wi-fi у пользователя открывается внешняя страница авторизации (настраивается путём изменения файла login.html в директории Files на микротике). После ввода номера телефона скрипт записывает данные о пользователе в базу данных на MySQL(с неё берет данные RasiusDesk), пользователю отправляется через смс-шлюз пароль. Далее, когда он авторизуется, то открывается страница с рекламой и появляется интернет. А RadiusDesk уже научился делать авторизацию через FB? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
magnometik Posted June 22, 2016 У нас работает связка Mikrotik Hotspot + RadiusDesk. При подключении к Wi-fi у пользователя открывается внешняя страница авторизации (настраивается путём изменения файла login.html в директории Files на микротике). После ввода номера телефона скрипт записывает данные о пользователе в базу данных на MySQL(с неё берет данные RasiusDesk), пользователю отправляется через смс-шлюз пароль. Далее, когда он авторизуется, то открывается страница с рекламой и появляется интернет. А RadiusDesk уже научился делать авторизацию через FB? Да, наконец то научились :) Вот мануал Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...