Дорогие коллеги. Встала задача организовать HotSpot на оборудовании Mikrotik. Попробовал в тесте запустить Hotspot на Mikrotik, с отправкой смс на телефон регистрации. Это делается в соблюдении законности и своей же безопасности. Условно говоря. Есть у клиента офисы, куда приходят клиенты и нужно там организовать бесплатный WiFi с соблюдением законности, то есть с регистрацией по SMS. Сделал так. Нашел в инете готовую страницу авторизации, где вводишь номер телефона, микроток генерирует код, записывает это все в лог, далее по крону считывается логи, находится нужная строчка, вычисляется из нее логин(номер телефона) и сгенерированный пароль, и отправляется по sms, с USB-модема воткнутого в микроток(/tool sms send message=пароль phone-number=+79001234567). Схема вроде как рабочая, но в один прекрасный момент, скрипты перестали считывать логи и хоть за регистрируйся, при считывании логов возвращается пустой результат. Было принято решение использовать RADIUS и внешнюю страница авторизации на PHP. Все бы ничего, но возникли вопросы. Я написал страничку. Взял за основу уже готовую, найденную в интернете и ее исправил, чтобы отображалось поле ввода телефона и кнопка. Далее я сделал, чтобы производилась проверка наличия пользователя и если пользователь есть, то по СМС отправлялся уже установленный пароль, если пользователя нет, то генерированная пароль и так же отправлялся по смс. Далее, после ввода телефона, должна открываться страница ввода пароля. Как бы все ок, она открывается, вводишь пароль, но а дальше что? Изучение стандартных страниц ни к чему не привело. Вопрос в том, как мне объяснить микротику, что нужно пустить этого пользователя в интернет? Получается, что по моей схеме RADIUS даже не нужен. Есть внешняя страница, которая авторизует, точнее проверяет валидность данных и все. Теперь у меня 2 пути. 1. подключаться по ssh к микротику и добавлять пользователя и активное устройство, примерно так: /ip hotspot user add name=номер_телефона password=123456 mac-address=11:22:33:44:55:66 /ip hotspot active login mac-address=11:22:33:44:55:66 ip=172.17.1.101 user=номер_телефона password=123456 после этого интернет начинает работать. 2. Как-то еще заставлять микроток авторизовывать через radius.Прошу у вас друзья совета, как правильно сделать, чтобы без костылей из п.1 Хочется чтобы все такие схема работала через RADIUS(допустим будет freeradius). Мне нужно, чтобы использовалась внешняя страница авторизации на php, чтобы велись логи в БД MySQL и там же хранились все данные пользователей, и чтобы микроток понимал что работает авторизация через radius и принимал авторизационные данные от внешней страницы авторизации. В дополнение хочу вот что еще сказать. нашел официальную документацию: https://wiki.mikrotik.com/wiki/HotSpot_external_login_page Но я малость не понял, так как с английским очень туго. Поправьте меня и объясните пожалуйста. Тут по документации, я POST-запросом передаю все возможные данные во внешнюю страницу. Все ок. Это понятно. Далее я могу делать с этими данными все что хочу, добавлять в базу и так далее. После все манипуляций, в частности после проверки пользователя, генерации пароля и отправки его по СМС, мне нужно на последней странице, где ввожу пароль, в форме указать в качестве action "<?php echo $linkloginonly; ?>", значение переменной, которой я в начале скрипта получил так: $linkloginonly=$_POST['link-login-only']; Тогда у меня отправится POST запрос со всеми нужными данными обратно на микроток и так уже hotspot сам подключится к внешнему radius-у, все сравнит и если все ок, сам добавил все что нужно во все таблицы? Друзья, очень нужен совет, нужно до конца недели запустить в тесте проект, самому отстирывать и в понедельник уже производить монтаж и настройку у клиента в офисе. Заранее благодарен за все ответы.
|