Список изменений BETA-версии СКАТ

Изменения в версии 14.1 BETA1

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 файлов.

BRAS

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

[BRAS] Добавлена опция bras_disable_l3_auth — явный запрет L3 auth в режиме L2 BRAS для всех абонентов. К примеру будет работать только DHCP авторизация для абонентов с метой AS local. Значение по умолчанию: off (L3 auth разрешена) bras_disable_l3_auth=off. Данная опция имеет смысл только если enable_auth=1. Опция несовместима с режимом bras_dhcp_auth_mix=0: если задано bras_dhcp_auth_mix=0, то bras_disable_l3_auth полагается равным off (L3 auth разрешена) и выводится предупреждение в alert-лог.

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

[BRAS][srcIP spoofing] Добавлена фильтрация по флагам source AS на пути subs→inet до приема пакета в обработку для блокирования исходящего от оператора DDOS с подменой IP-адреса.
Добавлена новая опция fastdpi.conf ip_filter_source_as_flags (hot)[hot] Фильтрация subs-трафика по AS. Битовая маска флагов AS (автономных систем) для source IP со стороны subs.
В обработку допускаются только пакеты, у которых source IP AS содержит хотя бы один из перечисленных флагов. В противном случае пакет дропается. Значения флагов AS (битовая маска):

0 - фильтрация отключена (по умолчанию) — ip_filter_source_as_flags=0x0

0x0100 - pass

0x0200 - local

0x0400 - peer

0x0800 - term

0x1000 - mark1

0x2000 - mark2

0x4000 - mark3

[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 отключены)
Хранилище RG инициализируется только если включена биллинговая статистика. Расчет объема памяти под RG статистику: размер счетчиков под одну RG = 32 байта. Общий размер требуемой памяти:

32 * rating_group_count * rating_group_max_subs * num_thread

Например, для 10 тыс. абонентов, 256 RG и 8 потоков обработки требуется 625M памяти:

rating_group_count = 256
rating_group_max_subs = 10000
num_thread = 8
memory_required= 32 * 256 * 10000 * 8 = 625M

[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"

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. Запись трансляции выглядит следующим образом:

nat_type - тип NAT (0 - CGNAT, 1 - NAT 1:1),

protocol - протокол уровня L4 (0 - TCP, 1 - UDP),

internal_ip - серый IP,

internal_port - серый порт,

dest_ip - IP назначения,

dest_port - порт назначения,

external_ip - белый IP,

external_port - белый порт,

active - флаг активности трансляции (true если активна)
Активность трансляции определяется временем ее последнего использования и параметром времени жизни, задаваемого в опциях кластера. Если задан <lifetime> (в секундах), то используется его значение в качестве времени жизни трансляции.

[NAT][CLI] Вывод трансляций для клиента по серому ip nat show

CLI

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

subs bind show <login> [memory|udr]

Два режима:

memory (default) выводит привязку IP к логину так, как в данный момент задано в fastDPI.

udr — выводит привязку IP к логину из UDR
Вывод этих двух режимов может отличаться: не все связки IP←→логин сохраняются в UDR; например, для Framed-Route подсетей привязка к логину создается только в памяти, сами framed-route подсети хранятся в UDR в отдельной таблице, см. группу CLI-команд cli framed route ?

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

Detailed statistics on HTTP

Detailed statistics on SSL_SAVEBL

Detailed statistics on QUIC_IETF_SAVEBL

Detailed statistics on BitTorrent

IPFIX

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

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

Rating group, id 2020

Утилиты

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

Изменения в версии 14.1 BETA2

IPFIX

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

BRAS

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

bras_subs_shcv_interval — Интервал неактивности, секунд; 0 - SHCV отключен.

bras_subs_shcv_retry_timeout — Время ожидания ответа на ARP-запрос, секунд, по умолчанию = 3 секунды.

bras_subs_shcv_retry_count — Число ARP-запросов, по умолчанию = 3.

bras_shcv_trace — Трассировка SHCV, по умолчанию = off.
Если от абонента в течение bras_subs_shcv_interval секунд нет никакого трафика, fastDPI начинает пинговать абонента отправкой unicast ARP-запроса от имени абонентского шлюза. Ожидание ответа на ARP-запрос - bras_subs_shcv_retry_timeout, секунд. Если на bras_subs_shcv_retry_count последовательных ARP-запросов не получено ни одного ответа, либо ARP-ответ содержит другой MAC, абонент считается неактивным, его статус авторизации сбрасывается, аккаунтинг-сессия останавливается.

[BRAS][DHCP][hot] Для опции bras_dhcp_check_secondary_keys доступны новые значения 2 и 4. Полное описание опции:
bras_dhcp_check_secondary_keys — контроль вторичных уникальных ключей (opt82/QinQ) [hot]
В DHCP основными ключами выступают ClientId (opt61) или, если ClientId не указан, MAC-адрес клиента. В режиме контроля вторичных ключей если хотя бы по одному вторичному ключу найдена другая DHCP-сессия, она будет закрыта (посылается acct Stop)

0 (значение по умолчанию) — не контролировать вторичные ключи.

1 — контролировать все вторичные ключи — QinQ и opt82

2 — контролировать только opt82

4 — контролировать только QinQ

RADIUS

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

Изменения в версии 14.1 BETA3

[DPI][tethering] Добавлено детектирование tethering. Новый настроечный параметр tethering_ttl_allowed = 249:59 [hot] - список допустимых TTL для трафика от абонента, которые не считаются tethering.

[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 в зависмости от направления.

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

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

yum info fastdpi

Если у вас установлена версия 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 --enablerepo vasexperts-beta update fastdpi

Откат на 14.0:

yum downgrade fastdpi-14.0 fastpcrf-14.0 dpiutils-14.0 fastradius-14.0
После обновления или смены версии требуется рестарт сервиса