Идентификация абонента в сети WiFi с помощью мобильного телефона [Документация VAS Experts]

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
dpi:dpi_options:use_cases:dpi_bestpractice_wifi_login:start [2024/08/08 10:57] – [Идентификация абонента в сети WiFi с помощью мобильного телефона] elena.krasnobryzhdpi:dpi_options:use_cases:dpi_bestpractice_wifi_login:start [Дата неизвестна] (текущий) – удалено - внешнее изменение (Дата неизвестна) 127.0.0.1
Строка 1: Строка 1:
-====== Идентификация абонента в сети WiFi с помощью мобильного телефона ====== 
-{{indexmenu_n>4}} 
  
-<note important>Рекомендуем ознакомиться с возможностью  [[dpi:dpi_components:module_wi-fi_hotspot:start|модуля Wi-Fi HotSpot]], управление осуществляется через [[dpi:dpi_components:dpiui:start|графический интерфейс DPIUI2]].\\ 
-Ниже представлен вариант для самостоятельной реализации данного модуля.\\ 
-[[ dpi:dpi_options:use_cases:wifi_hotspot_session_management:start|Подробная инструкция развертывания Wi-Fi Hot Spot.]]</note> 
- 
-===== Введение ===== 
-В связи с ужесточением правил доступа через публичные WiFi hotspots к сети оператора связи, появилась необходимость идентифицировать абонента одним из способов по телефонному номеру, по паспортным данным или через портал гос.услуг. В данном примере разберем организацию доступа с использованием идентификации абонента по телефонному номеру. 
- 
-===== Схема работы ===== 
-Последовательность действий: 
-  - абонент подключается к сети WiFi 
-  - появляется welcome page с информацией, что абонент должен открыть браузер и идентифицировать себя ((для мобильных устройств, например iphone автоматически отображаемая welcome page открывается в специальном режиме браузера, в котором нельзя сохранить сессионные куки и требуется открыть браузер отдельно.)) 
-  - абонент отрывает браузер, при переходе на любой URL, происходит переадресация абонента на страницу идентификации 
-  - абонент вводит телефонный номер, запрашивает код доступа 
-  - код доступа отправляется на телефонный номер через SMS 
-  - абонент вводит полученный код доступа 
-  - происходит запись сессионной куки на абонентское устройство с сохранением в течении суток ((сессионные куки используются для повторной идентификации абонента в сети что бы не требовалось снова идентифицировать абонента через отправку SMS, срок хранения может регулироваться оператором связи самостоятельно.)) и происходит переход на запрошенный пользователем URL 
- 
-Для настройки сети потребуется, подключенные отдельно: 
-  - DHCP сервер для организации централизованной выдачи адресов абонентам, обладающий возможностью при выдачи нового IP адреса вызвать shell скрипт ((считаем включенным в сеть до DPI)) 
-  - Виртуальная машина с установленным WEB-сервером Apache (httpd), [[dpi:dpi_components:utilities:oldutility:nfsen:start|модулем просмотра статистики и отчетов (nfsen)]] 
-  - Доступ к сервису для отправки SMS сообщений((в примере используется сервис www.smsdirect.ru)) 
-  - (опционально) NAT для уменьшения к-ва используемых IPv4 адресов, и записью лога трансляций IP<->IP,PORT ((не будет рассматриваться далее, для упрощения схемы)) 
-  - (опционально) Radius для аутентификации в сети по идентификатору абонента ((не будет рассматриваться далее, для упрощения схемы)) 
- 
-Схема сети (упрощенно): 
-  - WiFi роутер, сконфигурированный для получения IP от централизованного DHCP сервера и установлена welcome page ((должна располагаться на ВМ с WEB-сервером)) 
-  - Роутер(ы) сети 
-  - СКАТ DPI 
-  - Граничный роутер 
- 
-таким образом весь трафик абонентов проходит через СКАТ DPI. 
- 
-Последовательность работы: 
-  - абонентское устройство подключается к WiFi роутеру 
-  - WiFi роутер обращается за новым IP к DHCP серверу 
-  - DHCP сервер вызывает shell скрипт, при выдаче нового IP, и отдает данные по новому IP на WiFi роутер 
-  - shell скрипт по выданному IP на СКАТ DPI активирует услугу белый список и тариф с ограничениями доступа 
-  - WEB-сервер получает запрос на welcome page, абонент активирует браузер и переходит на любой URL 
-  - WEB-сервер получает запрос на страницу идентификации ((так же проверяется наличие куки, если куки есть, то происходит автоматическая регистрация в сети абонента по данным сохраненным в куки)), абонент вводит телефонный номер и нажимает "получить код доступа" 
-  - WEB-сервер получает запрос на код доступа, формирует случайное число и отправляет на телефон абонента, абонент вводит в форму полученный код и нажимает подтвердить 
-  - WEB-сервер получает запрос на подтверждение кода доступа, если код правильный, вызывает shell скрипт для удаления услуги белый список и установки тарифа WiFi доступа, устанавливает куки в браузере и переадресует на запрошенный URL 
- 
-[[http://vasexperts.ru/upload/ident.rar|архив с исходными файлами]] 
- 
-===== Настройка DPI ===== 
-используем описание классов protocols.txt 
-  http    cs0 
-  https   cs0 
-  dns     cs0 
-  default cs1 
- 
-Конвертируем: 
-  cat protocols.txt|lst2dscp /etc/dpi/protocols.dscp 
- 
-из архива с исходниками копируем на DPI сервер директорию: 
-  htdocs/wifi/.script в /home/fastdpi/ 
-   
-создаем файл тарифа default_policing.cfg для доступа к интернет через WiFi - 10 mbit: 
-  htb_inbound_root=rate 10mbit 
-  htb_inbound_class0=rate 1mbit ceil 10mbit 
-  htb_inbound_class1=rate 1mbit ceil 10mbit 
-  htb_inbound_class2=rate 8bit ceil 10mbit 
-  htb_inbound_class3=rate 8bit ceil 10mbit 
-  htb_inbound_class4=rate 8bit ceil 10mbit 
-  htb_inbound_class5=rate 8bit ceil 10mbit 
-  htb_inbound_class6=rate 8bit ceil 10mbit 
-  htb_inbound_class7=rate 8bit ceil 10mbit 
-  htb_root=rate 10mbit 
-  htb_class0=rate 1mbit ceil 10mbit 
-  htb_class1=rate 1mbit ceil 10mbit 
-  htb_class2=rate 8bit ceil 10mbit 
-  htb_class3=rate 8bit ceil 10mbit 
-  htb_class4=rate 8bit ceil 10mbit 
-  htb_class5=rate 8bit ceil 10mbit 
-  htb_class6=rate 8bit ceil 10mbit 
-  htb_class7=rate 8bit ceil 10mbit 
- 
-создаем файл тарифа captive_portal_hard.cfg для блокировки доступа к интернет совместно с белым списком: 
-  htb_inbound_root=rate 256kbit 
-  htb_inbound_class0=rate 8bit ceil 256kbit 
-  htb_inbound_class1=rate 8bit ceil 8bit 
-  htb_inbound_class2=rate 8bit ceil 8bit 
-  htb_inbound_class3=rate 8bit ceil 8bit 
-  htb_inbound_class4=rate 8bit ceil 8bit 
-  htb_inbound_class5=rate 8bit ceil 8bit 
-  htb_inbound_class6=rate 8bit ceil 8bit 
-  htb_inbound_class7=rate 8bit ceil 8bit 
-  htb_root=rate 256kbit 
-  htb_class0=rate 8bit ceil 256kbit 
-  htb_class1=rate 8bit ceil 8bit 
-  htb_class2=rate 8bit ceil 8bit 
-  htb_class3=rate 8bit ceil 8bit 
-  htb_class4=rate 8bit ceil 8bit 
-  htb_class5=rate 8bit ceil 8bit 
-  htb_class6=rate 8bit ceil 8bit 
-  htb_class7=rate 8bit ceil 8bit 
- 
-Настроить услугу белый список: 
-  cp_server=yoursite.ru/welcome.php 
- 
-===== Настройка DHCP ===== 
-  - настроить [[dpi:dpi_components:platform:subscriber_management:subsman_remote:start#удаленный_запуск_команд_через_ssh|удаленный запуск команд через SSH]] 
-  - установить на триггер на выдачу нового IP: ssh dpi_user@dpi_host "/home/fastdpi/_add_captive_portal.sh <IP>" 
- 
-===== Настойка Web-сервера ===== 
-  - настроить [[dpi:dpi_components:platform:subscriber_management:subsman_remote:start#удаленный_запуск_команд_через_ssh|удаленный запуск команд через SSH]] 
-  - настроить конфигурацию Apache, пример в директории архива conf/: \\ в conf.d/php.ini перенести/добавить настройки из примера conf/php.ini\\ включить файл main.conf\\ настроить DocumentRooot на /var/www/html/htdocs/wifi/ 
-  - скопировать htdocs/ в /var/www/html 
-  - отредактировать /var/www/html/htdocs/wifi/.script/remove_captive_portal.sh 
-  - отредактировать /var/www/html/htdocs/wifi/request.php указать USER и PASSWORD доступ к сервису отправки SMS сообщений