Версия 14.0 Shooting Stars [Документация VAS Experts]

Различия

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

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

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
dpi:changelog:versions:ver_14 [2025/12/22 14:19] elena.krasnobryzhdpi:changelog:versions:ver_14 [2025/12/26 13:01] (текущий) elena.krasnobryzh
Строка 88: Строка 88:
   - [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