Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Новинка
Распродажа
Новости
Доставка
Оплата
Загрузки
  • Прошивки
    • WinBox
    • RouterOS
    • Мобильные приложения MikroTik
    • Архив
  • RouterOS
  • Мобильные приложения MikroTik
  • Архив
Форум
Настройка
    info@mikrotik.moscow
    +7 495 320-55-52
    Заказать звонок
    Mikrotik.moscow
    Каталог
    • Акции
      Акции
    • Маршрутизаторы
      Маршрутизаторы
    • Коммутаторы
      Коммутаторы
    • Радиомосты и уличные точки доступа
      Радиомосты и уличные точки доступа
    • Wi-Fi для дома и офиса
      Wi-Fi для дома и офиса
    • LTE/5G
      LTE/5G
    • Powerline адаптеры
      Powerline адаптеры
    • IoT устройства
      IoT устройства
    • Оборудование 60 ГГц
      Оборудование 60 ГГц
    • Материнские платы RouterBOARD
      Материнские платы RouterBOARD
    • Корпуса
      Корпуса
    • Интерфейсы
      Интерфейсы
    • SFP/QSFP трансиверы
      SFP/QSFP трансиверы
    • Аксессуары
      Аксессуары
    • Антенны
      Антенны
    • Архив
      Архив
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Скачать WinBox Скачать Прошивки Форум > RouterOS Форум > SwOS Форум > Железо
    Mikrotik.moscow
    Каталог
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Mikrotik.moscow
    Телефоны
    +7 495 320-55-52
    Заказать звонок
    0
    0
    0
    Mikrotik.moscow
    • +7 495 320-55-52
      • Назад
      • Телефоны
      • +7 495 320-55-52
      • Заказать звонок
    • info@mikrotik.moscow
    • г. Москва, ул. Бакунинская, 84
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной


    • Кабинет
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    Форум
    RouterOS
    v5.19 Freeradius + Mysql + Hotspot

    v5.19 Freeradius + Mysql + Hotspot

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    v5.19 Freeradius + Mysql + Hotspot, RouterOS
     
    dinopio
    Guest
    #1
    0
    26.07.2012 02:03:00
    Привет всем! Это мой первый пост на форуме, хотел поздороваться со всеми участниками. Я постараюсь быть максимально подробным, чтобы получить четкий ответ, возможно ли то, что я планирую сделать. Я собираюсь купить довольно много роутеров MikroTik, чтобы запустить большую сеть беспроводных точек доступа. Безопасность будет открытой (открытый Wi-Fi, без шифрования). Аутентификация должна быть выполнена с помощью Radius с центральным сервером FreeRadius, доступ к которому осуществляется из интернета, а не из локальной сети. У каждого MikroTik будет неизвестный публичный IP-адрес, так как IP-адрес интернет-соединения, который питает MikroTik, может меняться при каждом включении. На приветственной странице пользователю будет предложено ввести свой номер телефона, чтобы получить SMS с паролем, который будет действовать только 1 час (логин = номер телефона, пароль = случайно сгенерирован). После ввода номера телефона и сгенерированного пароля пользователю будет показана страница ввода логина/пароля и разрешен доступ к публичному интернету на 1 час. По истечении 1 часа система должна полностью отключить соединение и заставить его повторить весь процесс с самого начала, чтобы получить новый пароль (логин остается прежним). У меня настроен Linux-сервер, на который я установлю FreeRadius, MySQL и приветственную страницу для ввода номера телефона пользователем. После ввода номера телефона пользователь аутентифицируется через страницу точки доступа интерфейса MikroTik, чтобы получить доступ, предоставленный базой данных FreeRadius. Возможен ли такой сценарий? Есть ли похожие реализации/примеры где-нибудь? Есть ли другой способ сделать это (проще?) Любая обратная связь/помощь/скрипты и информация будут очень полезны.
    С уважением, dinopio
     
     
     
    boen_robot
    Guest
    #2
    0
    26.07.2012 17:01:00
    Вероятно, было бы лучше, если бы с твоей незашифрованной целевой страницы (которая, кстати, может быть настроена и без участия hotspot, ЕСЛИ твой веб-сервер находится в твоей сети), после ввода номера телефона, ты отправлял им пароль Wi-Fi, привязанный к MAC-адресу их устройства (с которого они ввели телефон). RouterOS можно настроить так, чтобы требовать разный пароль Wi-Fi (и/или отображать другой SSID) в зависимости от MAC-адреса, а также предоставлять стандартное незашифрованное соединение для неизвестных MAC-адресов, причем все эти данные поступают с RADIUS-сервера. Так ты обеспечишь лучшую безопасность для пользователей и заодно уберешь поле для ввода логина. Мне любопытно… как ты планируешь монетизировать это? Есть ли у тебя контракт с мобильным провайдером, чтобы получать деньги за отправляемые SMS-сообщения? Если контракт наоборот (получать деньги за входящие SMS-сообщения), возможно, будет лучше попросить людей отправлять SMS на твой номер (который, конечно же, будет подключен к твоему серверу) с определенным текстом, после чего ты получишь свои деньги и отправишь им сгенерированный пароль.
     
     
     
    dinopio
    Guest
    #3
    0
    26.07.2012 17:48:00
    Отвечаю с моего iPhone, но пост почему-то не отобразился, поэтому пишу его заново. Проект должен работать на открытой Wi-Fi сети, это требование. Для пользователей это абсолютно бесплатно, никакой выгоды от этого нет. Даже SMS будет оплачиваться владельцем сети, который будет доставлять учетные данные. Я вижу это так: пользователь должен точно следовать следующей схеме:

    Найти нашу открытую Wi-Fi
    Увидеть целевую страницу, которая запросит логин/пароль и также покажет "нет аккаунта? Введите свой номер телефона, чтобы получить его БЕСПЛАТНО"
    Дождаться SMS и затем войти в систему
    Использовать интернет в течение 1 часа и затем отключиться.
    Вот и всё. Мониторинг не требуется, так как каждая сессия длится всего 1 час, и пользователь всегда использует один и тот же номер телефона, чтобы получить ещё один час.
    Всё, просто и бесплатно.
     
     
     
    dinopio
    Guest
    #4
    0
    27.07.2012 20:03:00
    Я не вижу никакого примера, как установить "срок действия" на Radius-сервере, чтобы Mikrotik отключал пользователя. Вижу, что это есть в User Manager, но не в Radius. Нужна какая-нибудь подсказка, потому что для меня очень важно иметь возможность "выгонять" пользователей через час.
     
     
     
    boen_robot
    Guest
    #5
    0
    27.07.2012 21:10:00
    Если все должно быть бесплатно и без контроля, зачем вообще лендинг и регистрация вначале? Зачем усложнять? Можно просто пропустить весь этот процесс. Если суть в том, чтобы "никакой выгоды, но людям нужно знать, кто дал им то, что они используют", можно было бы сделать лендинг с логотипом и прочим, и кнопку "Начать просмотр", которая давала бы пользователю возможность серфить в течение часа (незашифровано и все), после чего он снова попадал бы на ту же страницу, чтобы снова нажать кнопку. А на заднем плане у вас была бы простая страница авторизации точки доступа (сначала настроенная на все роутеры), с полями скрытой формы, которые автоматически заполняют предопределенную комбинацию имени пользователя/пароля, которую роутер настроен разрешать не более 1 часа работы. О, и используйте профиль, который бы указывал "shared-users" с большим значением (например, 255 или длина вашего адресного пула), чтобы каждый мог использовать эту учетную запись отдельно (то есть 1 час на устройство).
     
     
     
    dinopio
    Guest
    #6
    0
    28.07.2012 06:59:00
    Как и в моих предыдущих постах, у меня есть требования. Мобильная связь + SMS - одно из них. Постарайтесь не менять идею, а помочь мне реализовать то, что я ищу. Возможно ли установить срок действия для пользователей хотспота при использовании FreeRadius? Или для этого мне нужно использовать встроенный радиус?
     
     
     
    boen_robot
    Guest
    #7
    0
    28.07.2012 13:16:00
    Можно использовать и freeRADIUS. Просто настройте freeRADIUS на установку атрибута "Session-Timeout" при логине. Некоторые идеи просто плохи и их нужно называть своими именами. Я пытаюсь помочь вам достичь вашей цели, которая (как я пытаюсь вас убедить) может быть лучше реализована с помощью другой, лучшей, структуры/идеи. Но зачем? Зачем усложнять пользователям? Я понимаю, если вам (или мобильному провайдеру?) нужно зарабатывать на этой процедуре, или если вы хотите отслеживать трафик (ради статистики), или если эта процедура каким-то образом обеспечит лучшую безопасность для пользователей... но ни одно из этого не соответствует действительности, так что что происходит? Как вы видите выше, то, что вам нужно, можно сделать, и если бы у вас был всего один MikroTik роутер для тестирования, вы увидите, что это не так уж и сложно настроить. Но это бессмысленно усложняет. Это как если бы вы просили меня помочь вам создать пароль для папки, которая всегда будет пустой – бессмысленно, говорю вам.
     
     
     
    dinopio
    Guest
    #8
    0
    28.07.2012 13:31:00
    Спасибо за ответ насчет времени сессии. Чтобы вы поняли концепцию SMS, она нужна исключительно для того, чтобы местные абоненты (только жители) могли пользоваться сервисом. Например, вы не сможете использовать этот бесплатный сервис, если не подключены к местной сети с местным префиксом. Надеюсь, теперь вам понятно.. и да, это требование, а не сложность. Еще раз спасибо за совет, и я вернусь с результатами. Дино
     
     
     
    boen_robot
    Guest
    #9
    0
    28.07.2012 13:43:00
    Да, теперь понимаю. Спасибо, что разъяснили. И да, это требование, а не усложнение. Я сказал "бессмысленно усложнено", но раз есть цель (ограничить доступ местным жителям - это цель), то это больше не "бессмысленное" усложнение (которое еще и является требованием). Единственное, что мне осталось сказать, - повторить то, что я писал в прошлом сообщении: купите сначала один MikroTik, протестируйте его, а потом покупайте остальные и настраивайте их копиями конфигурации с первого роутера.
     
     
     
    dinopio
    Guest
    #10
    0
    28.07.2012 15:00:00
    У меня есть тестовая версия, и я в неё влюбляюсь с каждым днём!
     
     
     
    dinopio
    Guest
    #11
    0
    06.08.2012 21:44:00
    Всё настроено и работает, кроме части с таймаутом сессии. У меня raduser и radreply настроены так:
    raduser id username attribute                 op value
    1 testuser Cleartext-Password := testpass
    radreply id username attribute          op value
    1 testuser Mikrotik-Group  := default
    Я могу зайти в систему с этой настройкой. Я изучил вопрос о Session-Timeout, но не нашел нигде реализации в SQL-форме. Предполагаю, что нужно добавить какой-то SQL в sql.conf (я использовал стандартный пример из Mikrotik) и ещё одно поле в radreply для отправки строки и значения таймаута сессии… Мне нужно просто выйти пользователю из системы (из точки доступа) и заставить его снова зайти в систему, используя его логин и пароль (просто чтобы избежать незадействованных соединений)… повторный вход в систему с теми же учётными данными допустим. Буду очень благодарен за любую помощь.
     
     
     
    SurferTim
    Guest
    #12
    0
    07.08.2012 01:22:00
    Я не знаю насчет отправки таймаута сессии с RADIUS-сервера, но ты можешь назначить таймаут сессии для профиля пользователя hotspot (Mikrotik-Group). Поскольку ты назначаешь Mikrotik-Group=default с RADIUS-сервера, то это должно работать: `/ip hotspot user profile
    set default session-timeout=1h`. Ты должен суметь отправить это с RADIUS-сервера так, как показано в таблице radreply: `id username attribute         op   value 1 testuser Session-Timeout := 1h`. Включи отладку логов RADIUS, чтобы проверить ответ от RADIUS-сервера на роутере. Убедись, что он отправляется корректно. `/system logging
    add topics=radius,debug action=memory`
     
     
     
    dinopio
    Guest
    #13
    0
    07.08.2012 08:29:00
    Я попробовал то, что ты предложил, с добавлением строки в radreply, но это конфликтует с процессом логина: "неверное имя пользователя или пароль". Нужно ли мне модифицировать sql.conf freeradius, чтобы обрабатывать такие запросы? Вот что у меня сейчас. По умолчанию запросы не чувствительны к регистру (для совместимости со старыми версиями FreeRADIUS). authorize_check_query = “SELECT id, UserName, Attribute, Value, op FROM ${authcheck_table} WHERE Username = ‘%{SQL-User-Name}’ ORDER BY id” authorize_reply_query = “SELECT id, UserName, Attribute, Value, op FROM ${authreply_table} WHERE Username = ‘%{SQL-User-Name}’ ORDER BY id”
     
     
     
    SurferTim
    Guest
    #14
    0
    07.08.2012 11:34:00
    Я попробовал это, и у меня получилось. Вставляю в radreply (UserName,Attribute,op,Value) values ('testuser','Session-Timeout','=','3600'); Ответ на аутентификацию от RADIUS-сервера возвращает “Access-Accept” и “Session-Timeout = 3600” роутеру.
     
     
     
    dinopio
    Guest
    #15
    0
    07.08.2012 12:39:00
    Работает! Моя ошибка была в том, что я написал 1h вместо 3600 (запутался с первым примером).
     
     
     
    SurferTim
    Guest
    #16
    0
    07.08.2012 12:42:00
    Прости, виноват. Попробовал и "1h", и RADIUS-сервер вернул "Access-Accept" и "Session-Timeout = 1". Сессия длительностью в одну секунду не даст тебе залогиниться.
     
     
     
    ravin
    Guest
    #17
    0
    07.08.2012 13:24:00
    Чем ты используешь для: генерации случайных паролей, отправки SMS на мобильный с ID и паролем? И еще, ты хранишь мобильные номера в базе данных? Если да, то как? Спасибо.
     
     
     
    dinopio
    Guest
    #18
    0
    07.08.2012 14:47:00
    Просто PHP-скрипт, использующий 8 случайных цифр от 0-9 A-F, плагин SMS-шлюза, использующий стандартного SMS-провайдера, у которого есть API для взаимодействия с ним программно. Я использую поле имени пользователя как номер мобильного телефона. Пользователям должно быть проще его запоминать так.
     
     
     
    CACoC
    Guest
    #19
    0
    07.08.2012 20:41:00
    Этот форум определенно интересный, я как раз запустил свой первый RB751. Вижу, что он намного сложнее, чем то, к чему я привык, но идея поковыряться мне нравится. Надеюсь настроить сеть, похожую на dinopio, но хотел бы, чтобы местные не залезали. Лол, объясню в новой теме.
     
     
     
    CACoC
    Guest
    #20
    0
    07.08.2012 21:14:00
    Хочу настроить сеть, похожую на dinopio, но чтобы местные туда не лезли. Подробнее об этом в другой теме. Есть ли инструкция по настройке RB751?
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2026 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры