Это старая версия документа!
Wi-Fi HotSpot (Captive Portal для Wi-Fi авторизации)
Введение
Модуль предоставляет возможность проводить авторизацию пользователей по номеру телефона в публичных Wi-Fi сетях.
Архитектура
Сценарий применения
В момент, когда абонент подключается к Wi-Fi, роутер обращается к DCHP-серверу для получения нового IP-адреса. Сервер возвращает данные адреса на роутер и вызывает shell-script, активирующий тариф с ограниченным доступом и «Белый список». В белые списки здесь имеет смысл включить, например, сайт провайдера или организации, предоставляющий публичный Wi-Fi.
Далее абонент перенаправляется в браузер на стартовую страницу, где ему необходимо пройти авторизацию по номеру телефона. Web-сервер получает ответ об успешной авторизации от SMS шлюза и с помощью shell-script удаляет ограничения на DPI и перенаправляет на нужную страницу.
Инсталляция и обновление
Рекомендации к оборудованию
Для подсистемы можно использовать оборудование или виртуальные машины со следующими характеристиками:
- Процессор (CPU) - 2.5 ГГц, 1 шт
- Оперативная память (RAM) - 512 Мб - 1 Гб
- Жесткий диск (HDD) - 20 Гб - 50 Гб
- Операционная система - CentOS 7.x, CentOS 8.x, VEOS 8.6, CentOS Stream 8.x, Oracle Linux Server 8.x, AlmaLinux 8.x
- Сетевая плата (NIC) - от 10 Mб/сек
Перед установкой
Новая ВМ
- Убедитесь, что установлен openssh-clients - необходим для подключения к DPI
- Все остальное необходимое окружение будет установлено автоматически
Старая ВМ
- Убедитесь, что установлен openssh-clients - необходим для подключения к DPI
- Если установлен PHP версии < 7.1, удалите старую версию:
yum -y remove php*
Новая версия будет установлена автоматически при установке dpiui2.
- Если установлен MySql, удалите:
yum remove mysql mysql-server mysql-community-common
Также удалите директорию MySql:
mv /var/lib/mysql /var/lib/mysql_old_backup
При установке wifi_hotspot будет установлен MariaDB 10.4+
CentOS 6
Рекомендуемая операционная система Cent OS 7.
Если вам необходимо поставить ее на Cent OS 6, убедитесь, что установлен supervisor 3+. Если у вас нет нужного пакета, установите его, выполнив команды:
sudo wget https://vasexperts.ru/install/supervisor-3.0-1.gf.el6.noarch.rpm yum install supervisor-3.0-1.gf.el6.noarch.rpm
Инсталляция
Для установки или обновления запустите скрипт: wifi_hotspot-rpm_install.sh.
source <(curl https://vasexperts.ru/install/wifi_hotspot-rpm_install.sh)
Будет произведена установка rpm-пакета wifi_hotspot. Будет произведена автоматическая настройка согласно конфигурации.
В процессе установки будет произведена установка / обновление окружения:
- PHP >= 7.1
- MariaDB >= 10.4
- Apache
- Composer
- PHP SSH2 lib
- Laravel/Lumen
В процессе установки будут открыты необходимые порты, а также запущен cron для выполнения фоновых задач по расписанию.
Установка подсистемы будет произведена в папку:
/var/www/html/wifi_hotspot/
После инсталляции, введите в браузере:
http://<IP адрес VM>/
Обновление
Для обновления ранее установленной версии, выполните команду
yum install -y wifi_hotspot
Конфигурация
Системные настройки модуля находятся в файле .env
/var/www/html/wifi_hotspot/backend/.env
Содержимое файла следующее:
#Системные настройки, лучше не трогать APP_ENV=local APP_DEBUG=true APP_KEY= APP_TIMEZONE=UTC #Системные настройки подключения к БД MySql, лучше не трогать DB_CONNECTION=mysql DB_HOST=localhost DB_PORT=3306 DB_DATABASE=wifi_hotspot DB_USERNAME=root DB_PASSWORD=vasexperts #Настройки подключения к SMTP-серверу. Нужны для отправки данных по авторизации в режиме отладки. CFG_SMTP_UNAME=smtptestvasexperts@gmail.com CFG_SMTP_PW=pH3xkXTp1 CFG_SMTP_HOST=smtp.gmail.com CFG_SMTP_PORT=587 CFG_SMTP_SECURE=tls CFG_SMTP_SENDER=smtptestvasexperts@gmail.com #Системные настройки, трогать нельзя CACHE_DRIVER=file QUEUE_DRIVER=database SESSION_DRIVER=cookie # #Настройка экспорта ААА-сессий (файлы с сессиями храняться в папке /var/www/html/wifi_hotspot/backend/storage/aaa_events) # #Включение/отключение экспорта ААА-сессий AAA_EXPORT_ENABLED=0 #IP-адрес NAS сервера, IPv4/IPv6, если неизвестно - 0.0.0.0 AAA_HOTSPOT_IP=0.0.0.0 #порт NAS сервера, число, если неизвестно - 0 AAA_HOTSPOT_PORT=0 #ИД точки подключения к сети передачи данных, целое число в диапазоне от 0 до 1000, необходимо заполнять для абонентов публичных Wifi-точек, # соответствует идентификатору точки подключения в поле 1 из выгрузки точек подключения AAA_HOTSPOT_ID=0 # Удаление файлов AAA-сессий, 0 - не удалять OLD_AAA_FILE_LIFETIME_DAYS=0 #Длина кода авторизации абонентов AUTH_CODE_LENGTH=6 #Замена ведущего знака "+" в номере телефона (0/1) CFG_PHONE_REPLACE_LEADING_PLUS=0 #Замена ведущей "8" на "7" в номере телефона (0/1) CFG_PHONE_REPLACE_LEADING_8_BY_7=0
php /var/www/html/wifi_hotspot/backend/artisan queue:restart
/var/www/html/wifi_hotspot/frontend/env.js
Содержимое файла следующее:
var AppEnv = {}; // Плейхолдер в поле для ввода кода авторизации абонента AppEnv.AuthCodePlaceHolder = "000000";
Информация о версиях
Версия v.1.3.3 (16.10.2023)
- Добавлена возможность автоподстановки кода из СМС в поле ввода кода (на мобильных устройствах);
- Добавлена опция в файле конфигурации (backend/.env) OLD_AAA_FILE_LIFETIME_DAYS для удаления файлов ААА-сессий спустя указанное количество дней (по-умолчанию 0 - не удалять)
Версия v.1.2.19 (11.04.2022)
Исправление ошибок, возникавших при использовании сервисов, которые не поддерживали номера телефонов с ведущим знаком "+" и/или "8":
- Добавлена возможность удалению ведущего знака "+" в номере телефона
- Добавлена возможность замены ведущей "8" на "7" в номере телефона
Версия v.1.2.17 (01.03.2022)
- Исправлены ошибки в скрипте авторизации/деавторизации абонентов;
- Расширены логи авторизации/деавторизации абонентов
- Добавлена возможность экспорта ААА-сессий
- Добавлена возможность конфигурировать длину кода авторизации абонентов
Версия v.1.2.4 (02.10.2020)
- исправление багов
Версия v.1.1.0 (06.11.2019)
- Переработан процесс замены логотипа и иконки через интерфейс dpiui2
- Изменен ограничение размера файла логотипа или иконки с 64кб до 750кб
Версия v.1.0.10 (25.10.2019)
- Исправление отображения портала на мобильных устройствах
- Исправление алгоритма повторной авторизации
Версия v.1.0.7 (15.09.2019)
- Создан новый модуль Wi-Fi HotSpot
Известные проблемы
При изменении логотипа в разделе Хотспот существует ограничение на максимальный размер файла 64кб. Будет исправлено в версии v.1.1.0.