| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия |
| dpi:changelog:versions:beta [2026/04/15 09:19] – elena.krasnobryzh | dpi:changelog:versions:beta [2026/05/06 15:47] (текущий) – [Изменения в версии 14.2 BETA1] elena.krasnobryzh |
|---|
| |
| <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===== |
| | - [DPI] Добавлена проверка viber_cl по контейнеру |
| | - [DPI] Исправлено: переопределение облачных протоколов некоторыми встроенными |
| | - [DPI] Исправлено: добавлено определение протокола адресам в случае когда SNI уже в первом пакете для соблюдения приоритета IP/SNI |
| | - [DPI] Исправлено: определение DSCP с первого пакета для облачных протоколов, заданных по адресам |
| | - [NAT] Добавлено явное закрытие TCP-соединения при переиспользовании порта другим абонентом |
| | - [CLI] Добавлены новые поля в ''fdpi_cli dump flow cache command''.\\ Опционально, если включена опция ''ipfix_reserved=1'': |
| | * ''tmst='2026/04/22 23:42:30, -00:00:00.590 (154240017032649165 ticks)' '' — время начала сессии |
| | * ''pkts_0=15 pkts_1=16'' — число переданных пакетов в двух направлениях |
| | * ''bts_0=5304 bts_1=9092'' — число переданных байт в двух направлениях |
| | * ''pktd_0=0 pktd_1=0'' — число отброшенных пакетов в двух направлениях |
| | * ''btd_0=0 btd_1=0'' — число отброшенных байт в двух направлениях |
| | * ''host='waa-pa.clients6.google.com' '' — имя хоста если есть в протоколе |
| | - [NAT] Изменена работа с очередями публичных портов: порты с коротким временем жизни и с длинным временем жизни живут в разных очередях. Порты теперь являются элементами подочереди приватного адреса. Порт, к которому обращались из non-owner потока, может переиспользоваться сразу |
| | - [CLI] Добавлена установка rating group и контроля tethering через 18 услугу, в настройке профиля которой добавлены новые опциональные поля:\\ ''tethN'', где возможные варианты: |
| | * teth0 — нет контроля tethering (default) |
| | * 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 |
| | |
| | dns cs1 teth1 rg1 |
| | dns cs1 teth2 rg2 |
| | |
| | default cs7 teth0 rg3</code> :!: **В данном примере по http, https протоколам отслеживается тетеринг и в зависимости от этого назначается соответсвующая rg. Отметим, что класс полисинга cs один и тот же. Аналогично по dns протоколу. По ВСЕМ остальным протоколам (default) нет контроля тетеринга и указана отдельная rg.** |
| | - конвертируем во внутренний формат<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][pppoe] Исправлено изменение src/dst MAC в ethernet-заголовке пакета при терминации. Для PPPoE-пакетов терминация ethernet-заголовка должна проводится всегда. Но при включенной настройке ''bras_term_by_as=1'' в ситуации, когда srcAS не помечена как term, изменения ethernet src/dst MAC не происходило. |
| |
| =====Изменения в версии 14.2 BETA5===== | =====Изменения в версии 14.2 BETA5===== |
| * ''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" |