Список изменений и обновление СКАТ [Документация VAS Experts]

Различия

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

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

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
dpi:update:start [2024/06/28 11:10] – [Изменения в версии 13.1] atereschenkodpi:update:start [Дата неизвестна] (текущий) – удалено - внешнее изменение (Дата неизвестна) 127.0.0.1
Строка 1: Строка 1:
-====== Список изменений и обновление СКАТ ====== 
-{{indexmenu_n>10}} 
- 
-===== Инструкция по обновлению ===== 
-<note important>Начиная с версии 12.0, DPI устанавливается только на CentOS 8.x и [[veos:installation|VEOS]]!</note> 
- 
-Если у вас установлена версия CentOS 6.x или CentOS 8.x, то однократно переключите репозиторий командой: 
-<code bash> 
-sed -i -e '/^mirrorlist=http:\/\//d' -e 's/^# *baseurl=http:\/\/mirror.centos.org/baseurl=http:\/\/vault.centos.org/' /etc/yum.repos.d/CentOS-*.repo 
-</code> 
- 
-и далее производите обновления командой: 
-<code bash> 
-yum update fastdpi 
-</code> 
- 
-<note tip>Если при обновлении появляется ошибка ''Module yaml error'', то следует обновить модуль ''dnf upgrade libmodulemd''.</note> 
- 
-После обновления выполните рестарт DPI: 
-<code bash>service fastdpi restart</code> 
- 
-и других зависимых процессов (PCRF/Radius), но только если они реально используются и их конфигурация валидна: 
-<code bash> 
-service fastpcrf restart 
-service fdpi_radius restart 
-</code> 
- 
-При необходимости можно обновить компоненты операционной системы. **Не проводите обновление версии ядра и зависимых от него утилит!**\\ 
-Для CentOS 6.x: 
-<code bash> 
-yum --exclude=kernel*,util-linux-ng,libuuid,libblkid update 
-</code> 
- 
-Для CentOS 8.x: 
-<code bash> 
-yum update 
-</code> 
- 
-**Пользователям, эксплуатирующим DPI на виртуальных машинах, старых процессорах (2009 года выпуска) и старых процессорах AMD (до Ryzen):**\\  
-Выполните перед обновлением команду: 
-<code bash> 
-touch /etc/dpi/noprioadj 
-</code> 
- 
-и процесс DPI будет запускаться с обычным (не ''realtime'') приоритетом, что существенно снизит потребление системных (''sys'') ресурсов CPU, но немного увеличит ''latency'' на платформе. 
- 
-<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_интерфейсов|Описание]] 
- 
-====Изменения в версии 13.1==== 
-<note warning>Внимание обнаружена ошибка в версии 13.1. В PPPoE  не происходит закрытие сессии при истечении idle_timeout. исправление будет в следующем релизе</note> 
-  - [BRAS][DHCP] Исправлено: контроль активности абонента с помощью unicast ARP Request. Ранее был broadcast ARP Request, что не оптимально для сети. [[dpi:bras_bng:bras_l2_options:subs_activity:start|Описание]] 
-  - [BRAS][DHCP] Добавлено: SHCV (Subscriber Host Connectivity Verification) — контроль активности DHCP-абонента. [[dpi:bras_bng:bras_l2_options:subs_activity:start|Описание]]. Учтен сценарий для уже "закрытой" записи, чтобы не было повторного срабатывания SHCV и росте счетчика 'SHCV: session closed by inactivity'. При наступлении события SHCV (абонент не отвечает на ARP-пинги) закрытие сессии не зависит от флагов `bras_dhcp_disconnect`. Сессия закрывается следующим образом: 
-    - шлем Acct Stop; 
-    - делаем деанонс IP-адреса абонента; 
-    - сессии проставляем статус released, но время реавторизации не изменяем, чтобы не было паразитных L3-авторизаций, если абонент проснется до истечения lease time и пошлет что-либо отличное от DHCP; 
-    - DHCP-сессию (в БД dhcp) удаляем; 
-  - [BRAS] Добавлено: ARP Proxy для известных маршрутов (только в режиме роутера), Данную возможность применяем только если инициатор ARP-запроса - известный нам абонент. В опцию ''bras_arp_proxy'' добавлен новый флаг - 0x0004. [[dpi:bras_bng:bras_l2_vlan:bras_l2_vlan_arp_proxy:start|Описание]] 
-  - [BRAS][CLI] Исправлено: help() для IPv6-адресов в команде ''subs prop show'' 
-  - [BRAS][CLI] Исправлено: ошибка разбора параметров команды ''subs prop del'', что приводило к невозможности удаления свойств по IP c ошибкой <code bash>ERROR: Result code=9: No subscriber IP address</code> 
-  - [BRAS][DHCP] Добавлено: CLI-команда ''dhcp disconnect''. Это CLI-аналог CoA Disconnect. Режим выполнения дисконнекта задается опцией ''bras_dhcp_disconnect''. 
-    - ''dhcp disconnect all'' - дисконнект всех DHCP-сессий 
-    - ''dhcp disconnect [ mac=X | ip=X ]'' - дисконнект указанной сессии 
-  - [BRAS] Исправлено: отправка L3 reauth для L2-абонента заранее, не дожидаясь завершения session timeout 
-  - [BRAS][DHCP] Добавлено: в CLI-команду ''dhcp show stat'' добавлено число закрытых по неактивности сессий (SHCV) 
-  - [BRAS] Добавлено: ARP Proxy для известных маршрутов (только в режиме роутера). В опцию ''bras_arp_proxy'' добавлен новый флаг - 0x0004. [[dpi:bras_bng:bras_l2_vlan:bras_l2_vlan_arp_proxy:start|Описание]] 
-  - [BRAS] Исправлено: ошибка при перехвате и обработке ICMPv6-пакетов, при изменении ICMPv6-пакета в некоторых случаях не пересчитывалась контрольная сумма 
-  - [Router] Добавлено: ARP менеджмент. [[dpi:dpi_components:router:start#arp_менеджмент|Описание]] 
-  - [Router] Исправлено: выбор порта для записи в сквозном LAG. Если LAG проходит сквозь fastDPI, то при выборе порта для записи с TAP нужно учитывать не только состояние самого порта Link Up/Down, но и состояние Link Up/Down второго плеча моста для этого порта 
-  - [Router] Исправлено: анонсирование подсетей профиля NAT при добавлении 
-  - [Router] Добавлено: CLI-команда ''router vrf dump''. Команда выводит список VRF, заданных в системе, и свойства этих VRF. 
-  - [Router] Исправлено: не учитывать term by AS при анонсе подсетей NAT. Режим ''term_by_AS'' относится к абонентам, а не к профилям NAT, поэтому его **не** нужно учитывать при анонсировании NAT-подсети 
-  - [Router] Исправлено: порядок перехвата пакетов из общего конвейера обработки 
-  - [Router][Engine][DPDK] Исправлено: Увеличено число ''mbuf'' в ''selfgen mempool'', если включен роутер: если роутер disabled: ''mempool size=512 * число_slave_на_кластер'', если роутер enabled: ''mempool size=8 * 1024 * число_slave_на_кластер'' 
-  - [LAG] Исправлено: необнуление массива при построении нового списка активных портов. Ошибка приводит к переполнению массива и порчи памяти 
-  - [LAG] Добавлено логирование ошибки "no mbuf" при отправке LACP 
-  - [DPI][BRAS][FastRadius] Глобальный рефакторинг кода - отказ от поддержки ''pf_ring'' 
-  - [DPI] Добавлено: услуга 19 - подмена DNS-ответов. [[dpi:dpi_options:dns_substitution:start|Описание]] 
-  - [DPI] Изменено: минимальный размер PCAP файла до 100 MB. Ротация PCAP-файлов при reload [[dpi:dpi_options:opt_li:li_ctrl:start|Описание]] 
-  - [DPI] Изменено: улучшена трассировка событий DROP 
-  - [DPI] Исправлено: ошибочное появление сообщения уровня ERROR при некоторых запросах ''fdpi_ctrl'' 
-  - [DPI] Исправлено: некорректный разбор TLS(SNI) в случае если задано несколько 'ALPN Protocol' 
-  - [NAT] Изменено: трассировка в ''vdpi_new_flow_nat_ipv4'' выводится всегда 
-  - [NAT] Исправлено: в зависимости от значения параметра ''nat_exclude_private'' проверяется дополнительно пара CHECK_AS_LOCAL или CHECK_AS_PEER для AS при local interconnect 
- 
-