| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия |
| dpi:changelog:versions:ver_14 [2025/12/22 14:13] – elena.krasnobryzh | dpi:changelog:versions:ver_14 [2025/12/26 13:01] (текущий) – elena.krasnobryzh |
|---|
| {{indexmenu_n>85}} | {{indexmenu_n>85}} |
| ======Версия 14.0 Shooting Stars====== | ======Версия 14.0 Shooting Stars====== |
| <note>//В память о коллегах, которые внесли огромный вклад в развитие компании и ее продуктов и навсегда останутся в нашей памяти//</note> | //В память о коллегах, которые внесли огромный вклад в развитие компании и ее продуктов и навсегда останутся в нашей памяти// |
| ===== Изменения в версии 14.0 ===== | ===== Изменения в версии 14.0 ===== |
| ===DPI=== | ===DPI=== |
| - [DPIUTILS] Обновлена утилита checknat. [[dpi:dpi_components:utilities:management_utilities#checknat|Описание]] | - [DPIUTILS] Обновлена утилита checknat. [[dpi:dpi_components:utilities:management_utilities#checknat|Описание]] |
| - [DPIUTILS] Обновлена утилита dns2dic с поддержкой блокировки доменов. [[dpi:dpi_options:dns_substitution|Описание]] | - [DPIUTILS] Обновлена утилита dns2dic с поддержкой блокировки доменов. [[dpi:dpi_options:dns_substitution|Описание]] |
| | |
| | =====Изменения в версии 14.1 ===== |
| | ===DPI=== |
| | - [DPI][ajb_save_vlan] Исправлена ошибка при работе движка в режиме только для чтения |
| | - [DPDK][tap_device] Исправлено: задание длины tx-очереди опцией ''dpdk_tx_queue_size''. Ранее длина tx-очереди TAP-девайса безусловно задавалась равно 256, на что VMware VMXNET3 Ethernet Controller ругался: ETHDEV: Invalid value for nb_tx_desc(=256), should be: <= 4096, >= 512, and a product of 1 |
| | - [LAG] Исправлено: добавлена балансировка для пакетов pass |
| | - [DPI][ip_node stg] Добавлена статистика по заселению buckets. Новая CLI-команда ''stat storage ip4 detail'' выводит статистику по заполнению buckets в IPv4 node storage |
| | - [DPI] Добавлена валидация протоколу MULTIPROXY_STRONG |
| | - [DPI] Улучшена масштабируемость на 128-ядерных системах |
| | - [DPI][log] Улучшена подсистема логирования в случаях переполнения log файлов. |
| | - [DPI][tethering] Добавлено детектирование tethering. Параметр ''tethering_ttl_allowed = 128:64'' [hot] - определяет список допустимых значений TTL для трафика от абонента, которые не считаются tethering. Значения перечисляются через ':'. Количество значений до 256 (0-255). [[dpi:dpi_options:opt_statistics:statistics_ipfix|Описание]] |
| | ===BRAS=== |
| | - [BRAS][framed-route] Исправлено: передача Framed-Route при изменении логина абонента. При изменении логина подсети Framed-Route оставались подключенными к старому логину, и все услуги и полисинг для подсетей Framed-Route брались от старого логина. |
| | - [BRAS] Добавлена опция ''bras_disable_l3_auth'' — явный запрет L3 auth в режиме L2 BRAS для всех абонентов. К примеру будет работать только DHCP авторизация для абонентов с метой AS local. Значение по умолчанию: ''off'' (L3 auth разрешена) ''bras_disable_l3_auth=off''. Данная опция имеет смысл только если ''enable_auth=1''. Опция несовместима с режимом ''bras_dhcp_auth_mix=0'': если задано ''bras_dhcp_auth_mix=0'', то ''bras_disable_l3_auth'' полагается равным ''off'' (L3 auth разрешена) и выводится предупреждение в alert-лог. |
| | - [BRAS] Добавлен новый флаг для абонента — запрет L3 auth для конкретного абонента. Этот флаг можно установить/снять только через CLI: в команду ''subs prop set'' добавлен новый параметр ''disable_l3_auth=[1:0]'' (''1'' - запретить L3 auth, ''0'' - разрешить). По умолчанию L3 auth разрешена. |
| | - [BRAS][srcIP spoofing] Добавлена фильтрация по флагам source AS на пути subs→inet до приема пакета в обработку для блокирования исходящего от оператора DDOS с подменой IP-адреса.\\ Добавлена новая опция fastdpi.conf ''ip_filter_source_as_flags'' (hot)[hot] Фильтрация subs-трафика по AS. Битовая маска флагов AS (автономных систем) для source IP со стороны subs.\\ В обработку допускаются только пакеты, у которых source IP AS содержит хотя бы один из перечисленных флагов. В противном случае пакет дропается. Значения флагов AS (битовая маска): |
| | * 0 - фильтрация отключена (по умолчанию) — ''ip_filter_source_as_flags=0x0'' |
| | * 0x0100 - pass |
| | * 0x0200 - local |
| | * 0x0400 - peer |
| | * 0x0800 - term |
| | * 0x1000 - mark1 |
| | * 0x2000 - mark2 |
| | * 0x4000 - mark3 |
| | - [BRAS][PPP] В команду ''ppp show stat'' добавлена статистика по утилизации БД-сессий |
| | - [BRAS][PCEF][Policing] Добавлено конфигурирование общего полисинга из параметров переданных в атрибуте ''VasExperts-Policing-Profile'' с префиксом ''BR##'' |
| | - [BRAS][PCEF][Services] Добавлено конфигурирование персонального (''noname'') профиля пользователя для сервисов из параметров переданных в атрибуте ''VasExperts-Service-Profile'' с префиксом ''BP##'' |
| | - [BRAS][PCEF][rating-group] Новые опции (cold, требуется рестарт fastDPI): |
| | * ''rating_group_count'' — число rating group, ''0'' — RG отключены. Значение по умолчанию: ''0'' |
| | * ''rating_group_max_subs'' — max число абонентов с RG. Значение по умолчанию: ''0'' (RG отключены)\\ Хранилище RG инициализируется только если включена биллинговая статистика. Расчет объема памяти под RG статистику: размер счетчиков под одну RG = 32 байта. Общий размер требуемой памяти:<code>32 * rating_group_count * rating_group_max_subs * num_thread</code> Например, для 10 тыс. абонентов, 256 RG и 8 потоков обработки требуется 625M памяти:<code>rating_group_count = 256 |
| | rating_group_max_subs = 10000 |
| | num_thread = 8 |
| | memory_required= 32 * 256 * 10000 * 8 = 625M</code> |
| | - [BRAS][PCEF][rating-group][RADIUS Accounting] Вывод статистики по RG в RADIUS Accounting. Статистика по RG передается в отдельных пакетах Interim-Update. Передаются данные только по ненулевым RG. Из-за ограничений на размер RADIUS-пакета в 4096 байт, RG-данные могут быть разбиты на несколько RADIUS-пакетов Interim-Update. \\ Чтобы отличить Interim-Update содержит признак данных, содержащихся в нем: новый VSA `VasExperts-Acct-Type` (id=28, vendor 43823, тип integer) со значениями: |
| | * ''0'': стандартный Interim Update Accounting |
| | * ''1'': данные по RG \\ Каждая rating-group и ее счетчики передаются в *одном* VSA, который содержит следующие атрибуты: |
| | * ''VasExperts-Acct-Rating-Group'' (новый атрибут типа short, 16-битовое целое) - номер RG; |
| | * '' VasExperts-Acct-Input-Octets-64'' |
| | * ''VasExperts-Acct-Output-Octets-64'' |
| | * ''VasExperts-Acct-Input-Packets-64'' |
| | * ''VasExperts-Acct-Output-Packets-64''\\ счетчики пакетов/байт по направлениям выводятся в соответствии с опцией ''acct_swap_dir'' (как в Accounting). \\ Особенности передачи RG: |
| | * RG являются опциональными данными и могут отсутствовать у абонента; соответственно и никакой передачи RG-аккаунтинга для такого абонента не будет; |
| | * в случае неподтверждения приема RG-пакета со стороны RADIUS-сервера его повторная отправка не производится, - свежие данные отправятся в следующем Interim-Update абонента; |
| | * если абонент имеет RG-статистику, то по окончании сессии перед отправкой Acct-Stop посылаются текущие RG-данные в пакетах Interim-Update. |
| | - [BRAS][PCEF][rating-group][CLI] Добавлено: CLI-команда ''subs traffic stat''. Команда для указанного абонента выводит биллинговую статистику и статистику по rating group, если они подключены у абонента. |
| | - [BRAS][PCEF][rating-group][RADIUS Accept] Добавлено: задание услуги RG при авторизации. Накопление статистики по RG может быть включено только если включена услуга 9 (bill stat) для конкретного абонента. RG задается на уровне абонента при авторизации указанием специального профиля услуги 9 с именем 'RG': <code>VasExperts-Service-Profile :="9:RG"</code> Если услуга 9 отключается, отключается и накопление RG.\\ Примеры заданий услуги 9 и RG:<code># service 9 enabled, RG disabled. Отправляется стандартный RADIUS Accounting. |
| | VasExperts-Enable-Service :="9:on"</code> <code># service 9 enabled, RG enabled. Отправляются данные RG в RADIUS Accounting. |
| | VasExperts-Service-Profile :="9:RG"</code> <code># service 9 disabled, RG disabled. Не отправляются стандартный RADIUS Accounting и RG. |
| | VasExperts-Enable-Service :="9:off"</code> |
| | - [BRAS][SHCV][hot] Добавлен контроль активности static IP L2-абонента (абонента, которому при L3-авторизации RADIUS возвратил флаг ''VasExperts-L2-User=1'').\\ Новые опции (все - горячие) |
| | * ''bras_subs_shcv_interval'' — Интервал неактивности, секунд; ''0'' - SHCV отключен. |
| | * ''bras_subs_shcv_retry_timeout'' — Время ожидания ответа на ARP-запрос, секунд, по умолчанию = ''3'' секунды. |
| | * ''bras_subs_shcv_retry_count'' — Число ARP-запросов, по умолчанию = ''3''. |
| | * ''bras_shcv_trace'' — Трассировка SHCV, по умолчанию = ''off''.\\ \\ Если от абонента в течение ''bras_subs_shcv_interval'' секунд нет никакого трафика, fastDPI начинает пинговать абонента отправкой unicast ARP-запроса от имени абонентского шлюза. Ожидание ответа на ARP-запрос - ''bras_subs_shcv_retry_timeout'', секунд. Если на ''bras_subs_shcv_retry_count'' последовательных ARP-запросов не получено ни одного ответа, либо ARP-ответ содержит другой MAC, абонент считается неактивным, его статус авторизации сбрасывается, аккаунтинг-сессия останавливается. |
| | - [BRAS][DHCP][hot] Для опции ''bras_dhcp_check_secondary_keys'' доступны новые значения ''2'' и ''4''. Полное описание опции:\\ \\ ''bras_dhcp_check_secondary_keys'' — контроль вторичных уникальных ключей (opt82/QinQ) [hot]\\ В DHCP основными ключами выступают ClientId (opt61) или, если ClientId не указан, MAC-адрес клиента. В режиме контроля вторичных ключей если хотя бы по одному вторичному ключу найдена другая DHCP-сессия, она будет закрыта (посылается acct Stop) |
| | * ''0'' (значение по умолчанию) — не контролировать вторичные ключи. |
| | * ''1'' — контролировать все вторичные ключи — QinQ и opt82 |
| | * ''2'' — контролировать только opt82 |
| | * ''4'' — контролировать только QinQ |
| | - [BRAS][L2TP] Исправлено: падение при получении дубля out-of-order ctl-пакета |
| | - [BRAS][dhcp-relay] Добавлена возможность сохранения значения поля siaddr.\\ Новый флаг в опции ''bras_dhcp_server'': ''keep_siaddr=1'' — сохранять поле siaddr DHCP-пакета. Пример:<code bash>bras_dhcp_server=188.227.73.42%eth0;arp_proxy=1;reply_port=67;keep_siaddr=1</code> По умолчанию поле siaddr может быть модифицировано, чтобы скрыть реальный адрес DHCP-сервера.</code> |
| | - [BRAS][CLI] Добавлено: команда `subs db stat` вывода статистики по БД L2 BRAS |
| | - [BRAS][DHCP6] Исправлено: падение при обработке DHCPv6 с некорректной длиной в UDP-заголовке |
| | |
| | ===NAT=== |
| | - [CG-NAT] Добавлен ''rx_dispatcher=3'' — метод с равномерной балансировкой по произвольному количеству потоков с поддержкой NAT 1:1 с требованием назначения конкретных адресов. |
| | - [CG-NAT] Учет времени жизни трансляции в команде ''fdpi_ctrl list status --service 11 --login UserName (--ip IP)''. В выводе команды появились дополнительные поля: ''active_sess_tcp'' — количество активных NAT-трансляций для TCP и ''active_sess_udp'' — количество активных NAT-трансляций для UDP.\\ Активность трансляции определяется временем ее последнего использования и параметром времени жизни, задаваемого в опциях кластера. |
| | - [CG-NAT][CLI] Учет времени жизни трансляции в команде ''nat show <internal_ip> [<lifetime>]''. Выводит список всех NAT трансляций для заданного серого IP. Запись трансляции выглядит следующим образом: |
| | * nat_type - тип NAT (0 - CGNAT, 1 - NAT 1:1), |
| | * protocol - протокол уровня L4 (0 - TCP, 1 - UDP), |
| | * internal_ip - серый IP, |
| | * internal_port - серый порт, |
| | * dest_ip - IP назначения, |
| | * dest_port - порт назначения, |
| | * external_ip - белый IP, |
| | * external_port - белый порт, |
| | * active - флаг активности трансляции (true если активна)\\ Активность трансляции определяется временем ее последнего использования и параметром времени жизни, задаваемого в опциях кластера. Если задан ''<lifetime>'' (в секундах), то используется его значение в качестве времени жизни трансляции. |
| | ===CLI=== |
| | - [CLI] Добавлена команда ''subs bind show'' просмотра списка IP-адресов, привязанных к логину ''<login>'':<code>subs bind show <login> [memory|udr]</code>Два режима: |
| | * ''memory'' (default) выводит привязку IP к логину так, как в данный момент задано в fastDPI. |
| | * ''udr'' — выводит привязку IP к логину из UDR\\ Вывод этих двух режимов может отличаться: не все связки IP←→логин сохраняются в UDR; например, для Framed-Route подсетей привязка к логину создается только в памяти, сами framed-route подсети хранятся в UDR в отдельной таблице, см. группу CLI-команд ''cli framed route ?'' |
| | - [CLI] Добавлено: CLI-команда ''stat http''. Эта команда выводит внутреннюю статистику, аналогичную выводу в fastdpi_stat.log: |
| | * Detailed statistics on HTTP |
| | * Detailed statistics on SSL_SAVEBL |
| | * Detailed statistics on QUIC_IETF_SAVEBL |
| | * Detailed statistics on BitTorrent |
| | - [CLI] Фикс команд ''list status --service 11'' (NAT) и ''nat show'' |
| | |
| | ===IPFIX=== |
| | - [IPFIX] Хранение информации о TTL из заголовка IP-пакетов. [[dpi:dpi_options:opt_statistics:statistics_ipfix#шаблон_экспорта_в_формате_ipfix_netflow_v10_для_протокола_ipv4|Описание]] \\ В статистику Full NetFlow в формате IPFIX добавлены: |
| | * TTL пакетов, id 192. Поле используется для обоих направлений: subs2inet и inet2subs |
| | * Rating group, id 2020 |
| | - [IPFIX] Исправлена ошибка конвертирования времени в unix формат |
| | - [IPFIX] В Full NetFlow IPFIX добавлены новые 64-bit поля. [[dpi:dpi_options:opt_statistics:statistics_ipfix#шаблон_экспорта_в_формате_ipfix_netflow_v10_для_протокола_ipv4|Описание]] \\ ''service_flags'' - информация о метках, которые получил flow в DPI. Детектированный tethering сообщается по IPFIX в бите 1 поля service_flags. Доступны 63 бита для дальнейшего использования. \\ ''detection_flags'' - зарезервировано под метод детекции. \\ ''action_flags'' - зарезервировано под передачу какие действия были с flow. |
| | - [IPFIX] В Full NetFlow IPFIX исправлена передача TTL в одном поле с идентификатором 192 в зависмости от направления. [[dpi:dpi_options:opt_statistics:statistics_ipfix#шаблон_экспорта_в_формате_ipfix_netflow_v10_для_протокола_ipv4|Описание]] |
| | |
| | ===Утилиты=== |
| | - [utils] Добавлена утилита name2custom для просмотра списка протоколов, загруженных из облака (в отличие от встроенных) |
| | |
| | ===RADIUS=== |
| | - [FastRADIUS] Добавлена поддержка записи в syslog. Новый параметр ''syslog_level'' в fdpi_radius.conf — уровень записи сообщений из alert-лога в syslog. ''0'' — запись в syslog отключена (значение по умолчанию). |
| | - [FastRADIUS] Добавлено извлечение RADIUS атрибута 3GPP User Location Info и его отправка в IPFIX |
| |