{{indexmenu_n>18}} ======Rating group, Tethering, Volume Qoutas====== ===== Конфигурация СКАТ ===== * Услуга **требует дополнительной оперативной памяти** по сравнению со стандартными требованиями), которая резервируется настройкой в ''/etc/dpi/fastdpi.conf'': support_service_18=1 * ''max_profiles_serv18'' — настройка максимального количества профилей 18 услуги.\\ Значение по умолчанию: ''16'' * Указать количество рейтинг групп (rg) rating_group_count=0 ''0'' (по умолчанию) — RG отключены * ''max_profiles_serv20'' — настройка максимального количества профилей.\\ Значение по умолчанию: ''32'' Для применения конфигурации необходимо выполнить рестарт сервиса: service fastdpi restart Принцип группировки протоколов: DPI помечает каждый новый flow протоколом из [[dpi:dpi_options:protocols|списка]]. Протоколы группируются в [[dpi:dpi_options:opt_bandwidth_mgmt|классы трафика]] для применения Также применяется группировка протоколов в Rating group с учетом тетеринга. Тетеринг определяется на основе TTL в исходящем трафике. В параметре ''tethering_ttl_allowed = 128:64'' указывается список допустимых значений TTL для трафика от абонента, которые не считаются тетерингом. Значения перечисляются через ':'. Количество значений — до 256 (0-255). Данный параметр определяется глобально на DPI. Профилирование на абонента в road map. Рейтинг группы используются для квотирования по объему, полисинга на рейтинг группу и выполнения действия block, report. 18 услуга описывает группировку протоколов по классам трафика (cs) и рейтинг группам (rg). 20 услуга описывает полисинг, квоты по объему, действия для рейтинг групп (rg). =====Пример задания классов трафика и рейтинг групп с помощью 18 услуги===== [[dpi:dpi_options:opt_shaping:shaping_session|Подробное описание 18 услуги]] - Подготовить текстовый файл ''example.txt'': http cs0 teth1 rg1 https cs0 teth1 rg1 http cs0 teth2 rg2 https cs0 teth2 rg2 dns cs1 teth1 rg1 dns cs1 teth2 rg2 default cs7 teth0 rg3 Описание параметров: * teth0 — нет контроля tethering (default) * teth1 — есть контроль tethering: tethering присутствует * teth2 — есть контроль tethering: tethering отсутствует\\ \\ rgN, задает номер рейтинг группы: * rg0 default (rg не установлена) * rg1 установлена rg=1\\ .. * rg65535, максимальное количество рейтинг групп \\ \\ :!: **В данном примере по http, https протоколам отслеживается тетеринг и в зависимости от этого назначается соответствующая rg. Отметим, что класс полисинга cs один и тот же, но rg разные в зависимости от TTL. Аналогично по dns протоколу. По ВСЕМ остальным протоколам (default) нет контроля тетеринга и указана отдельная rg.** - Конвертировать во внутренний формат: cat example.txt|lst2dscp /tmp/example.bin Обратная конвертация для проверки: dscp2lst /tmp/example.bin - Создать профиль 18 услуги и назначить абоненту: fdpi_ctrl load profile --service 18 --profile.name test_dscp --profile.json '{ "dscp" : "/tmp/example.bin" }' fdpi_ctrl load --service 18 --profile.name test_dscp --login test_subs - Проверить назначение услуги: fdpi_ctrl list --service 18 --login test_subs В трассировке ''trace_ip'' добавлено поле ''rg=N'' для определения поведения DPI для конкретного flow. =====Пример задания полисинга, квоты по объему и действия для рейтинг групп (rg) с помощью 20 услуги===== - Подготовить текстовый файл, в котором для каждой рейтинг-группы прописать TBF-полисинг, квоту и действие по достижении квоты: rg1 tbf rate 1Mbit burst 1Mbit inbound.rate 8Mbit inbound.burst 1Mbit quota 100MB report rg2 tbf rate 8Mbit burst 1Mbit inbound.rate 8Mbit inbound.burst 1Mbit quota 1GB block :!: **В данном примере описаны две рейтинг группы. rg1 имеет upload 1Mbps / download 8Mbps и квоту на 100MB с действием по истечением квоты report. rg2 имеет upload 1Mbps / download 8Mbps и квоту на 1GB с действием по истечением квоты block.**\\ \\ ''report'' и ''block'' — это доступные действия по достижении квоты: * ''report'' — сообщить о достижении квоты, но пропускать трафик далее; * ''block'' — сообщить о достижении квоты и блокировать трафик по данной рейтинг-группе - Конвертировать тектовый файл в бинарный формат: cat rg.txt | lst2rg /var/lib/dpi/rg.bin Обратная конвертация для проверки: rg2lst rg.bin > rg.txt - Создать профиль 20 услуги и назначить абоненту: fdpi_ctrl load profile --service 20 --profile.name rg1 --profile.json '{ "rg_list" : "/var/lib/dpi/rg.bin" }' fdpi_ctrl load --service 20 --profile.name rg1 --login test_subs