Версия 14.0 Shooting Stars

В память о коллегах, которые внесли огромный вклад в развитие компании и ее продуктов и навсегда останутся в нашей памяти

Отслеживайте текущую версию СКАТ и отправляйте заявки на обновление через Личный кабинет

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

DPI

[DPI] Переход на DPDK 24.11, поддержка новых сетевых карт (Intel E830 200G, Intel E610, Napatech SmartNIC). Описание

[DPI] Добавлены новые протоколы: AGORA_STREAMS(49314), AZAR_CALL(49315), WECHAT_CALL(49316), TEAMS_CALL(49317). Список протоколов

[DPI] Улучшена поддержка протоколов LINE_CALL, VYKE_CALL. Список протоколов

[DPI] Исправлена работа smartdrop

[DPI] Добавлена валидация для сложносоставных протоколов. Список протоколов

[DPDK] Максимальное число диспетчеров увеличено до 32. Описание

[DPI] Добавлены облачные протоколы с идентификаторами 55296..58367

[DPI] Добавлен протокол DOQ 49318 (DNS-over-QUIC)

[DPDK] Добавлен dpdk_engine=6 (mqrx-bridge) — количество RSS диспетчеров на мост. Описание

[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. Описание

До 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-команды. Описание

[VRRP] Исправлено: корректная обработка изменения опции vrrp_enable

[SNMP] Создан модуль мониторинга компонентов системы по SNMP

[IPv6] Добавлена возможность определения направления в комбинированном трафике (IN+OUT в одном порту) на основе признака local для IP-адресов. Включается опцией combined_io_direction_mode

[VLAN-Rule] Добавлена поддержка 'any' вместо '*' при описании диапазона VLAN. Описание

[DPI][LOG] Сообщение о нехватке ssl парсеров пишется в slave лог не на каждое событие, а с периодичностью 1/50000

[DPI] Добавлены протоколы ZALO_CALL(49320) and VK_CALL(49321)

[DPI] Исправлена работа блокировки в режиме hard для SSL

[DNS] Добавлена возможность подстановки/блокировки/отброса DNS запросов A, AAAA, MX, HTTPS. Описание

[DPI] Добавлен протокол BIGO_CDN(49324)

[DPI] Добавлена поддержка UDP для BIGOTV

[DPDK] Удаление устаревших настроек rx channels и связанных с ними проверок

[PCAP] Добавлена возможность сохранять трафик заданного vlan с помощью параметра ajb_save_vlan. Описание

BRAS

[BRAS] Поддержка DHCP-Dual. Описание

[BRAS] Поддержка терминации L2TP. Описание

[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. Описание

[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 [<pcrf_index>], где <pcrf_indxed> — индекс строки соединения в параметре auth_server. Если <pcrf_indxed> не указан — полагается равным 0.
Описание

[PCRF][PPP][Framed-pool] Добавлено: в DHCP-опцию Client-Id включается также tunnel-IP как часть идентификатора абонента. Подробнее в разделах Поддержка IPv4-пулов и Поддержка IPv6-пулов

[PCRF][Acct] Исправлено: отключение отправки Interim-Update. Явное задание Acct-Interim-Interval = 0 в ответе Радиуса должно отключать отправку Interim-Update. Подробнее в разделах acct-interim-interval, PPPoE Radius Access-Request

[PCRF] Добавлена поддержка задания услуги 19 "Подмена DNS", профиль обязателен. Описание

[BRAS][DHCP] Изменено: алгоритм скользящего окна для rate limit

[BRAS] Исправлено: ошибка при сравнении времени при загрузке ip_prop из UDR

[Acct] Добавлен атрибут VASExperts-Service-Type. Radius acct start/interim/stop в атрибуте VASExperts-Service-Type передается тип авторизации. Описание

[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). Описание

[CLI] Добавлена поддержка subs_id в команды dhcp show, dhcp reauth, dhcp6 show, dhcp6 reauth и dhcp disconnect. Описание

В CLI-команду dev info добавлено имя LAG, в который входит порт. Описание

[CLI] Добавлены команды вывода свойств и статистики mempool

hal mempool props
hal mempool stat

Для вывода статистики mempool требуется сборка DPDK с включенным сбором статистики

[CLI] Добавлено: команда stat flow ip6 вывода статистики по IPv6 flow. Описание

[CLI] Добавлено: команда stat flow ip4 вывода статистики по IPv4 flow. Аналог вывода в fastdpi_stat.log. Описание

[CLI] Добавлена команда stat netflow. Вывод общей статистики по Netflow/IPFIX (то же, что выводится в fastdpi_stat.log в разделе "Statistics on NFLW_export"). Описание

[CLI] Добавлена команда stat firewall. Описание

IPFIX

[IPFIX/Neflow] Добавлена возможность изменения параметров IPFIX/Netflow без перезагрузки fastDPI с помощью параметра ipfix_reserved. Описание

[IPFIX] Добавлена агрегация сообщений для IPFIX потоков FullFlow/DNS/META/NAT

[IPFIX] Добавлен параметр ipfix_mtu_limit, ограничивающий для udp-пакетов IPFIX максимальный размер передаваемого сообщения. Подробнее: Настройка экспорта Clickstream, Настройка экспорта и шаблон Full NetFlow в формате IPFIX

[IPFIX DNS] В IPFIX DNS добавлены новые элементы 224 (ipTotalLength) и 43823:3206 (DNS transaction id). Описание

[IPFIX] Исправлены ошибки реинициализации IPFIX экспортеров

[IPFIX DNS] Добавлена возможность отправки DNS MX ответов по IPFIX. Включается путем установки 3 бита (4) параметра ajb_save_dns. Описание

[IPFIX] Исправлена ошибка формирования ExportTime в IPFIX Fullflow

[IPFIX] Добавлена настраиваемая отправка счетчиков drop octets/packets при формировании IPFIX fullflow. Описание

RADIUS

[FastRadius] Можно задать bind_ipv6_address и bind_ipv6_subnet одновременно. При наличии маски 128 в Framed-IPv6-Prefix она не проверяется на ограничение по значению bind_ipv6_subnet. Описание

Router

[Router] Анонсирование белых адресов абонентов для NAT 1:1 по одному и после авторизации. Описание

[Router] Исправлено: перехват и отвод IPv6-пакетов на tap-интерфейсы. Link-local адреса не отводились на tap, даже если это явно задано в настройках router.subnet6.

Утилиты

[DPIUTILS] Обновлена утилита checknat. Описание

[DPIUTILS] Обновлена утилита dns2dic с поддержкой блокировки доменов. Описание

Изменения в версии 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). Описание

BRAS

[BRAS][framed-route] Исправлено: передача Framed-Route при изменении логина абонента. При изменении логина подсети Framed-Route оставались подключенными к старому логину, и все услуги и полисинг для подсетей Framed-Route брались от старого логина.

[BRAS] Добавлена опция bras_disable_l3_auth — явный запрет L3 auth в режиме L2 BRAS для всех абонентов. Описание

[BRAS] Добавлен новый флаг для абонента — запрет L3 auth для конкретного абонента. Этот флаг можно установить/снять только через CLI: в команду subs prop set добавлен новый параметр disable_l3_auth=[1:0]. Описание

[BRAS][srcIP spoofing] Добавлена фильтрация по флагам source AS на пути subs→inet до приема пакета в обработку для блокирования исходящего от оператора DDOS с подменой IP-адреса. Описание

[BRAS][PPP] В команду ppp show stat добавлена статистика по утилизации БД-сессий. Описание

[BRAS][PCEF][Policing] Добавлено конфигурирование общего полисинга из параметров переданных в атрибуте VasExperts-Policing-Profile с префиксом BR##. Описание

[BRAS][PCEF][Services] Добавлено конфигурирование персонального (noname) профиля пользователя для сервисов из параметров переданных в атрибуте VasExperts-Service-Profile с префиксом BP##. Описание

[BRAS][PCEF][rating-group] Новые опции (cold, требуется рестарт fastDPI):

rating_group_count — число rating group, 0 — RG отключены. Значение по умолчанию: 0

rating_group_max_subs — max число абонентов с RG. Значение по умолчанию: 0 (RG отключены)
Описание

[BRAS][PCEF][rating-group][RADIUS Accounting] Вывод статистики по RG в RADIUS Accounting. Статистика по RG передается в отдельных пакетах Interim-Update. Передаются данные только по ненулевым RG. Из-за ограничений на размер RADIUS-пакета в 4096 байт, RG-данные могут быть разбиты на несколько RADIUS-пакетов Interim-Update.
Чтобы отличить Interim-Update содержит признак данных, содержащихся в нем: новый VSA `VasExperts-Acct-Type` (id=28, vendor 43823, тип integer) со значениями:

0: стандартный Interim Update Accounting

1: данные по RG
Каждая rating-group и ее счетчики передаются в *одном* VSA, который содержит следующие атрибуты:

VasExperts-Acct-Rating-Group (новый атрибут типа short, 16-битовое целое) - номер RG;

VasExperts-Acct-Input-Octets-64

VasExperts-Acct-Output-Octets-64

VasExperts-Acct-Input-Packets-64

VasExperts-Acct-Output-Packets-64
счетчики пакетов/байт по направлениям выводятся в соответствии с опцией acct_swap_dir (как в Accounting).
Особенности передачи RG:

RG являются опциональными данными и могут отсутствовать у абонента; соответственно и никакой передачи RG-аккаунтинга для такого абонента не будет;

в случае неподтверждения приема RG-пакета со стороны RADIUS-сервера его повторная отправка не производится, - свежие данные отправятся в следующем Interim-Update абонента;

если абонент имеет RG-статистику, то по окончании сессии перед отправкой Acct-Stop посылаются текущие RG-данные в пакетах Interim-Update.

[BRAS][PCEF][rating-group][CLI] Добавлено: CLI-команда subs traffic stat. Команда для указанного абонента выводит биллинговую статистику и статистику по rating group, если они подключены у абонента. Описание

[BRAS][PCEF][rating-group][RADIUS Accept] Добавлено: задание услуги RG при авторизации. Накопление статистики по RG может быть включено только если включена услуга 9 (bill stat) для конкретного абонента. RG задается на уровне абонента при авторизации указанием специального профиля услуги 9 с именем 'RG':

VasExperts-Service-Profile :="9:RG"

Если услуга 9 отключается, отключается и накопление RG.
Примеры заданий услуги 9 и RG:

# service 9 enabled, RG disabled. Отправляется стандартный RADIUS Accounting.
VasExperts-Enable-Service :="9:on"

# service 9 enabled, RG enabled. Отправляются данные RG в RADIUS Accounting.
VasExperts-Service-Profile :="9:RG"

# service 9 disabled, RG disabled. Не отправляются стандартный RADIUS Accounting и RG.
VasExperts-Enable-Service :="9:off"

[BRAS][SHCV][hot] Добавлен контроль активности static IP L2-абонента (абонента, которому при L3-авторизации RADIUS возвратил флаг VasExperts-L2-User=1). Описание

[BRAS][DHCP][hot] Для опции bras_dhcp_check_secondary_keys (контроль вторичных ключей) доступны новые значения 2 — контролировать только opt82 и 4 — контролировать только QinQ. Описание

[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-сервера. Описание

[BRAS][CLI] Добавлено: команда subs db stat вывода статистики по БД L2 BRAS

[BRAS][DHCP6] Исправлено: падение при обработке DHCPv6 с некорректной длиной в UDP-заголовке

NAT

[CG-NAT] Добавлен rx_dispatcher=3 — метод с равномерной балансировкой по произвольному количеству потоков с поддержкой NAT 1:1 с возможностью назначения конкретных Публичных адресов, без требования назначения конкретного Приватного адреса на абонента. Описание

[CG-NAT] Учет времени жизни трансляции в команде fdpi_ctrl list status --service 11 --login UserName (--ip IP). В выводе команды появились дополнительные поля: active_sess_tcp — количество активных NAT-трансляций для TCP и active_sess_udp — количество активных NAT-трансляций для UDP.
Активность трансляции определяется временем ее последнего использования и параметром времени жизни, задаваемого в опциях кластера. Описание

[CG-NAT][CLI] Учет времени жизни трансляции в команде nat show <internal_ip> [<lifetime>]. Выводит список всех NAT трансляций для заданного серого IP. Описание

CLI

[CLI] Добавлена команда subs bind show просмотра списка IP-адресов, привязанных к логину <login>. Описание

[CLI] Добавлено: CLI-команда stat http. Эта команда выводит внутреннюю статистику, аналогичную выводу в fastdpi_stat.log. Описание

[CLI] Фикс команд list status --service 11 (NAT) и nat show

IPFIX

[IPFIX] Хранение информации о TTL из заголовка IP-пакетов. Описание
В статистику Full NetFlow в формате IPFIX добавлены:

TTL пакетов, id 192. Поле используется для обоих направлений: subs2inet и inet2subs

Rating group, id 2020

[IPFIX] Исправлена ошибка конвертирования времени в unix формат

[IPFIX] В Full NetFlow IPFIX добавлены новые 64-bit поля. Описание
service_flags - информация о метках, которые получил flow в DPI. Детектированный tethering сообщается по IPFIX в бите 1 поля service_flags. Доступны 63 бита для дальнейшего использования.
detection_flags - зарезервировано под метод детекции.
action_flags - зарезервировано под передачу какие действия были с flow.

[IPFIX] В Full NetFlow IPFIX исправлена передача TTL в одном поле с идентификатором 192 в зависмости от направления. Описание

Утилиты

[utils] Добавлена утилита name2custom для просмотра списка протоколов, загруженных из облака (в отличие от встроенных)

RADIUS

[FastRADIUS] Добавлена поддержка записи в syslog. Новый параметр syslog_level в fdpi_radius.conf — уровень записи сообщений из alert-лога в syslog. 0 — запись в syslog отключена (значение по умолчанию). Описание

[FastRADIUS] Добавлено извлечение RADIUS атрибута 3GPP User Location Info и его отправка в IPFIX. Описание