{{indexmenu_n>85}}
======Версия 14.0 Shooting Stars======
//В память о коллегах, которые внесли огромный вклад в развитие компании и ее продуктов и навсегда останутся в нашей памяти//
Отслеживайте текущую версию СКАТ и отправляйте заявки на обновление через [[dpi:dpi_brief:personal_account|Личный кабинет]]\\ \\ {{:dpi:changelog:versions:ver.png?nolink&1000|}}
=====Изменения в версии 14.2.1 =====
С версии СКАТ **14.2.1** параметр ''nat_dstaddr_cache_size'' больше не требуется применять, необходимо убрать его из ''/etc/dpi/fastdpi.conf''.
===DPI===
- Улучшена поддержка стандартов RFC в работе редирект для 16 услуги (HTTP редирект и белый список IP-адресов с терминацией TCP сессий на СКАТ): ISN в SYN+ACK заменен на непрогнозируемое значение, сессия завершается по полному циклу
===NAT===
- Улучшение работы CG-NAT при нехватке свободных портов. При недостатке у абонента свободных портов для создания новых сессий абонент может переиспользовать свои, ранее выделенные абоненту порты, более интенсивным образом. Это поведение регулируется новыми настраиваемыми таймаутами, которые по умолчанию равны указанным ниже значениям:
* ''nat_whp_lifetime_min'' = ''nat_whp_lifetime'' / 3 — таймаут переиспользования своих портов в **короткой** очереди при их нехватке
* ''nat_whp_lifetime_min_long'' = ''nat_whp_lifetime_long'' / 3 — таймаут переиспользования своих портов в **длинной** очереди при их нехватке
===Утилиты===
- В утилиту ip2proto добавлена опция ''--append'': дополнение новыми данными уже существующего файла
=====Изменения в версии 14.2 =====
===DPI===
- [DPDK] Переход на новую версию DPDK 25.11. [[dpi:dpi_brief:dpi_requirements#минимальные_требования|Описание]]
- [DPDK] Увеличен максимальный размер памяти до 256 ГБ
- [DPDK] Замечание: в комплект поставки включена сборка fastdpi_dpdk2411 на основе DPDK 24.11 для поддержки некоторых старых моделей Mellanox, просьба запланировать апгрейд сетевых карт кого это затрагивает, т.к. вероятно в текущей и будущих версия DPDK их поддержка прекращена
- [DPDK] Новый engine ''dpdk_engine=7'' с поддержкой явного указания диспетчеров\\ Данный движок поддерживает гетерогенные конфигурации, когда в одном кластере находятся порты разного типа — например, in-dev 100G порт, out-dev — несколько 10G портов. [[dpi:dpi_components:platform:dpi_config#dpdk_engine_7явное_указание_диспетчеров|Описание]]
- [DPDK] Добавлено: новая опция ''dpdk_max_memzone'' [cold] — Установка DPDK max memzone count. [[dpi:dpi_components:platform:dpi_config#dpdk_engine_7явное_указание_диспетчеров|Описание]]
- [BALANCER] Добавлена возможность использования vlan rule для фильтрации пакетов. [[dpi:dpi_components:platform:vlan_traffic_handling#использование_vlan_rule_в_balancer|Описание]]
- [DNS] Исправлена ошибка работы 19 услуги с IPv6 трафиком и Добавлена утилита dic2dns. [[dpi:dpi_options:dns_substitution#настройка|Описание]]
- Добавлен разбор туннеля GRE ERSPAN для режима ''check_tunnels=1''. [[dpi:dpi_components:platform:dpi_inst_spec:dpi_tunnels|Описание]]
- Сообщение "Can't allocate record http_state" теперь выводится раз в 50000
- Добавлена проверка флага MARK2 для переопредления в QUIC_UNKNOWN_MARKED когда протокол QUIC еще в процессе определения SNI. [[dpi:dpi_options:opt_priority:priority_config_as#формат_файла_со_списком_автономных_систем_и_их_приоритетами|Описание]]
- Добавлено детектирование протокола FakeTLS с валидацией
- Исправлено: переключение с QUIC_UNKNOWN на QUIC при успешном разборе SNI
- [LLDP] Добавлена поддержка LLDP. [[dpi:dpi_components:platform:dpi_inst_spec:lldp_support|Описание]]
- Добавлена проверка viber_cl по контейнеру
- Исправлено: переопределение облачных протоколов некоторыми встроенными
- Исправлено: добавлено определение протокола адресам в случае когда SNI уже в первом пакете для соблюдения приоритета IP/SNI
- Исправлено: определение DSCP с первого пакета для облачных протоколов, заданных по адресам
- Изменено: проверка на FakeSNI не производится если протокол определен по IP и нет mark1
- Изменено: после проверки IPSNI откат на базовый протокол или протокол, заданный по SNI (если определен)
- Изменено: уменьшена глубина просмотра в попытках декодировь cname/sni
- Решение проблемы выбора tx-порта для многозначных конфигураций: обратный пакет приоритетно посылается в тот порт, из которого был первоначальный пакет
- [RATING GROUP] Добавлена услуга 20: полисинг по рейтинг группам (RG) и контроль квот по объему.\\ Создание профиля услуги 20:
- Включить поддержку RG в fastdpi.conf\\ ''rating_group_count=0'' — число rating group, ''0'' — RG отключены. Значение по умолчанию: ''0''
- Подготовить текстовый файл, в котором для каждой рейтинг-группы прописать TBF-полисинг, квоту и действие по достижении квоты, пример: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 ''report'' и ''block'' — это доступные действия по достижении квоты: ''report'' — сообщить о достижении квоты, но пропускать трафик далее; ''block'' — сообщить о достижении квоты и блокировать трафик по данной рейтинг-группе
- Конвертировать тектовый файл в бинарный формат: cat rg.txt | lst2rg rg.bin
- Поместить полученный бинарный файл в директорию, откуда его будет читать DPI: cp rg.bin /var/lib/dpi/rg.bin
- Создать профиль услуги: fdpi_ctrl load profile --service 20 --profile.name rg1 --profile.json '{ "rg_list" : "/var/lib/dpi/rg.bin" }' ''max_profiles_serv20'' — настройка максимального количества профилей. По умолчанию — 32.\\ \\ Утилита rg2lst позволяет декодировать динарный файл в читаемый вид: rg2lst rg.bin > rg.txt
- [RATING GROUP][TETHERING] Добавлена установка 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
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 :!: **В данном примере по http, https протоколам отслеживается тетеринг и в зависимости от этого назначается соответсвующая rg. Отметим, что класс полисинга cs один и тот же. Аналогично по 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 В трассировке добавлено поле ''rg=N''
===BRAS===
- [DHCP-Dual] Добавлен учет ''Lease-Time''. [[dpi:bras_bng:bras_l2_vlan:bras_l2_vlan_dhcp:dual_dhcp#session-timeout_и_lease-time|Описание]]
- [Router] Изменено вычитывание Linux route table при старте роутера. [[dpi:dpi_components:router#внутренняя_архитектура_роутера|Описание]]
- [DHCP6-Proxy] Добавлена DHCPv6-опция 79 Client-LinkLayer-Address, содержащая MAC-адрес абонента, в Relay-Forward запросы к DHCPv6-серверу Framed-Pool
- [DHCP-Dual] Исправлено: некорректное формирование IPv6 PD-префикса для адресов из Framed-IPv6-Pool
- [DHCP-Dual] Исправлено: падение при включении трассировки по mac ''bras_dhcp_trace_mac''
- [DHCP-Dual] Исправлено: последовательность запроса адресов DHCPv6, затем DHCPv4 приводила к лишней авторизации
- [DHCP-Dual] Исправлено: трассировка ответов DHCPv6, если MAC-адрес стоит на трассировке
- [DHCP-Dual] Исправлено: анонс IPv4-адреса абонента
- [VLAN-Rule][PPPoE] Добавлено: полная поддержка Service-Name для QinQ. [[dpi:dpi_components:platform:vlan_traffic_handling#синтаксис_описания_диапазонов_vlan_qinq|Описание]]
- [DHCPv6] Исправлена отправка периодического ICMPv6 Router Adv DHCPv6-абонентам
- [PPPoE] Исправлено изменение src/dst MAC в ethernet-заголовке пакета при терминации. Для PPPoE-пакетов терминация ethernet-заголовка должна проводится всегда. Но при включенной настройке ''bras_term_by_as=1'' в ситуации, когда srcAS не помечена как term, изменения ethernet src/dst MAC не происходило.
===NAT===
- Добавлена поддержка отключения кэша белых адресов для экспорта NAT трансляций. Настройка ''nat_dstaddr_cache_size=0'' в ''/etc/dpi/fastdpi.conf''
- Улучшения в управлении лимитами сессий: для лимитов ''nat_tcp_max_sessions''/''nat_udp_max_sessions'', задающих ограничения на количество выданных белых портов, исправлено уменьшение счетчика количества выданных портов, что могло приводить к небольшому превышению заданного лимита. Изменены счетчики ''whpf'', ''whp_salfs'', ''whp_lalfs'', ''whp_ruse'', ''whp_ruse_salfs'', ''whp_ruse_lalfs'' и аналогичные счетчики в статистике по потокам (''thr_salfs'' и другие), а также вывод команды ''nat show'', чтобы отражать текущее актуальное использование портов, а не кумулятивное (накопительное)
- Исправлено: добавлена проверка актуальности NAT трансляций в режиме FullCone в случае ''nat_whp_lifetime'' < ''lifetime_flow'': если в сессии появилась активность, а NAT-порт уже переиспользован, то выделяется новый порт
- Добавлено явное закрытие TCP-соединения при переиспользовании порта другим абонентом
- Изменена работа с очередями публичных портов: порты с коротким временем жизни и с длинным временем жизни живут в разных очередях. Порты теперь являются элементами подочереди приватного адреса. Порт, к которому обращались из non-owner потока, может переиспользоваться сразу
- Оптимизация команды статистики ''fdpi_ctrl list all status --service 11''
- Исправление консистентности очереди приватного адреса
- Исправление и оптимизация очереди портов приватного адреса:
- Очередь портов приватного адреса распределена по потокам
- Очередь портов приватного адреса разделена на "короткую" и "длинную".
- Оптимизация при переполнении кэша приватный-публичный
===CLI===
- [LLDP] Новые команды CLI: ''fdpi_cli lldp enable'', ''fdpi_cli lldp disable'' — позволяют включать/выключать формирование LLDP-пакетов. [[dpi:dpi_components:platform:dpi_inst_spec:lldp_support|Описание]]
- [PCAP] Добавлена команда записи pcap с порта: dev pcap rx|tx|any|off
* ''rx'' — записывать принятые с порта пакеты
* ''tx'' — записывать отправляемые в порт пакеты
* ''any'' — rx и tx
* ''off'' — завершить запись\\ \\ Префиксы файлов pcap (''dev'' - имя порта):
* ''rx-dev'' — для rx
* ''tx-dev'' — для tx
- [RATING GROUP] Добавлено: команда ''fdpi_cli rg show '' просмотра текущих данных по рейтинг-группе для абонента
- [VLAN] В команду ''fdpi_cli vlan rule dump'' добавлен параметр, определяющий, какой тип правил выводить: ''fdpi_cli vlan rule dump [type]''. [[dpi:dpi_components:platform:vlan_traffic_handling|Описание]]
- [DPI] Вывод команды ''fdpi_cli dump flow cache format'' расширен новыми полями. [[dpi:dpi_components:platform:dpi_admin:flow_statistics|Описание]]
- [VLAN-Rule][PPPoE] В команду ''fdpi_cli vlan rule show'' добавлен вывод всех разрешений для Service-Name. [[dpi:dpi_components:platform:vlan_traffic_handling#управление|Описание]]
- [VLAN-Rule][PPPoE] Рефакторинг поддержки Service-Name. В команды ''fdpi_cli vlan rule add/rm'' добавляется поддержка PPPoE и Service-Name. [[dpi:dpi_components:platform:vlan_traffic_handling#управление|Описание]]
- [VRF] Добавлено: поддержка команды ''fdpi_cli dhcp show stat vrf''
- [NAT] Исправлена работа ''fdpi_cli ping'' для NAT абонентов
- [NAT] Исправлена работа команды ''fdpi_cli nat show''
===IPFIX===
- Добавлена возможность отправки данных по протоколу UDP больше размера MTU (с IP фрагментацией)
- Исправлена ошибка установки таймаута отправки данных по умолчанию
- Исправлена ошибка при изменении опции ''ipfix_dev''
- [DNS] Добавлены параметры ''ajb_save_dns_answer_types'' и ''ajb_save_dns_request_types'', которые позволяют задавать типы DNS запросов/ответов для записи в файл и отправку по IPFIX. [[dpi:dpi_options:opt_li:li_ipfix#настройка_экспорта_dns-ответов_или_dns-запросов|Описание]]
===Утилиты===
- Добавлены утилиты lst2rg и rg2lst для конвертации профиля услуги 20
=====Изменения в версии 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 для всех абонентов. [[dpi:bras_bng:bras_l2_vlan:bras_l2_vlan_dhcp:bras_l2_vlan_dhcp_proxy:bras_l2_vlan_dhcp_proxy_l3auth#глобальный_запрет_l3-авторизации|Описание]]
- [BRAS] Добавлен новый флаг для абонента — запрет L3 auth для конкретного абонента. Этот флаг можно установить/снять только через CLI: в команду ''subs prop set'' добавлен новый параметр ''disable_l3_auth=[1:0]''. [[dpi:bras_bng:cli:subs#subs_prop_set|Описание]]
- [BRAS][srcIP spoofing] Добавлена фильтрация по флагам source AS на пути subs→inet до приема пакета в обработку для блокирования исходящего от оператора DDOS с подменой IP-адреса. [[dpi:bras_bng:bras_l2_options:bras_l2_vlan_ipsg#фильтрация_по_флагам_source_as|Описание]]
- [BRAS][PPP] В команду ''ppp show stat'' добавлена статистика по утилизации БД-сессий. [[dpi:bras_bng:cli:pppoe#pppoe_show_stat|Описание]]
- [BRAS][PCEF][Policing] Добавлено конфигурирование общего полисинга из параметров переданных в атрибуте ''VasExperts-Policing-Profile'' с префиксом ''BR##''. [[dpi:bras_bng:radius_integration:radius_auth_server_integration:radius_auth_response#полисинг_с_передачей_абсолютных_значений_расширенный_формат_htb|Описание]]
- [BRAS][PCEF][Services] Добавлено конфигурирование персонального (''noname'') профиля пользователя для сервисов из параметров переданных в атрибуте ''VasExperts-Service-Profile'' с префиксом ''BP##''. [[dpi:bras_bng:radius_integration:radius_auth_server_integration:radius_auth_response#пример_3_переопределение_классов_трафика_и_полисинг|Описание]]
- [BRAS][PCEF][rating-group] Новые опции (cold, требуется рестарт fastDPI):
* ''rating_group_count'' — число rating group, ''0'' — RG отключены. Значение по умолчанию: ''0''
* ''rating_group_max_subs'' — max число абонентов с RG. Значение по умолчанию: ''0'' (RG отключены)\\ [[dpi:bras_bng:radius_integration:radius_accounting#rating_group_группы_тарификации|Описание]]
- [BRAS][PCEF][rating-group][RADIUS Accounting] Вывод статистики по RG в RADIUS Accounting. Статистика по RG передается в отдельных пакетах Interim-Update. [[dpi:bras_bng:radius_integration:radius_accounting#rating_group_группы_тарификации|Описание]]
- [BRAS][PCEF][rating-group][CLI] Добавлено: CLI-команда ''subs traffic stat''. Команда для указанного абонента выводит биллинговую статистику и статистику по rating group, если они подключены у абонента. [[dpi:bras_bng:cli:subs#subs_traffic_stat|Описание]]
- [BRAS][PCEF][rating-group][RADIUS Accept] Добавлено: задание услуги RG при авторизации. Накопление статистики по RG может быть включено только если включена услуга 9 (bill stat) для конкретного абонента. [[dpi:bras_bng:radius_integration:radius_accounting#rating_group_группы_тарификации|Описание]]
- [BRAS][SHCV][hot] Добавлен контроль активности static IP L2-абонента (абонента, которому при L3-авторизации RADIUS возвратил флаг ''VasExperts-L2-User=1''). [[dpi:bras_bng:bras_l2_options:subs_activity#контроль_активности_абонента_с_закрытием_сессии_subscriber_host_connectivity_verification|Описание]]
- [BRAS][DHCP][hot] Для опции ''bras_dhcp_check_secondary_keys'' (контроль вторичных ключей) доступны новые значения ''2'' — контролировать только opt82 и ''4'' — контролировать только QinQ. [[dpi:bras_bng:bras_l2_vlan:bras_l2_vlan_dhcp:bras_l2_vlan_dhcp_proxy:bras_l2_vlan_dhcp_proxy_secondary_keys|Описание]]
- [BRAS][L2TP] Исправлено: падение при получении дубля out-of-order ctl-пакета
- [BRAS][dhcp-relay] Добавлена возможность сохранения значения поля siaddr.\\ Новый флаг в опции ''bras_dhcp_server'': ''keep_siaddr=1'' — сохранять поле siaddr DHCP-пакета. Пример:bras_dhcp_server=188.227.73.42%eth0;arp_proxy=1;reply_port=67;keep_siaddr=1 По умолчанию поле siaddr может быть модифицировано, чтобы скрыть реальный адрес DHCP-сервера. [[dpi:bras_bng:bras_l2_vlan:bras_l2_vlan_dhcp:bras_l2_vlan_dhcp_relay#настройка|Описание]]
- [BRAS][CLI] Добавлено: команда ''subs db stat'' вывода статистики по БД L2 BRAS. [[dpi:bras_bng:cli:subs#subs_db_stat|Описание]]
- [BRAS][DHCP6] Исправлено: падение при обработке DHCPv6 с некорректной длиной в UDP-заголовке
===NAT===
- [CG-NAT] Добавлен ''rx_dispatcher=3'' — метод с равномерной балансировкой по произвольному количеству потоков с поддержкой NAT 1:1 с возможностью назначения конкретных Публичных адресов, без требования назначения конкретного Приватного адреса на абонента. [[dpi:opt_cgnat:сgnat_settings#параметры_и_возможные_значения|Описание]]
- [CG-NAT] Учет времени жизни трансляции в команде ''fdpi_ctrl list status --service 11 --login UserName (--ip IP)''. В выводе команды появились дополнительные поля: ''active_sess_tcp'' — количество активных NAT-трансляций для TCP и ''active_sess_udp'' — количество активных NAT-трансляций для UDP.\\ Активность трансляции определяется временем ее последнего использования и параметром времени жизни, задаваемого в опциях кластера. [[dpi:opt_cgnat:cgnat_diagnostics#легенда_команды_просмотра_статистики_nat_по_абоненту|Описание]]
- [CG-NAT][CLI] Учет времени жизни трансляции в команде ''nat show []''. Выводит список всех NAT трансляций для заданного серого IP. [[dpi:opt_cgnat:cgnat_diagnostics#вывод_списка_nat-трансляций|Описание]]
===CLI===
- [CLI] Добавлена команда ''subs bind show'' просмотра списка IP-адресов, привязанных к логину ''''. [[dpi:bras_bng:cli:subs#subs_bind_show|Описание]]
- [CLI] Добавлено: CLI-команда ''stat http''. Эта команда выводит внутреннюю статистику, аналогичную выводу в fastdpi_stat.log. [[dpi:bras_bng:cli:stat#stat_http|Описание]]
- [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 отключена (значение по умолчанию). [[dpi:dpi_components:radius:radius_admin#поддержка_записи_в_syslog|Описание]]
- [FastRADIUS] Добавлено извлечение RADIUS атрибута 3GPP User Location Info и его отправка в IPFIX. [[dpi:dpi_components:radius:radmon_acct_ipfix|Описание]]
===== Изменения в версии 14.0 =====
===DPI===
- [DPI] Переход на DPDK 24.11, поддержка новых сетевых карт (Intel E830 200G, Intel E610, Napatech SmartNIC). [[dpi:dpi_brief:dpi_requirements|Описание]]
- [DPI] Добавлены новые протоколы: AGORA_STREAMS(49314), AZAR_CALL(49315), WECHAT_CALL(49316), TEAMS_CALL(49317). [[dpi:dpi_options:protocols]]
- [DPI] Улучшена поддержка протоколов LINE_CALL, VYKE_CALL. [[dpi:dpi_options:protocols]]
- [DPI] Исправлена работа smartdrop
- [DPI] Добавлена валидация для сложносоставных протоколов. [[dpi:dpi_options:protocols]]
- [DPDK] Максимальное число диспетчеров увеличено до 32. [[dpi:dpi_components:platform:dpi_config|Описание]]
- [DPI] Добавлены облачные протоколы с идентификаторами 55296..58367
- [DPI] Добавлен протокол DOQ 49318 (DNS-over-QUIC)
- [DPDK] Добавлен ''dpdk_engine=6'' (''mqrx-bridge'') — количество RSS диспетчеров на мост. [[dpi:dpi_components:platform:dpi_config#dpdk_engine_6rss_диспетчеров_на_мост|Описание]]
- [DPDK] Удалены выделенные mempool. Опция fastdpi.conf ''dpdk_emit_mempool_size'' объявлена устаревшей и более не используется.
- [DPI] Понижен приоритет определения ''telegram_tls''
- [DPI] Улучшено детектирование ''WECHAT'' и ''WECHAT_CALL''
- [DPI] Добавлен протокол FakeTLS (49319) c валидацией
- [VLAN-Rule] Перенос данных vlan group из UDR в SDR. Глобальные правила для vlan drop/pass/hide/permit, заданные прежней CLI-командой ''vlan group'', сконвертированы и перенесены из UDR в SDR c удалением из UDR. [[dpi:dpi_components:platform:vlan_traffic_handling|Описание]]
- До 14 версии используется только одна встроенная база данных UDR (User Data Repository) предназначена для постоянного хранения данных об услугах, полисингах и других настройках FastDPI.\\ С 14 Версии вводится разделение UDR на UDR и SDR. Разделение происходит автоматически при обновлении версии.\\ SDR (System Data Repository) предназначена для хранения настроек FastDPI, не связанных с абонентами. Можно считать, что SDR является продолжением fastdpi.conf. Никакой специальной активации SDR не требуется — необходимые .mdb-файлы создаются автоматически при включении соответствующего режима в fastdpi.conf.
- [VLAN] VLAN rules — добавлены CLI-команды. [[dpi:dpi_components:platform:vlan_traffic_handling#vlan_rule|Описание]]
- [VRRP] Исправлено: корректная обработка изменения опции ''vrrp_enable''
- [SNMP] Создан модуль мониторинга компонентов системы по SNMP
- [IPv6] Добавлена возможность определения направления в комбинированном трафике (IN+OUT в одном порту) на основе признака local для IP-адресов. Включается опцией ''combined_io_direction_mode''
- [VLAN-Rule] Добавлена поддержка 'any' вместо '*' при описании диапазона VLAN. [[dpi:dpi_components:platform:vlan_traffic_handling#vlan_rule|Описание]]
- [DPI][LOG] Сообщение о нехватке ssl парсеров пишется в slave лог не на каждое событие, а с периодичностью 1/50000
- [DPI] Добавлены протоколы ZALO_CALL(49320) and VK_CALL(49321)
- [DPI] Исправлена работа блокировки в режиме hard для SSL
- [DNS] Добавлена возможность подстановки/блокировки/отброса DNS запросов A, AAAA, MX, HTTPS. [[dpi:dpi_options:dns_substitution|Описание]]
- [DPI] Добавлен протокол BIGO_CDN(49324)
- [DPI] Добавлена поддержка UDP для BIGOTV
- [DPDK] Удаление устаревших настроек rx channels и связанных с ними проверок
- [PCAP] Добавлена возможность сохранять трафик заданного vlan с помощью параметра ''ajb_save_vlan''. [[dpi:dpi_options:opt_li:li_settings#pcap_по_vlan|Описание]]
===BRAS===
- [BRAS] Поддержка DHCP-Dual. [[dpi:bras_bng:bras_l2_vlan:bras_l2_vlan_dhcp:dual_dhcp|Описание]]
- [BRAS] Поддержка терминации L2TP. [[dpi:bras_bng:bras_pppoe|Описание]]
- [BRAS][PPP] Ключ PPP-сессий сделан составным: ''l2subs_id'' + ''tunnel-IP''. Для PPPoE-сессий туннельного IP нет (''tunnel-IP=0''). CLI-команды, принимающие в качестве ключа ''subs_id'' (''subs prop show'', ''l2tp show session'', ''l2tp term'' и пр.) теперь могут возвратить несколько записей с одинаковым ''l2subs_id''. [[dpi:bras_bng:bras_pppoe|Описание]]
- [BRAS][subs_grooming] Исправлено: возможное падение из-за гонки при остановке fastDPI
- [BRAS][DHCP] Исправлено: падение при разборе ответа Framed-Pool Renew, если в ответе нет DHCP опций
- [BRAS] Исправлена совместимость с прежним форматом 18 услуги, где было меньше протоколов и оба поля в профиле нужно было заполнять
- [BRAS][Framed-Route] Исправлено: возможная корка при освобождении памяти
- [BRAS] Рефакторинг связи с PCRF: в новой реализации все подключения равнозначны, ошибка на любом из них приводит к переподключению всех соединений и переходу на другой PCRF. Добавлены CLI-команды:
- ''pcrf connect show'' — вывод текущего состояния и накопленной статистики по соединениям c PCRF.
- Принудительное подключение к указанному PCRF ''pcrf connect switch []'', где '''' — индекс строки соединения в параметре ''auth_server''. Если '''' не указан — полагается равным 0.\\ [[dpi:bras_bng:radius_integration:radius_auth_fastpcrf_setup|Описание]]
- [PCRF][PPP][Framed-pool] Добавлено: в DHCP-опцию ''Client-Id'' включается также ''tunnel-IP'' как часть идентификатора абонента. Подробнее в разделах [[dpi:bras_bng:ip_pool:ipv4]] и [[dpi:bras_bng:ip_pool:ipv6]]
- [PCRF][Acct] Исправлено: отключение отправки Interim-Update. Явное задание ''Acct-Interim-Interval = 0'' в ответе Радиуса должно отключать отправку Interim-Update. Подробнее в разделах [[dpi:bras_bng:radius_integration:radius_auth_server_integration:radius_auth_response#acct-interim-interval|]], [[dpi:bras_bng:bras_pppoe:pppoe_pppol2tp_parameters:bras_pppoe_radius]]
- [PCRF] Добавлена поддержка задания услуги 19 "Подмена DNS", профиль обязателен. [[dpi:dpi_options:dns_substitution|Описание]]
- [BRAS][DHCP] Изменено: алгоритм скользящего окна для rate limit
- [BRAS] Исправлено: ошибка при сравнении времени при загрузке ip_prop из UDR
- [Acct] Добавлен атрибут ''VASExperts-Service-Type''. Radius acct start/interim/stop в атрибуте ''VASExperts-Service-Type'' передается тип авторизации. [[dpi:bras_bng:radius_integration:radius_accounting:radius_attr|Описание]]
- [PCRF][L2TP] Исправлено: атрибуты NAS для L2TP при авторизации
- [BRAS][L2TP] Исправлено: data race при закрытии сессии
- [BRAS][L2TP] Исправлено: data race при создании туннеля
- [BRAS][L2TP] Исправлено: поле длины в заголовке L2TP для data-пакетов. Согласно RFC, в data-пакетах поле len L2TP-заголовка является опциональным. Некоторые реализации client L2TP не понимают data-пакеты с полем len в L2TP-заголовке. Это исправление корректирует поведение FastDPI: если data-пакеты от абонента приходят без поля len, то и СКАТ будет посылать data-пакеты без этого поля. Если же data-пакеты от абонента содержат поле len, СКАТ также будет его включать.
- [BRAS] Исправлено: отправка команд из ''pending_queue''. В некоторых случаях (например, при переходе состояний pcrf-монитора ''initial -> connected'') не вызывалась отправка команд из ''pending_queue'', что приводило к "зависанию" команды в очереди на неопределенное время (до переподключения в результате ошибки сокета).
===CLI===
- [VASE_CLI] Создан универсальный CLI для управления DPI, BRAS, DHCP(KEA), ROUTER(BIRD) с поддержкой авторизации и логгирования команд в TACACS (требуется VEOS 8.x). [[dpi:dpi_components:utilities:vase_cli|Описание]]
- [CLI] Добавлена поддержка ''subs_id'' в команды ''dhcp show'', ''dhcp reauth'', ''dhcp6 show'', ''dhcp6 reauth'' и ''dhcp disconnect''. [[dpi:bras_bng:cli:dhcp|Описание]]
- В CLI-команду ''dev info'' добавлено имя LAG, в который входит порт. [[dpi:bras_bng:cli:subs#dev_info|Описание]]
- [CLI] Добавлены команды вывода свойств и статистики mempool
hal mempool props
hal mempool statДля вывода статистики mempool требуется сборка DPDK с включенным сбором статистики
- [CLI] Добавлено: команда ''stat flow ip6'' вывода статистики по IPv6 flow. [[dpi:bras_bng:cli:stat|Описание]]
- [CLI] Добавлено: команда ''stat flow ip4'' вывода статистики по IPv4 flow. Аналог вывода в ''fastdpi_stat.log''. [[dpi:bras_bng:cli:stat|Описание]]
- [CLI] Добавлена команда ''stat netflow''. Вывод общей статистики по Netflow/IPFIX (то же, что выводится в ''fastdpi_stat.log'' в разделе "Statistics on NFLW_export"). [[dpi:bras_bng:cli:stat|Описание]]
- [CLI] Добавлена команда ''stat firewall''. [[dpi:bras_bng:cli:stat|Описание]]
===IPFIX===
- [IPFIX/Neflow] Добавлена возможность изменения параметров IPFIX/Netflow без перезагрузки fastDPI с помощью параметра ''ipfix_reserved''. [[dpi:dpi_options:opt_statistics:statistics_ipfix|Описание]]
- [IPFIX] Добавлена агрегация сообщений для IPFIX потоков FullFlow/DNS/META/NAT
- [IPFIX] Добавлен параметр ''ipfix_mtu_limit'', ограничивающий для udp-пакетов IPFIX максимальный размер передаваемого сообщения. Подробнее: [[dpi:dpi_options:opt_li:li_ipfix#настройка_экспорта_clickstream|Настройка экспорта Clickstream]], [[dpi:dpi_options:opt_statistics:statistics_ipfix]]
- [IPFIX DNS] В IPFIX DNS добавлены новые элементы 224 (ipTotalLength) и 43823:3206 (DNS transaction id). [[dpi:dpi_options:opt_li:li_ipfix#настройка_экспорта_dns-ответов_или_dns-запросов|Описание]]
- [IPFIX] Исправлены ошибки реинициализации IPFIX экспортеров
- [IPFIX DNS] Добавлена возможность отправки DNS MX ответов по IPFIX. Включается путем установки 3 бита (4) параметра ''ajb_save_dns''. [[dpi:dpi_options:opt_li:li_ipfix#настройка_экспорта_dns-ответов_или_dns-запросов|Описание]]
- [IPFIX] Исправлена ошибка формирования ExportTime в IPFIX Fullflow
- [IPFIX] Добавлена настраиваемая отправка счетчиков drop octets/packets при формировании IPFIX fullflow. [[dpi:dpi_options:opt_statistics:statistics_ipfix|Описание]]
===RADIUS===
- [FastRadius] Можно задать ''bind_ipv6_address'' и ''bind_ipv6_subnet'' одновременно. При наличии маски 128 в Framed-IPv6-Prefix она не проверяется на ограничение по значению ''bind_ipv6_subnet''. [[dpi:dpi_components:radius:radius_requirements#поддержка_ipv6|Описание]]
===Router===
- [Router] Анонсирование белых адресов абонентов для NAT 1:1 по одному и после авторизации. [[dpi:opt_cgnat:сgnat_settings|Описание]]
- [Router] Исправлено: перехват и отвод IPv6-пакетов на tap-интерфейсы. Link-local адреса не отводились на tap, даже если это явно задано в настройках ''router.subnet6''.
===Утилиты===
- [DPIUTILS] Обновлена утилита checknat. [[dpi:dpi_components:utilities:management_utilities#checknat|Описание]]
- [DPIUTILS] Обновлена утилита dns2dic с поддержкой блокировки доменов. [[dpi:dpi_options:dns_substitution|Описание]]