Модуль предоставляет возможность реализовать сценарий: Идентификация абонента в сети WiFi с помощью мобильного телефона.
В момент, когда абонент подключается к Wi-Fi, роутер обращается к DCHP-серверу для получения нового IP-адреса. Сервер возвращает данные адреса на роутер и вызывает shell-script, активирующий тариф с ограниченным доступом и «Белый список». В белые списки здесь имеет смысл включить, например, сайт провайдера или организации, предоставляющий публичный Wi-Fi.
Далее абонент перенаправляется в браузер на стартовую страницу, где ему необходимо пройти авторизацию по номеру телефона. Web-сервер получает ответ об успешной авторизации от SMS шлюза и с помощью shell-script удаляет ограничения на DPI и перенаправляет на нужную страницу.
Для подсистемы можно использовать оборудование или виртуальные машины со следующими характеристиками:
Убедитесь, что установлен openssh-clients, он необходим для подключения к DPI. Все остальное необходимое окружение будет установлено автоматически.
yum -y remove php*
Новая версия будет установлена автоматически при установке GUI.
yum remove mysql mysql-server mysql-community-common
Также удалите директорию MySql:
mv /var/lib/mysql /var/lib/mysql_old_backup
При установке wifi_hotspot будет установлен MariaDB 10.4
1. Отключить selinux. Для этого нужно установить значение SELINUX=disabled
в файле /etc/selinux/config
и перегрузить сервер.
2. Запустить скрипт wifi_hotspot-rpm_install.sh
для установки или обновления:
source <(curl https://vasexperts.ru/install/wifi_hotspot-rpm_install.sh)
Будет установлен и автоматически настроен согласно конфигурации rpm-пакет wifi_hotspot
.
В процессе установки будет произведена установка / обновление окружения:
Также будут открыты необходимые порты и запущен cron для выполнения фоновых задач по расписанию.
Подсистема будет установлена в папку /var/www/html/wifi_hotspot/
3. После инсталляции ввести в браузере:
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 #Режим отладки взаимодействия Хотспот со СКАТ. При включении не отправляется запрос к сервису авторизации смс/звонка. Код авторизации 0000. #По умолчанию 0 DEBUG_MODE=0
php /var/www/html/wifi_hotspot/backend/artisan queue:restart
Содержимое файла /var/www/html/wifi_hotspot/frontend/env.js
:
var AppEnv = {}; // Плейcхолдер в поле для ввода кода авторизации абонента AppEnv.AuthCodePlaceHolder = "000000";
Взаимодействие HotSpot с абонентом на СКАТ и команды, выполняющиеся при этом:
/var/dpiui2/add_captive_portal_auth.sh
). К IP абонента применяется профиль услуги 5 и профиль полисинга для авторизации fdpi_ctrl load --service 5 --profile.name='hotspot_white_list_profile' --ip $1 fdpi_ctrl load --policing --profile.name='wifi_hotspot_auth_policing' --ip $1
fdpi_ctrl list --bind --login='[phone]'
fdpi_ctrl del --policing --ip=[ip]
fdpi_ctrl del --service 5 --ip=[ip]
fdpi_ctrl del --service 11 --ip=[ip]
fdpi_ctrl load --bind --user='[phone]:[ip]'
fdpi_ctrl load --policing --profile.name='wifi_hotspot_policing' --login='[phone]'
fdpi_ctrl load --service [service] --login='[phone]'
fdpi_ctrl load --service [service] --profile.name='[profile_name]' --login='[phone]'
fdpi_ctrl del --policing --login='[phone]'
fdpi_ctrl list --service --login='[phone]' fdpi_ctrl del --service [service] --login='[phone]'
fdpi_ctrl del --bind --login='[phone]'
sh /var/dpiui2/add_captive_portal_auth.sh [ip]
Исправление ошибок, возникавших при использовании сервисов, которые не поддерживали номера телефонов с ведущим знаком "+" и/или "8":