Mikrotik Hotspot, Как включить страницу самостоятельной регистрации пользователей?

Хочу настроить HotSpot сеть, чтобы пользователь при подключении ввел свой номер телефона и в ответ ему придет смс с паролем для подключения.
Что сделано:
1) Поднят HotSpot на mikrotik с авторизацией по Radius. Доступна только страница с авторизацией.

Подскажите пожалуйста где и что настроить, чтобы страница routerIP/user/signup стала доступной для пользователей подключившихся к сети HotSpot, и user мог самостоятельно зарегистрироваться?
  • Вопрос задан
  • 7686 просмотров
Пригласить эксперта
Ответы на вопрос 4
timsoid
@timsoid
Ну как у вас получилось настроить?
Ответ написан
ifaustrue
@ifaustrue
Пишу интересное в теллеграмм канале @cooladmin
нужно добавить правильную страничку в список ресурсов доступных без регистрации.
wiki.mikrotik.com/wiki/Manual:IP/Hotspot/Walled_Garden
Ответ написан
DIITHiTech
@DIITHiTech
Fullstack javascript developer
Хоть вопрос старый, но раз я на него наткнулся...
Единственным решением этой задачи будет написания небольшого ПО, которое дергает API Mikrotik, в вашем случае это раздел API Usermanager. Самое простое - на php.
wiki.mikrotik.com/wiki/API_PHP_class
Т.е нужен внешний микро web сервер c php- банальный хостинг, если есть у роутера белый статик IP, либо свой внутренний сервер с страницей авторизации, которая соединяться с роутером и через API добавляет юзера в usermanager.
Разрешить доступ неавторизованным юзерам на хоспот на этот url. Это просто вырезка с кода- одна функция, упрощенная и поправленная на лету, так что могут быть косяки:

require('routeros_api.class2.php');
$api = new routeros_api();
$api->connect($host, $user, $password);

    function addUser($user,$password,$tariff){
        $ARR=$api->comm("/tool/user-manager/user/print",Array(
            "?name"=>$user,
            ".proplist"=>".id"
        ));

        $exists=count($ARR)>0;

        if(!$exists){

            $ARR=$api->comm("/tool/user-manager/user/add",Array(
                "customer" => "admin",
                "name" => $user,
                "password" => $password,
                "shared-users" => "1",
                "copy-from" => $tariff,
                "disabled" => "true"
            ));
            return $ARR[0];
        }else{
            return false;
        }
    }

addUser('lamak','password','2048k-30d-template');


API UserManger, как ни странно , не позволяет назначить юзеру профайл, по этому здесь хак- клонируются параметры учетной записи-шаблона. Значит надо сначала такую создать с нужным профайлом и параметрами, и заблокировать ее, с нее будут копировать параметры новые учетки.
Ответ написан
@den_scs
Хоть вопрос старый, но я добавлю.

На микротике нужно модернизировать страницу аутентификации и добавить кнопку регистрации, в нашем случае мы убрали поля ввода логина и пароля, но добавили после отправки смс, пользователь вводит телефон, жмет кнопку запроса пароля, указанный номер телефона в качестве логина ищется в Mysql, если не находит то создаёт и генерирует пароль, если находит то генерирует пароль и отправляет по смс, тем временем на странице аутентификации пользователя появляется поле ввода пароля, вводит пароль и входит в сеть.
В связке используется: Микротик + Freeradius + Mysql.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы