Beta-версия 14.2 [Документация VAS Experts]

Различия

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

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

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
dpi:changelog:versions:beta [2026/04/27 16:25] vasexpertsdpi:changelog:versions:beta [2026/05/06 15:47] (текущий) – [Изменения в версии 14.2 BETA1] elena.krasnobryzh
Строка 4: Строка 4:
  
 <note>Отслеживайте текущую версию СКАТ и отправляйте заявки на обновление через [[dpi:dpi_brief:personal_account|Личный кабинет]]\\ \\ {{:dpi:changelog:versions:ver.png?nolink&1000|}}</note> <note>Отслеживайте текущую версию СКАТ и отправляйте заявки на обновление через [[dpi:dpi_brief:personal_account|Личный кабинет]]\\ \\ {{:dpi:changelog:versions:ver.png?nolink&1000|}}</note>
 +
 +=====Изменения в версии 14.2 BETA7=====
 +  - [DPI] Изменено: проверка на FakeSNI не производится если протокол определен по IP и нет mark1
 +  - [CG-NAT] Оптимизация команды статистики ''fdpi_ctrl list all status --service 11''
 +  - [DPDK] Увеличен максимальный размер памяти до 256 ГБ
 +  - [DPI][BRAS] Добавлена услуга 20: полисинг по рейтинг группам (RG) и контроль квот по объему.\\ Создание профиля услуги 20:
 +    - Включить поддержку RG в fastdpi.conf\\ ''rating_group_count=0'' — число rating group, ''0'' — RG отключены. Значение по умолчанию: ''0'' 
 +    - Подготовить текстовый файл, в котором для каждой рейтинг-группы прописать TBF-полисинг, квоту и действие по достижении квоты, пример:<code>rg4 tbf rate 1Mbit burst 1Mbit inbound.rate 8Mbit inbound.burst 1Mbit quota 100MB report
 +rg5 tbf rate 8Mbit burst 1Mbit inbound.rate 8Mbit inbound.burst 1Mbit quota 1GB block</code> ''report'' и ''block'' — это доступные действия по достижении квоты: ''report'' — сообщить о достижении квоты, но пропускать трафик далее; ''block'' — сообщить о достижении квоты и блокировать трафик по данной рейтинг-группе
 +    - Конвертировать тектовый файл в бинарный формат: <code>cat rg.txt | lst2rg rg.bin</code>
 +    - Поместить полученный бинарный файл в директорию, откуда его будет читать DPI: <code>cp rg.bin /var/lib/dpi/rg.bin</code>
 +    - Создать профиль услуги: <code>fdpi_ctrl load profile --service 20 --profile.name rg1 --profile.json '{ "rg_list" : "/var/lib/dpi/rg.bin" }'</code> ''max_profiles_serv20'' — настройка максимального количества профилей. По умолчанию — 32.\\ \\ Утилита rg2lst позволяет декодировать динарный файл в читаемый вид: <code>rg2lst rg.bin > rg.txt</code>
 +  - [DPIUTILS] Добавлены утилиты lst2rg и rg2lst для конвертации профиля услуги 20
  
 =====Изменения в версии 14.2 BETA6===== =====Изменения в версии 14.2 BETA6=====
   - [DPI] Добавлена проверка viber_cl по контейнеру   - [DPI] Добавлена проверка viber_cl по контейнеру
-  - [DPI] Исправлено: переопределение облачных протколов некоторыми встроенными+  - [DPI] Исправлено: переопределение облачных протоколов некоторыми встроенными
   - [DPI] Исправлено: добавлено определение протокола адресам в случае когда SNI уже в первом пакете для соблюдения приоритета IP/SNI   - [DPI] Исправлено: добавлено определение протокола адресам в случае когда SNI уже в первом пакете для соблюдения приоритета IP/SNI
   - [DPI] Исправлено: определение DSCP с первого пакета для облачных протоколов, заданных по адресам    - [DPI] Исправлено: определение DSCP с первого пакета для облачных протоколов, заданных по адресам 
   - [NAT] Добавлено явное закрытие TCP-соединения при переиспользовании порта другим абонентом   - [NAT] Добавлено явное закрытие TCP-соединения при переиспользовании порта другим абонентом
-  - [CLI] Добавлены новые поля в fdpi_cli dump flow cache command<code> +  - [CLI] Добавлены новые поля в ''fdpi_cli dump flow cache command''.\\ Опционально, если включена опция ''ipfix_reserved=1''
-Опционально, если включена опция ipfix_reserved=1: +    * ''tmst='2026/04/22 23:42:30, -00:00:00.590 (154240017032649165 ticks)' '' — время начала сессии 
-tmst='2026/04/22 23:42:30, -00:00:00.590 (154240017032649165 ticks)' время начала сессии +    * ''pkts_0=15 pkts_1=16'' — число переданных пакетов в двух направлениях 
-pkts_0=15 pkts_1=16 число переданных пакетов в двух направлениях +    * ''bts_0=5304 bts_1=9092'' — число переданных байт в двух направлениях 
-bts_0=5304 bts_1=9092 число переданных байт в двух направлениях +    * ''pktd_0=0 pktd_1=0'' — число отброшенных пакетов в двух направлениях 
-pktd_0=0 pktd_1=0 число отброшенных пакетов в двух направлениях +    * ''btd_0=0 btd_1=0'' — число отброшенных байт в двух направлениях 
-btd_0=0 btd_1=0 число отброшенных байт в двух направлениях +    * ''host='waa-pa.clients6.google.com' '' — имя хоста если есть в протоколе 
-host='waa-pa.clients6.google.com' имя хоста если есть в протоколе +  - [NAT] Изменена работа с очередями публичных портов: порты с коротким временем жизни и с длинным временем жизни живут в разных очередях. Порты теперь являются элементами подочереди приватного адреса. Порт, к которому обращались из non-owner потока, может переиспользоваться сразу 
-</code> +  - [CLI] Добавлена установка rating group и контроля tethering через 18 услугу, в настройке профиля которой добавлены новые опциональные поля:\\ ''tethN'', где возможные варианты: 
-  - [NAT] Изменена работа с очередями белых портов: порты с коротким временем жизни и с длинным временем жизни живут в разных очередях.Порты теперь являются элементами подочереди серого адреса. Порт, к которому обращались из non-owner потока, может переиспользоваться сразу +    * teth0 — нет контроля tethering (default) 
-  - [CLI] Добавлена установка rating group и контроля tethering через 18 услугу, в настройке профиля которой добавлены новые опциональные поля:<code>+    * teth1 — есть контроль tethering: tethering присутствует 
 +    * teth2 — есть контроль tethering: tethering отсутствует\\ \\ ''rgN'', где возможные варианты: 
 +    * rg0 default (rg не установлена) 
 +    * rg1 установлена rg=1\\ .. 
 +    * rg65535 установлена rg=65535\\ \\ **Пример задания 18 услуги:** 
 +    - подготавливаем текстовое описание настроек example.txt<code>     
 +    http cs0  teth1 rg1 
 +    https cs0  teth1 rg1 
 +    http cs0  teth2 rg2 
 +    https cs0  teth2 rg2
  
-    tethN где возможные варианты: +    dns  cs1  teth1 rg1 
-    teth0 нет контроля tethering (default) +    dns  cs1  teth2 rg2
-    teth1 есть контроль tethering: tethering присутствует +
-    teth2 есть контроль tethering: tethering отсутствует +
- +
-    rgN где возможные варианты: +
-    rg0 default (rg не установлена) +
-    rg1 установлена rg=1 +
-    .. +
-    rg65535 установлена rg=65535 +
- +
-    Пример задания 18 услуги: +
-    1) подготавливаем текстовое описание настроек example.txt +
-    https cs0 teth1 rg1 +
-    http cs0  teth1 rg1 +
-    dns  cs1  teth0 rg2 +
-    default cs7 teth0 rg3 +
-    2) конвертируем во внутренний формат +
-    cat example.txt|lst2dsp /tmp/example.bin +
-    3) опционально проверяем обратной конвертацией +
-    dscp2lst /tmp/example.bin +
-    4) создаем профиль 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+
  
-    В трассировке добавлено поле rg=N +    default cs7 teth0 rg3</code> :!: **В данном примере по http, https протоколам отслеживается тетеринг и в зависимости от этого назначается соответсвующая rg. Отметим, что класс полисинга cs один и тот же. Аналогично по dns протоколу. По ВСЕМ остальным протоколам (default) нет контроля тетеринга и указана отдельная rg.** 
-</code>+    - конвертируем во внутренний формат<code>cat example.txt|lst2dscp /tmp/example.bin</code> 
 +    - опционально проверяем обратной конвертацией<code>dscp2lst /tmp/example.bin</code> 
 +    - создаем профиль 18 услуги и назначаем абоненту (либо сразу назначаем неименованный профиль)<code>    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</code> Проверяем<code>fdpi_ctrl list --service 18 --login test_subs</code> В трассировке добавлено поле ''rg=N''
   - [BRAS][DHCPv6] Исправлена отправка периодического ICMPv6 Router Adv DHCPv6-абонентам     - [BRAS][DHCPv6] Исправлена отправка периодического ICMPv6 Router Adv DHCPv6-абонентам  
-  - [BRAS][pppoe] Исправлено изменение src/dst MAC в ethernet-заголовке пакета при терминации.    Для PPPoE-пакетов терминация ethernet-заголовка должна проводится всегда. Но при включенной настройке `bras_term_by_as=1в ситуации, когда srcAS не помечена как term, изменения ethernet src/dst MAC не происходило.+  - [BRAS][pppoe] Исправлено изменение src/dst MAC в ethernet-заголовке пакета при терминации. Для PPPoE-пакетов терминация ethernet-заголовка должна проводится всегда. Но при включенной настройке ''bras_term_by_as=1'' в ситуации, когда srcAS не помечена как term, изменения ethernet src/dst MAC не происходило.
  
 =====Изменения в версии 14.2 BETA5===== =====Изменения в версии 14.2 BETA5=====
Строка 155: Строка 156:
       * ''enst_fin_ack'' — ждем подтверждающий FIN+ACK от сервера на FYN от клиента       * ''enst_fin_ack'' — ждем подтверждающий FIN+ACK от сервера на FYN от клиента
       * ''enst_ack_srvfin'' — ждем подтвердающий ACK от сервера на FIN+ACK от клиента (сервер первый послал FIN)       * ''enst_ack_srvfin'' — ждем подтвердающий ACK от сервера на FIN+ACK от клиента (сервер первый послал FIN)
-  * ''qoef_0=0 qoef_1=0'' — кол-во фрагментированных пакетов в двух направлениях +    * ''qoef_0=0 qoef_1=0'' — кол-во фрагментированных пакетов в двух направлениях 
-  * ''qoer_0=6 qoer_1=6'' — кол-во ретрансмитов в двух направлениях +    * ''qoer_0=6 qoer_1=6'' — кол-во ретрансмитов в двух направлениях 
-  * ''pktp_0=1 pktp_1=0'' — количество пакетов с payload в двух направлениях, но не более 65000 +    * ''pktp_0=1 pktp_1=0'' — количество пакетов с payload в двух направлениях, но не более 65000 
-  * ''btsp_0=1 btsp_1=0'' — объем payload в двух направлениях, но не более 65K +    * ''btsp_0=1 btsp_1=0'' — объем payload в двух направлениях, но не более 65K 
-  * ''whoisc=0'' или ''1'' — кто инициировал соединение +    * ''whoisc=0'' или ''1'' — кто инициировал соединение 
-  * **Опционально** — если еcть NAT трансляция: +    * **Опционально** — если еcть NAT трансляция: 
-    * ''whip=94.140.198.86:33326'' — выделенный белый адрес+порт +      * ''whip=94.140.198.86:33326'' — выделенный белый адрес+порт 
-    * ''itrnsld=1'' — индекс данных профиля по которому был выделен белый адрес +      * ''itrnsld=1'' — индекс данных профиля по которому был выделен белый адрес 
-    * ''igcache=0'' — индекс в соответствующем кэше-slice перекодировки серый --> белый +      * ''igcache=0'' — индекс в соответствующем кэше-slice перекодировки серый --> белый 
-    * ''gre_pid=0'' — опеределенный callid +      * ''gre_pid=0'' — опеределенный callid 
-    * ''gre_mtd=0'' — метод выделения белого адреса для GRE+      * ''gre_mtd=0'' — метод выделения белого адреса для GRE
   - [BALANCER] Добавлена возможность использования vlan rule для фильтрации пакетов   - [BALANCER] Добавлена возможность использования vlan rule для фильтрации пакетов
   - [DPDK] Добавлено: новая опция ''dpdk_max_memzone'' [cold] — Установка DPDK max memzone count. По умолчанию, в DPDK ''max memzone count = 5120'' (зависит от версии DPDK)\\ ''0'' — использовать default-значение, зашитое в DPDK. Устанавливать значение больше имеет смысл для huge-конфигураций со многими картами, если на старте fastDPI получаем ошибку "Number of requested memzone segments exceeds maximum 5120"   - [DPDK] Добавлено: новая опция ''dpdk_max_memzone'' [cold] — Установка DPDK max memzone count. По умолчанию, в DPDK ''max memzone count = 5120'' (зависит от версии DPDK)\\ ''0'' — использовать default-значение, зашитое в DPDK. Устанавливать значение больше имеет смысл для huge-конфигураций со многими картами, если на старте fastDPI получаем ошибку "Number of requested memzone segments exceeds maximum 5120"