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

Это старая версия документа!


Список изменений и обновление СКАТ

Инструкция по обновлению

Начиная с версии 12.0, DPI устанавливается только на CentOS 8.x и VEOS!

Если у вас установлена версия CentOS 6.x или CentOS 8.x, то однократно переключите репозиторий командой:

sed -i -e '/^mirrorlist=http:\/\//d' -e 's/^# *baseurl=http:\/\/mirror.centos.org/baseurl=http:\/\/vault.centos.org/' /etc/yum.repos.d/CentOS-*.repo

и далее производите обновления командой:

yum update fastdpi
Если при обновлении появляется ошибка Module yaml error, то следует обновить модуль dnf upgrade libmodulemd.

После обновления выполните рестарт DPI:

service fastdpi restart

и других зависимых процессов (PCRF/Radius), но только если они реально используются и их конфигурация валидна:

service fastpcrf restart
service fdpi_radius restart

При необходимости можно обновить компоненты операционной системы. Не проводите обновление версии ядра и зависимых от него утилит!
Для CentOS 6.x:

yum --exclude=kernel*,util-linux-ng,libuuid,libblkid update

Для CentOS 8.x:

yum update

Пользователям, эксплуатирующим DPI на виртуальных машинах, старых процессорах (2009 года выпуска) и старых процессорах AMD (до Ryzen):
Выполните перед обновлением команду:

touch /etc/dpi/noprioadj

и процесс DPI будет запускаться с обычным (не realtime) приоритетом, что существенно снизит потребление системных (sys) ресурсов CPU, но немного увеличит latency на платформе.

Клиентам, использующим функционал BRAS, при обновлении СКАТ на новую версию необходимо обратить внимание на изменения.

Обновление платформы DPI до версии 13.0 Congo

13.0 Congo 1)

Проверить текущую установленную версию можно командой:

yum info fastdpi

Откат на 12.4:

yum downgrade fastdpi-12.4-0 fastpcrf-12.4-0

После обновления или смены версии требуется рестарт сервиса:

service fastdpi restart

:!: Если используются PCRF и/или Radius, их тоже надо рестартовать. Для рестарта PCRF предпочтителен следующий порядок:

service fastdpi stop
service fastpcrf restart
service fastdpi start

:!: Не проводите обновления ядра Linux. В новых версиях ядра может быть нарушена бинарная совместимость с Kernel ABI и сетевой драйвер после обновления не загрузится. Если вы все-таки произвели обновление, то на время решения проблемы настройте в загрузчике GRUB загрузку прежней версии ядра: в файле /etc/grub.conf установите параметр default=1.

Если при обновлении появляется сообщение, что обновление не найдено или возникают проблемы с зависимостями, то перед обновлением выполните команду:

yum clean all

Изменения в версии 13.0

  1. Поддержка LAG/LACP в on-stick. Описание
  2. [DPDK] Переход на DPDK 23.11
  3. Изменено: для QUIC и QUIC_IETF: если не определили SNI — проверяем по AS
  4. Изменено: при анализе STUN проверяется AS от Facebook — определяем FACEBOOK_VIDEO, а не WHATSAPP_VOICE
  5. [DPDK][rss-engine] Задание RSS hash флагов для UDP и TCP
  6. Изменено: определение протокола openvpn
  7. [BRAS][DHCP] Добавлено: учет DHCP-пакетов от абонента в биллинговой статистике: абонентский CPE (то есть Wi-Fi роутер) без клиентов (например, ночью) — посылает только запросы на продление лицензии. Так как эти запросы перехватывались BRAS и не включались в аккаунтинг, происходило завершение сессии по idle timeout
  8. [BRAS][DHCP] Исправлено: действия при изменении QinQ/VLAN у абонента
  9. [DHCP] Исправлено: framed-pool renew
    В некоторых случаях формировались некорректные DHCP-ответы. Добавлена трассировка в лог DHCP-пакетов для framed-pool renew
  10. [DHCPv6] Исправлено: прием пакетов от relay. Ранее проверялось, что relay находится в сети fc::/7. Теперь эта проверка излишняя и удалена, — у relay может быть любой адрес.
  11. [PPPoE] Исправлено: разбор DHCPv6-опций от Радиуса
  12. Исправлено: обработка SIGHUP только если fastDPI полностью инициализирован. Возможно падение, если в процессе запуска fastDPI приходит SIGHUP
  13. [AJB][PCAP] Запись trace/debug пакетов переведена на новый API
  14. Добавлено: поддержка протокола wechat для UDP
  15. [DPI] Поддержка дополнительной разметки автономных систем mark1, mark2, mark3. Описание
  16. [DPI] Приоритет определения по SNI в кастомных сигнатурах для автономных систем, помеченных как mark1. Описание
  17. [DPI] Приоритет более специфичных кастомных SNI сигнатур.
    Пример: для хоста a.b.c.d при наличии сигнатур *.d, *.c.d и *.b.c.d будет выбран протокол, определенный сигнатурой *.b.c.d :!: работает только для сигнатур с *. Описание
  18. [DPI] Поддержка жестких блокировок (несмотря на имя хоста/SNI) — задается в дополнительном поле в черном списке адресов, пример: 1.1.1.1 443 hard
  19. Улучшено детектирование YOUTUBE, SIGNAL
  20. Добавлен протокол DPITUNNEL, в который включены аномалии трафика, обычно применяемые для обхода DPI
  21. Обновление dpiutils
  22. [DPI] Новые протоколы VK_CDN_VIDEO, META_CHAT
  23. [DPI] Улучшение сигнатур протоколов FACEBOOK_VIDEO, META_CALLS
  24. [DPI] Исправлено имя протокола VK_CDN_VIDEO
  25. [DPI] Исправлено: декодирование SNI в QUIC IETF и возможность образования корки в исключительных случаях
  26. [DPI] Исправлено: очистка структур поиска при удалении CUSTOM протоколов
  27. [utils] Добавлена возможность добавлять комментарии (#) и пустые линии во входных файлах для утилит lst2dscp, lst2tbf
  28. [DPI] Добавлены протоколы QUIC_UNKNOWN - QUIC без SNI и QUIC_UNKNOWN_MARKED - QUIC без SNI и AS с пометкой MARK2. Описание
  29. [DPI] Исправлено: определение хар-к stun для TCP
  30. [DPI] Изменено: если достигли ограничения просмотра пакетов stun - устанавливаем этот протокол с учетом AS
  31. [DPIutils] Обновлены утилиты для поддержки новых протоколов
  32. [Router] Распределение mempool для emit-пакетов: не допускаем полного исчерпания пула, в пуле должно быть не менее 256 свободных элементов
  33. [Router] Ошибка удаления маршрута errno=3 (No record found) переведена в разряд TRACE, чтобы не засоряла лог
  34. Добавлен режим L2 балансировщика трафика. Данная доработка позволяет использовать СКАТ как балансировщик трафика на основе IP-адресов, принадлежащих AS и определяемой как local в asnum.dscp. Описание
  35. [DPI] Улучшения в протоколах QUIC_UNKNOWN, QUIC_UNKNOWN_MARKED, SIGNAL, DpiTunnel
  36. [DPI] Определения встроенных протоколов по SNI/HOST вынесены в облако, поддерживается приоритет SNI/IP
  37. [Router] Исправлен порядок завершения компонентов роутера
  38. [SDS] Значение storage_tag устанавливается на основании приоритета по направлению или приоритета по протоколу
  39. [CLI] Добавлена команда subs prop show active. Команда выводит дамп L2-свойств всех активных (не-expired) абонентов. Описание
  40. [CLI] Изменено: запрет вызова CLI-команд в процессе остановки
  41. [Router] Изменено: system error при очистке route tables. Очистка route tables (удаление всех записей, добавленных СКАТ) производится при стопе и старте fastDPI. В процессе очистки может возникнуть ошибка EBUSY, которая является фатальной для netlink-сокета, сокет должен быть закрыт.
  42. [DPI] Изменено: сравнение SNI производится без учета регистра
  43. [DPI] Добавлена сигнатура протокола LANTERN_WEAK
  44. [DPI] Улучшено распознавание протокола IMAP
  45. [DPI] Исправление в LPM при выборе канала по IP/CIDR
  46. [PPPoE] Исправлено: idle-timeout для сессии. Для PPPoE-сессий idle timeout должен браться из настройки bras_ppp_idle_timeout, если не задан явно в ответе авторизации (атрибут Idle-Timeout).
  47. [Router] Исправлено: TAP link down in LAG. Если порт входит в лаг, то TAP этого порта в состояние Link down нужно производить только тогда, когда ВСЕ порты LAG в down.
  48. Добавлена приоритетная переадресация с переводом DSCP. Описание
  49. [PCRF] Исправлено: добавление лишней опции 61 (Client-Id) в ответ fastDPI при распределении адреса из Framed-Pool
  50. [PCRF] Исправлено: вывод в лог IP-адресов DHCP-серверов
  51. [PCRF] Исправлено: включение услуг с профилями. Атрибут `VasExperts-Service-Profile` (имя профиля услуги, неявно включает услугу) имеет больший приоритет, чем `VasExperts-Enable-Service` (включение/выключение услуги без задания профиля).
  52. Добавлено: в формат записи в текстовый файл DNS - формат vchnl - номер виртуального канала.
  53. Добавлено: в шаблон IPFIX передачи данных для DNS номер канала. Описание
  54. [CLI] Добавлена команда ping inet от имени абонентов через всю цепочку обработку BRAS/NAT/ROUTER. Подсказка - fdpi_cli ping inet ?
  55. Исправлено: падение при трейсе DNS
  56. [fastRadius] Добавлена возможность работы со стандартными интерфейсами linux с помощью libpcap. Описание
  57. Улучшено определение протокола VIBER_VSTREAMS
  58. [Router] Исправлено: контроль за исчерпанием selfgen mempool
  59. [Router] Оптимизация вычитывания данных с TAP
  60. [ctl] Исправлено: в процессе остановки fastDPI не принимаем и не обрабатываем никакие запросы по ctl
  61. Добавлена утилита checknat для проверки распределения белых адресов
  62. [DPI] Добавлен протокол SSTP (49296)
  63. [L3 BRAS] Исправлено: вызов деанонса IP-адреса абонента при acct idle. В опцию роутера router_subs_announce добавлен новый флаг: 0x10000 - деанонсировать L3-абонента при наступлении acct idle (закрытие acct-сесси по idle timeout)
  64. [PCRF] Добавлена поддержка задания профиля услуги 18 при авторизации. Включение услуги 18 в ответе Радиуса Access-Accept задается обычным для услуги с обязательным профилем образом (здесь serv18 - имя профиля):
    VasExperts-Service-Profile = "18:serv18"
  65. [CLI] В команду subs prop show добавлен поиск по MAC и subs_id. Результат поиска по MAC или subs_id может быть многозначным, - несколько разных записей для одного того же MAC/subs_id. Результат команды subs prop show active изменен, что может быть критично при разборе json-выхлопа команды. Описание
  66. [Router] Исправлено LAG+On-stick: перевод TAP в состояние link down. TAP переводится в link down только тогда, когда все порты в LAG в состоянии down. Если же есть хотя бы один порт в состоянии Up - TAP должен находится в состоянии Link Up.
  67. [DPDK][CLI] Исправлено: установка флага link up/down для портов, не поддерживающих link up/down прерывания (например, af_packet)
  68. [Router] Исправлено: отведение трафика в роутере для on-stick девайса в LAG. При формировании топологии VRF не учитывалось, что в LAG входит базовый (физический) девайс, а при описании роутера указывается on-stick (виртуальный) девайс.
  69. [DPI] Добавлен протокол ANYDESK (49297)
  70. [DPI] Улучшено распознавание LANTERN
  71. Исправлено online изменение параметра nat_private_cidr
  72. [CLI] Код возврата команды Uptime. CLI-команда uptime может использоваться для контроля полного запуска fastDPI: она возвращает result=0 (Success) только тогда, когда fastDPI полностью проинициализирован и все рабочие потоки запущены. По получении ответа от fastDPI на команду fdpi_cli uptime сама утилита fdpi_cli проверяет результат выполнения и если result!=0 — выставляет ненулевой код возврата.
  73. [PCRF] Исправлено: при наличии VRF (service 254) в Access-Accept пакет неправомерно выводился в лог как ошибочный
  74. [Router] Исправлено: вычитывание всех данных с TAP-девайса. При старте fastDPI были возможны ситуации, когда роутер еще не полностью инициализирован, а TAP уже мониторится, но не вычитывается.
  75. [Router] Опция router_subs_announce сделана горячей (hot)
  76. [Router] Исправлено: утечка mbuf при старте fastDPI
  77. Restore work of udr after huge transaction failed
  78. [BALANCER] Добавлен движок mqrx_lb_engine, который активируется при dpdk_engine=2
1)
Колыбель человечества: люди обитают здесь более 50 тыс лет