Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия |
dpi:update:start [2024/04/08 12:58] – [Изменения в версии 13.0] elena.krasnobryzh | dpi:update:start [2024/04/25 12:12] (текущий) – elena.krasnobryzh |
---|
====== Список изменений и обновление СКАТ ====== | ====== Список изменений и обновление СКАТ ====== |
{{indexmenu_n>9}} | {{indexmenu_n>10}} |
| |
===== Инструкция по обновлению ===== | ===== Инструкция по обновлению ===== |
| |
==== Изменения в версии 13.0 ==== | ==== Изменения в версии 13.0 ==== |
| ===DPI=== |
- Поддержка LAG/LACP в on-stick. [[dpi:dpi_components:platform:dpi_inst_spec:dpi_onstick:start|Описание]] | - Поддержка LAG/LACP в on-stick. [[dpi:dpi_components:platform:dpi_inst_spec:dpi_onstick:start|Описание]] |
- [DPDK] Переход на DPDK 23.11 | - Переход на DPDK 23.11 |
- Изменено: для QUIC и QUIC_IETF: если не определили SNI — проверяем по AS | - Изменено: для QUIC и QUIC_IETF: если не определили SNI — проверяем по AS |
- Изменено: при анализе STUN проверяется AS от Facebook — определяем FACEBOOK_VIDEO, а не WHATSAPP_VOICE | - Изменено: при анализе STUN проверяется AS от Facebook — определяем FACEBOOK_VIDEO, а не WHATSAPP_VOICE |
- [DPDK][rss-engine] Задание RSS hash флагов для UDP и TCP | - Задание RSS hash флагов для UDP и TCP |
- Изменено: определение протокола openvpn | - Изменено: определение протокола openvpn |
- [BRAS][DHCP] Добавлено: учет DHCP-пакетов от абонента в биллинговой статистике: абонентский CPE (то есть Wi-Fi роутер) без клиентов (например, ночью) — посылает только запросы на продление лицензии. Так как эти запросы перехватывались BRAS и не включались в аккаунтинг, происходило завершение сессии по idle timeout | |
- [BRAS][DHCP] Исправлено: действия при изменении QinQ/VLAN у абонента | |
- [DHCP] Исправлено: ''framed-pool renew''\\ В некоторых случаях формировались некорректные DHCP-ответы. Добавлена трассировка в лог DHCP-пакетов для ''framed-pool renew'' | |
- [DHCPv6] Исправлено: прием пакетов от relay. Ранее проверялось, что relay находится в сети fc::/7. Теперь эта проверка излишняя и удалена, — у relay может быть любой адрес. | |
- [PPPoE] Исправлено: разбор DHCPv6-опций от Радиуса | |
- Исправлено: обработка SIGHUP только если fastDPI полностью инициализирован. Возможно падение, если в процессе запуска fastDPI приходит SIGHUP | - Исправлено: обработка SIGHUP только если fastDPI полностью инициализирован. Возможно падение, если в процессе запуска fastDPI приходит SIGHUP |
- [AJB][PCAP] Запись trace/debug пакетов переведена на новый API | - Запись trace/debug пакетов переведена на новый API |
- Добавлено: поддержка протокола wechat для UDP | - Добавлено: поддержка протокола wechat для UDP |
- [DPI] Поддержка дополнительной разметки автономных систем ''mark1'', ''mark2'', ''mark3''. [[dpi:dpi_options:opt_priority:priority_config_as:start|Описание]] | - Поддержка дополнительной разметки автономных систем ''mark1'', ''mark2'', ''mark3''. [[dpi:dpi_options:opt_priority:priority_config_as:start|Описание]] |
- [DPI] Приоритет определения по SNI в кастомных сигнатурах для автономных систем, помеченных как ''mark1''. [[dpi:dpi_options:opt_priority:priority_config_as:start|Описание]] | - Приоритет определения по SNI в кастомных сигнатурах для автономных систем, помеченных как ''mark1''. [[dpi:dpi_options:opt_priority:priority_config_as:start|Описание]] |
- [DPI] Приоритет более специфичных кастомных SNI сигнатур.\\ Пример: для хоста ''a.b.c.d'' при наличии сигнатур ''*.d'', ''*.c.d'' и ''*.b.c.d'' будет выбран протокол, определенный сигнатурой ''*.b.c.d'' :!: работает только для сигнатур с ''*''. [[dpi:dpi_components:dpiui:user_guide:vas_cloud_services:custom_protocols:protocols:start|Описание]] | - Приоритет более специфичных кастомных SNI сигнатур.\\ Пример: для хоста ''a.b.c.d'' при наличии сигнатур ''*.d'', ''*.c.d'' и ''*.b.c.d'' будет выбран протокол, определенный сигнатурой ''*.b.c.d'' :!: работает только для сигнатур с ''*''. [[dpi:dpi_components:dpiui:user_guide:vas_cloud_services:custom_protocols:protocols:start|Описание]] |
- [DPI] Поддержка жестких блокировок (несмотря на имя хоста/SNI) — задается в дополнительном поле в черном списке адресов, пример: ''1.1.1.1 443 hard''. [[dpi:dpi_options:opt_filtration:making_dictionary:start|Описание]] | - Поддержка жестких блокировок (несмотря на имя хоста/SNI) — задается в дополнительном поле в черном списке адресов, пример: ''1.1.1.1 443 hard''. [[dpi:dpi_options:opt_filtration:making_dictionary:start|Описание]] |
- Улучшено детектирование YOUTUBE, SIGNAL | - Улучшено детектирование YOUTUBE, SIGNAL |
- Добавлен протокол DPITUNNEL, в который включены аномалии трафика, обычно применяемые для обхода DPI | - Добавлен протокол DPITUNNEL, в который включены аномалии трафика, обычно применяемые для обхода DPI |
- Обновление dpiutils | - Обновление dpiutils |
- [DPI] Новые протоколы VK_CDN_VIDEO, META_CHAT | - Новые протоколы VK_CDN_VIDEO, META_CHAT |
- [DPI] Улучшение сигнатур протоколов FACEBOOK_VIDEO, META_CALLS | - Улучшение сигнатур протоколов FACEBOOK_VIDEO, META_CALLS |
- [DPI] Исправлено имя протокола VK_CDN_VIDEO | - Исправлено имя протокола VK_CDN_VIDEO |
- [DPI] Исправлено: декодирование SNI в QUIC IETF и возможность образования корки в исключительных случаях | - Исправлено: декодирование SNI в QUIC IETF и возможность образования корки в исключительных случаях |
- [DPI] Исправлено: очистка структур поиска при удалении CUSTOM протоколов | - Исправлено: очистка структур поиска при удалении CUSTOM протоколов |
- [utils] Добавлена возможность добавлять комментарии (#) и пустые линии во входных файлах для утилит [[dpi:dpi_options:opt_priority:priority_config:start#конвертация_файла|lst2dscp]], [[dpi:dpi_options:opt_shaping:shaping_session:start#настройка_полисинга_по_сессии|lst2tbf]] | - Добавлена возможность добавлять комментарии (#) и пустые линии во входных файлах для утилит [[dpi:dpi_options:opt_priority:priority_config:start#конвертация_файла|lst2dscp]], [[dpi:dpi_options:opt_shaping:shaping_session:start#настройка_полисинга_по_сессии|lst2tbf]] |
- [DPI] Добавлены протоколы QUIC_UNKNOWN - QUIC без SNI и QUIC_UNKNOWN_MARKED - QUIC без SNI и AS с пометкой MARK2. [[dpi:dpi_options:opt_priority:priority_config_as:start|Описание]] | - Добавлены протоколы QUIC_UNKNOWN - QUIC без SNI и QUIC_UNKNOWN_MARKED - QUIC без SNI и AS с пометкой MARK2. [[dpi:dpi_options:opt_priority:priority_config_as:start|Описание]] |
- [DPI] Исправлено: определение хар-к stun для TCP | - Исправлено: определение хар-к stun для TCP |
- [DPI] Изменено: если достигли ограничения просмотра пакетов stun - устанавливаем этот протокол с учетом AS | - Изменено: если достигли ограничения просмотра пакетов stun - устанавливаем этот протокол с учетом AS |
- [DPIutils] Обновлены утилиты для поддержки новых протоколов | - Обновлены утилиты для поддержки новых протоколов |
- [Router] Распределение mempool для emit-пакетов: не допускаем полного исчерпания пула, в пуле должно быть не менее 256 свободных элементов | - Улучшения в протоколах QUIC_UNKNOWN, QUIC_UNKNOWN_MARKED, SIGNAL, DpiTunnel |
- [Router] Ошибка удаления маршрута ''errno=3'' (No record found) переведена в разряд TRACE, чтобы не засоряла лог | - Определения встроенных протоколов по SNI/HOST вынесены в облако, поддерживается приоритет SNI/IP |
- Добавлен режим L2 балансировщика трафика. Данная доработка позволяет использовать СКАТ как балансировщик трафика на основе IP-адресов, принадлежащих AS и определяемой как ''local'' в ''asnum.dscp''. [[dpi:load_balancer:start|Описание]] | - Изменено: сравнение SNI производится без учета регистра |
- [DPI] Улучшения в протоколах QUIC_UNKNOWN, QUIC_UNKNOWN_MARKED, SIGNAL, DpiTunnel | - Добавлена сигнатура протокола LANTERN_WEAK |
- [DPI] Определения встроенных протоколов по SNI/HOST вынесены в облако, поддерживается приоритет SNI/IP | - Улучшено распознавание протокола IMAP |
- [Router] Исправлен порядок завершения компонентов роутера | - Исправление в LPM при выборе канала по IP/CIDR |
- [SDS] Значение ''storage_tag'' устанавливается на основании приоритета по направлению или приоритета по протоколу | |
- [CLI] Добавлена команда ''subs prop show active''. Команда выводит дамп L2-свойств всех активных (не-expired) абонентов. [[dpi:bras_bng:cli:subs:start#subs_prop_show|Описание]] | |
- [CLI] Изменено: запрет вызова CLI-команд в процессе остановки | |
- [Router] Изменено: system error при очистке route tables. Очистка route tables (удаление всех записей, добавленных СКАТ) производится при стопе и старте fastDPI. В процессе очистки может возникнуть ошибка EBUSY, которая является фатальной для netlink-сокета, сокет должен быть закрыт. | |
- [DPI] Изменено: сравнение SNI производится без учета регистра | |
- [DPI] Добавлена сигнатура протокола LANTERN_WEAK | |
- [DPI] Улучшено распознавание протокола IMAP | |
- [DPI] Исправление в LPM при выборе канала по IP/CIDR | |
- [PPPoE] Исправлено: idle-timeout для сессии. Для PPPoE-сессий idle timeout должен браться из настройки ''bras_ppp_idle_timeout'', если не задан явно в ответе авторизации (атрибут Idle-Timeout). | |
- [Router] Исправлено: TAP link down in LAG. Если порт входит в лаг, то TAP этого порта в состояние Link down нужно производить только тогда, когда ВСЕ порты LAG в down. | |
- Добавлена приоритетная переадресация с переводом DSCP. [[dpi:dpi_options:opt_priority:priority_settings:start#настройка_наследования_и_преобразования_dscp|Описание]] | |
- [PCRF] Исправлено: добавление лишней опции 61 (Client-Id) в ответ fastDPI при распределении адреса из Framed-Pool | |
- [PCRF] Исправлено: вывод в лог IP-адресов DHCP-серверов | |
- [PCRF] Исправлено: включение услуг с профилями. Атрибут `VasExperts-Service-Profile` (имя профиля услуги, неявно включает услугу) имеет больший приоритет, чем `VasExperts-Enable-Service` (включение/выключение услуги без задания профиля). | |
- Добавлено: в формат записи в текстовый файл DNS - формат vchnl - номер виртуального канала. | - Добавлено: в формат записи в текстовый файл DNS - формат vchnl - номер виртуального канала. |
- Добавлено: в шаблон IPFIX передачи данных для DNS номер канала. [[dpi:dpi_options:opt_li:li_ipfix:start#dns|Описание]] | - Добавлено: в шаблон IPFIX передачи данных для DNS номер канала. [[dpi:dpi_options:opt_li:li_ipfix:start#dns|Описание]] |
- [CLI] Добавлена команда ''ping inet'' от имени абонентов через всю цепочку обработку BRAS/NAT/ROUTER. Подсказка - ''fdpi_cli ping inet ?''. [[dpi:bras_bng:cli:subs:start#subs_ping_inet|Описание]] | |
- Исправлено: падение при трейсе DNS | - Исправлено: падение при трейсе DNS |
- [fastRadius] Добавлена возможность работы со стандартными интерфейсами linux с помощью ''libpcap''. [[dpi:dpi_components:radius:radius_config:start#настройка_linux_интерфейсов|Описание]] | |
- Улучшено определение протокола VIBER_VSTREAMS | - Улучшено определение протокола VIBER_VSTREAMS |
- [Router] Исправлено: контроль за исчерпанием selfgen mempool | - Исправлено: в процессе остановки fastDPI не принимаем и не обрабатываем никакие запросы по ctl |
- [Router] Оптимизация вычитывания данных с TAP | - Добавлен протокол SSTP (49296) |
- [ctl] Исправлено: в процессе остановки fastDPI не принимаем и не обрабатываем никакие запросы по ctl | - Добавлен протокол ANYDESK (54273) |
| - Улучшено распознавание LANTERN |
| |
| ===BRAS=== |
| - Добавлено: учет DHCP-пакетов от абонента в биллинговой статистике: абонентский CPE (то есть Wi-Fi роутер) без клиентов (например, ночью) — посылает только запросы на продление лицензии. Так как эти запросы перехватывались BRAS и не включались в аккаунтинг, происходило завершение сессии по idle timeout |
| - Исправлено: действия при изменении QinQ/VLAN у абонента |
| - Исправлено: ''framed-pool renew''\\ В некоторых случаях формировались некорректные DHCP-ответы. Добавлена трассировка в лог DHCP-пакетов для ''framed-pool renew'' |
| - Исправлено: прием пакетов от relay. Ранее проверялось, что relay находится в сети fc::/7. Теперь эта проверка излишняя и удалена, — у relay может быть любой адрес. |
| - Исправлено: разбор DHCPv6-опций от Радиуса |
| - Добавлена команда ''subs prop show active''. Команда выводит дамп L2-свойств всех активных (не-expired) абонентов. [[dpi:bras_bng:cli:subs:start#subs_prop_show|Описание]] |
| - Изменено: запрет вызова CLI-команд в процессе остановки |
| - Исправлено: idle-timeout для сессии. Для PPPoE-сессий idle timeout должен браться из настройки ''bras_ppp_idle_timeout'', если не задан явно в ответе авторизации (атрибут Idle-Timeout). |
| - Добавлена приоритетная переадресация с переводом DSCP. [[dpi:dpi_options:opt_priority:priority_settings:start#настройка_наследования_и_преобразования_dscp|Описание]] |
| - Исправлено: добавление лишней опции 61 (Client-Id) в ответ fastDPI при распределении адреса из Framed-Pool |
| - Исправлено: вывод в лог IP-адресов DHCP-серверов |
| - Исправлено: включение услуг с профилями. Атрибут `VasExperts-Service-Profile` (имя профиля услуги, неявно включает услугу) имеет больший приоритет, чем `VasExperts-Enable-Service` (включение/выключение услуги без задания профиля). |
| - Добавлена команда ''ping inet'' от имени абонентов через всю цепочку обработку BRAS/NAT/ROUTER. Подсказка - ''fdpi_cli ping inet ?''. [[dpi:bras_bng:cli:subs:start#subs_ping_inet|Описание]] |
| - Исправлено: вызов деанонса IP-адреса абонента при acct idle. В опцию роутера ''router_subs_announce'' добавлен новый флаг: ''0x10000'' - деанонсировать L3-абонента при наступлении acct idle (закрытие acct-сесси по idle timeout). [[dpi:dpi_components:router:start#особенности_анонсирования_адресов|Описание]] |
| - Добавлена поддержка задания профиля услуги 18 при авторизации. Включение услуги 18 в ответе Радиуса Access-Accept задается обычным для услуги с обязательным профилем образом (здесь ''serv18'' - имя профиля):<code bash>VasExperts-Service-Profile = "18:serv18"</code> |
| - В команду ''subs prop show'' добавлен поиск по ''MAC'' и ''subs_id''. Результат поиска по ''MAC'' или ''subs_id'' может быть многозначным, - несколько разных записей для одного того же ''MAC''/''subs_id''. Результат команды ''subs prop show active'' изменен, что может быть критично при разборе json-выхлопа команды. [[dpi:bras_bng:cli:subs:start#subs_prop_show|Описание]] |
| - Исправлено: установка флага link up/down для портов, не поддерживающих link up/down прерывания (например, af_packet) |
| - Код возврата команды Uptime. CLI-команда ''uptime'' может использоваться для контроля полного запуска fastDPI: она возвращает ''result=0'' (Success) только тогда, когда fastDPI полностью проинициализирован и все рабочие потоки запущены. По получении ответа от fastDPI на команду ''fdpi_cli uptime'' сама утилита fdpi_cli проверяет результат выполнения и если ''result!=0'' — выставляет ненулевой код возврата. |
| - Исправлено: при наличии VRF (service 254) в Access-Accept пакет неправомерно выводился в лог как ошибочный |
| - Восстановление работы UDR после вызова команды с большим числом параметров |
| |
| ===NAT=== |
- Добавлена утилита ''checknat'' для проверки распределения белых адресов. [[dpi:dpi_components:utilities:management_utilities:start#checknat|Описание]] | - Добавлена утилита ''checknat'' для проверки распределения белых адресов. [[dpi:dpi_components:utilities:management_utilities:start#checknat|Описание]] |
- [DPI] Добавлен протокол SSTP (49296) | |
- [L3 BRAS] Исправлено: вызов деанонса IP-адреса абонента при acct idle. В опцию роутера ''router_subs_announce'' добавлен новый флаг: ''0x10000'' - деанонсировать L3-абонента при наступлении acct idle (закрытие acct-сесси по idle timeout) | |
- [PCRF] Добавлена поддержка задания профиля услуги 18 при авторизации. Включение услуги 18 в ответе Радиуса Access-Accept задается обычным для услуги с обязательным профилем образом (здесь ''serv18'' - имя профиля):<code bash>VasExperts-Service-Profile = "18:serv18"</code> | |
- [CLI] В команду ''subs prop show'' добавлен поиск по ''MAC'' и ''subs_id''. Результат поиска по ''MAC'' или ''subs_id'' может быть многозначным, - несколько разных записей для одного того же ''MAC''/''subs_id''. Результат команды ''subs prop show active'' изменен, что может быть критично при разборе json-выхлопа команды. [[dpi:bras_bng:cli:subs:start#subs_prop_show|Описание]] | |
- [Router] Исправлено LAG+On-stick: перевод TAP в состояние link down. TAP переводится в link down только тогда, когда все порты в LAG в состоянии down. Если же есть хотя бы один порт в состоянии Up - TAP должен находится в состоянии Link Up. | |
- [DPDK][CLI] Исправлено: установка флага link up/down для портов, не поддерживающих link up/down прерывания (например, af_packet) | |
- [Router] Исправлено: отведение трафика в роутере для on-stick девайса в LAG. При формировании топологии VRF не учитывалось, что в LAG входит базовый (физический) девайс, а при описании роутера указывается on-stick (виртуальный) девайс. | |
- [DPI] Добавлен протокол ANYDESK (49297) | |
- [DPI] Улучшено распознавание LANTERN | |
- Исправлено online изменение параметра ''nat_private_cidr'' | - Исправлено online изменение параметра ''nat_private_cidr'' |
- [CLI] Код возврата команды Uptime. CLI-команда ''uptime'' может использоваться для контроля полного запуска fastDPI: она возвращает ''result=0'' (Success) только тогда, когда fastDPI полностью проинициализирован и все рабочие потоки запущены. По получении ответа от fastDPI на команду ''fdpi_cli uptime'' сама утилита fdpi_cli проверяет результат выполнения и если ''result!=0'' — выставляет ненулевой код возврата. | |
- [PCRF] Исправлено: при наличии VRF (service 254) в Access-Accept пакет неправомерно выводился в лог как ошибочный | ===Балансировщик=== |
- [Router] Исправлено: вычитывание всех данных с TAP-девайса. При старте fastDPI были возможны ситуации, когда роутер еще не полностью инициализирован, а TAP уже мониторится, но не вычитывается. | - Добавлен режим L2 балансировщика трафика. Данная доработка позволяет использовать СКАТ как балансировщик трафика на основе IP-адресов, принадлежащих AS и определяемой как ''local'' в ''asnum.dscp''. [[dpi:load_balancer:start|Описание]] |
- [Router] Опция router_subs_announce сделана горячей (hot) | - Добавлен движок mqrx_lb_engine, который активируется при dpdk_engine=2. [[dpi:load_balancer:start#настройка_etc_dpi_fastdpiconf|Описание]] |
- [Router] Исправлено: утечка mbuf при старте fastDPI | |
- Восстановление работы UDR после вызова команды с большим числом параметров | ===Router=== |
- [BALANCER] Добавлен движок mqrx_lb_engine, который активируется при dpdk_engine=2 | - Распределение mempool для emit-пакетов: не допускаем полного исчерпания пула, в пуле должно быть не менее 256 свободных элементов |
| - Ошибка удаления маршрута ''errno=3'' (No record found) переведена в разряд TRACE, чтобы не засоряла лог |
| - Исправлен порядок завершения компонентов роутера |
| - Изменено: system error при очистке route tables. Очистка route tables (удаление всех записей, добавленных СКАТ) производится при стопе и старте fastDPI. В процессе очистки может возникнуть ошибка EBUSY, которая является фатальной для netlink-сокета, сокет должен быть закрыт. |
| - Исправлено: TAP link down in LAG. Если порт входит в лаг, то TAP этого порта в состояние Link down нужно производить только тогда, когда ВСЕ порты LAG в down. |
| - Исправлено: контроль за исчерпанием selfgen mempool |
| - Оптимизация вычитывания данных с TAP |
| - Исправлено LAG+On-stick: перевод TAP в состояние link down. TAP переводится в link down только тогда, когда все порты в LAG в состоянии down. Если же есть хотя бы один порт в состоянии Up - TAP должен находится в состоянии Link Up. |
| - Исправлено: отведение трафика в роутере для on-stick девайса в LAG. При формировании топологии VRF не учитывалось, что в LAG входит базовый (физический) девайс, а при описании роутера указывается on-stick (виртуальный) девайс. |
| - Исправлено: вычитывание всех данных с TAP-девайса. При старте fastDPI были возможны ситуации, когда роутер еще не полностью инициализирован, а TAP уже мониторится, но не вычитывается. |
| - Опция router_subs_announce сделана горячей (hot) |
| - Исправлено: утечка mbuf при старте fastDPI |
| |
| ===SDS=== |
| - Значение ''storage_tag'' устанавливается на основании приоритета по направлению или приоритета по протоколу |
| |
| ===Radius=== |
| - Добавлена возможность работы со стандартными интерфейсами linux с помощью ''libpcap''. [[dpi:dpi_components:radius:radius_config:start#настройка_linux_интерфейсов|Описание]] |
| |
| |
| |
| |