Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версия | |||
dpi:dpi_options:use_cases:dpi_bestpractice_wifi_login [2023/08/29 12:46] – elena.krasnobryzh | dpi:dpi_options:use_cases:dpi_bestpractice_wifi_login [2024/09/26 15:29] (текущий) – внешнее изменение 127.0.0.1 | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ====== | + | ====== |
+ | {{indexmenu_n> | ||
+ | |||
+ | <note important> | ||
+ | Ниже представлен вариант для самостоятельной реализации данного модуля.\\ | ||
+ | [[ dpi: | ||
+ | |||
+ | ===== Введение ===== | ||
+ | В связи с ужесточением правил доступа через публичные WiFi hotspots к сети оператора связи, появилась необходимость идентифицировать абонента одним из способов по телефонному номеру, | ||
+ | |||
+ | ===== Схема работы ===== | ||
+ | Последовательность действий: | ||
+ | - абонент подключается к сети WiFi | ||
+ | - появляется welcome page с информацией, | ||
+ | - абонент отрывает браузер, | ||
+ | - абонент вводит телефонный номер, запрашивает код доступа | ||
+ | - код доступа отправляется на телефонный номер через SMS | ||
+ | - абонент вводит полученный код доступа | ||
+ | - происходит запись сессионной куки на абонентское устройство с сохранением в течении суток ((сессионные куки используются для повторной идентификации абонента в сети что бы не требовалось снова идентифицировать абонента через отправку SMS, срок хранения может регулироваться оператором связи самостоятельно.)) и происходит переход на запрошенный пользователем URL | ||
+ | |||
+ | Для настройки сети потребуется, | ||
+ | - DHCP сервер для организации централизованной выдачи адресов абонентам, | ||
+ | - Виртуальная машина с установленным WEB-сервером Apache (httpd), [[dpi: | ||
+ | - Доступ к сервису для отправки SMS сообщений((в примере используется сервис www.smsdirect.ru)) | ||
+ | - (опционально) NAT для уменьшения к-ва используемых IPv4 адресов, | ||
+ | - (опционально) Radius для аутентификации в сети по идентификатору абонента ((не будет рассматриваться далее, для упрощения схемы)) | ||
+ | |||
+ | Схема сети (упрощенно): | ||
+ | - WiFi роутер, | ||
+ | - Роутер(ы) сети | ||
+ | - СКАТ DPI | ||
+ | - Граничный роутер | ||
+ | |||
+ | таким образом весь трафик абонентов проходит через СКАТ DPI. | ||
+ | |||
+ | Последовательность работы: | ||
+ | - абонентское устройство подключается к WiFi роутеру | ||
+ | - WiFi роутер обращается за новым IP к DHCP серверу | ||
+ | - DHCP сервер вызывает shell скрипт, | ||
+ | - shell скрипт по выданному IP на СКАТ DPI активирует услугу белый список и тариф с ограничениями доступа | ||
+ | - WEB-сервер получает запрос на welcome page, абонент активирует браузер и переходит на любой URL | ||
+ | - WEB-сервер получает запрос на страницу идентификации ((так же проверяется наличие куки, если куки есть, то происходит автоматическая регистрация в сети абонента по данным сохраненным в куки)), абонент вводит телефонный номер и нажимает " | ||
+ | - WEB-сервер получает запрос на код доступа, | ||
+ | - WEB-сервер получает запрос на подтверждение кода доступа, | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | ===== Настройка DPI ===== | ||
+ | используем описание классов protocols.txt | ||
+ | http cs0 | ||
+ | https cs0 | ||
+ | dns cs0 | ||
+ | default cs1 | ||
+ | |||
+ | Конвертируем: | ||
+ | cat protocols.txt|lst2dscp / | ||
+ | |||
+ | из архива с исходниками копируем на DPI сервер директорию: | ||
+ | htdocs/ | ||
+ | |||
+ | создаем файл тарифа 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/ | ||
+ | |||
+ | ===== Настройка DHCP ===== | ||
+ | - настроить [[dpi: | ||
+ | - установить на триггер на выдачу нового IP: ssh dpi_user@dpi_host "/ | ||
+ | |||
+ | ===== Настойка Web-сервера ===== | ||
+ | - настроить [[dpi: | ||
+ | - настроить конфигурацию Apache, пример в директории архива conf/: \\ в conf.d/ | ||
+ | - скопировать htdocs/ в / | ||
+ | - отредактировать / | ||
+ | - отредактировать / |