Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия |
dpi:update:start [2024/04/02 06:57] – elena.krasnobryzh | dpi:update:start [2024/04/25 12:12] (текущий) – elena.krasnobryzh |
---|
====== Список изменений и обновление СКАТ ====== | ====== Список изменений и обновление СКАТ ====== |
{{indexmenu_n>9}} | {{indexmenu_n>10}} |
| |
===== Инструкция по обновлению ===== | ===== Инструкция по обновлению ===== |
| |
<note tip>Клиентам, использующим функционал BRAS, при обновлении СКАТ на новую версию необходимо обратить внимание на изменения.</note> | <note tip>Клиентам, использующим функционал BRAS, при обновлении СКАТ на новую версию необходимо обратить внимание на изменения.</note> |
| |
| ===== Обновление платформы DPI до версии 13.0 Congo ===== |
| |
| 13.0 Congo ((Колыбель человечества: люди обитают здесь более 50 тыс лет)) |
| |
| Проверить текущую установленную версию можно командой: |
| <code bash> |
| yum info fastdpi |
| </code> |
| |
| Откат на 12.4: |
| <code bash> |
| yum downgrade fastdpi-12.4-0 fastpcrf-12.4-0 |
| </code> |
| |
| После обновления или смены версии требуется рестарт сервиса: |
| <code bash> |
| service fastdpi restart |
| </code> |
| |
| :!: Если используются PCRF и/или Radius, их тоже надо рестартовать. Для рестарта PCRF предпочтителен следующий порядок: |
| <code bash> |
| service fastdpi stop |
| service fastpcrf restart |
| service fastdpi start |
| </code> |
| |
| :!: Не проводите обновления ядра Linux. В новых версиях ядра может быть нарушена бинарная совместимость с Kernel ABI и сетевой драйвер после обновления не загрузится. Если вы все-таки произвели обновление, то на время решения проблемы настройте в загрузчике GRUB загрузку прежней версии ядра: в файле ''/etc/grub.conf'' установите параметр ''default=1''. |
| |
| Если при обновлении появляется сообщение, что обновление не найдено или возникают проблемы с зависимостями, то перед обновлением выполните команду: |
| <code bash> |
| yum clean all |
| </code> |
| |
| ==== Изменения в версии 13.0 ==== |
| ===DPI=== |
| - Поддержка LAG/LACP в on-stick. [[dpi:dpi_components:platform:dpi_inst_spec:dpi_onstick:start|Описание]] |
| - Переход на DPDK 23.11 |
| - Изменено: для QUIC и QUIC_IETF: если не определили SNI — проверяем по AS |
| - Изменено: при анализе STUN проверяется AS от Facebook — определяем FACEBOOK_VIDEO, а не WHATSAPP_VOICE |
| - Задание RSS hash флагов для UDP и TCP |
| - Изменено: определение протокола openvpn |
| - Исправлено: обработка SIGHUP только если fastDPI полностью инициализирован. Возможно падение, если в процессе запуска fastDPI приходит SIGHUP |
| - Запись trace/debug пакетов переведена на новый API |
| - Добавлено: поддержка протокола wechat для UDP |
| - Поддержка дополнительной разметки автономных систем ''mark1'', ''mark2'', ''mark3''. [[dpi:dpi_options:opt_priority:priority_config_as:start|Описание]] |
| - Приоритет определения по SNI в кастомных сигнатурах для автономных систем, помеченных как ''mark1''. [[dpi:dpi_options:opt_priority:priority_config_as: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|Описание]] |
| - Поддержка жестких блокировок (несмотря на имя хоста/SNI) — задается в дополнительном поле в черном списке адресов, пример: ''1.1.1.1 443 hard''. [[dpi:dpi_options:opt_filtration:making_dictionary:start|Описание]] |
| - Улучшено детектирование YOUTUBE, SIGNAL |
| - Добавлен протокол DPITUNNEL, в который включены аномалии трафика, обычно применяемые для обхода DPI |
| - Обновление dpiutils |
| - Новые протоколы VK_CDN_VIDEO, META_CHAT |
| - Улучшение сигнатур протоколов FACEBOOK_VIDEO, META_CALLS |
| - Исправлено имя протокола VK_CDN_VIDEO |
| - Исправлено: декодирование SNI в QUIC IETF и возможность образования корки в исключительных случаях |
| - Исправлено: очистка структур поиска при удалении CUSTOM протоколов |
| - Добавлена возможность добавлять комментарии (#) и пустые линии во входных файлах для утилит [[dpi:dpi_options:opt_priority:priority_config:start#конвертация_файла|lst2dscp]], [[dpi:dpi_options:opt_shaping:shaping_session:start#настройка_полисинга_по_сессии|lst2tbf]] |
| - Добавлены протоколы QUIC_UNKNOWN - QUIC без SNI и QUIC_UNKNOWN_MARKED - QUIC без SNI и AS с пометкой MARK2. [[dpi:dpi_options:opt_priority:priority_config_as:start|Описание]] |
| - Исправлено: определение хар-к stun для TCP |
| - Изменено: если достигли ограничения просмотра пакетов stun - устанавливаем этот протокол с учетом AS |
| - Обновлены утилиты для поддержки новых протоколов |
| - Улучшения в протоколах QUIC_UNKNOWN, QUIC_UNKNOWN_MARKED, SIGNAL, DpiTunnel |
| - Определения встроенных протоколов по SNI/HOST вынесены в облако, поддерживается приоритет SNI/IP |
| - Изменено: сравнение SNI производится без учета регистра |
| - Добавлена сигнатура протокола LANTERN_WEAK |
| - Улучшено распознавание протокола IMAP |
| - Исправление в LPM при выборе канала по IP/CIDR |
| - Добавлено: в формат записи в текстовый файл DNS - формат vchnl - номер виртуального канала. |
| - Добавлено: в шаблон IPFIX передачи данных для DNS номер канала. [[dpi:dpi_options:opt_li:li_ipfix:start#dns|Описание]] |
| - Исправлено: падение при трейсе DNS |
| - Улучшено определение протокола VIBER_VSTREAMS |
| - Исправлено: в процессе остановки fastDPI не принимаем и не обрабатываем никакие запросы по ctl |
| - Добавлен протокол SSTP (49296) |
| - Добавлен протокол 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|Описание]] |
| - Исправлено online изменение параметра ''nat_private_cidr'' |
| |
| ===Балансировщик=== |
| - Добавлен режим L2 балансировщика трафика. Данная доработка позволяет использовать СКАТ как балансировщик трафика на основе IP-адресов, принадлежащих AS и определяемой как ''local'' в ''asnum.dscp''. [[dpi:load_balancer:start|Описание]] |
| - Добавлен движок mqrx_lb_engine, который активируется при dpdk_engine=2. [[dpi:load_balancer:start#настройка_etc_dpi_fastdpiconf|Описание]] |
| |
| ===Router=== |
| - Распределение 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_интерфейсов|Описание]] |
| |
| |
| |
| |
| |