Версия 12.0 Machu Picchu

Мачу Пикчу — "город среди облаков", расположен в Перу, имеет статус Всемирного Наследия ЮНЕСКО

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

Статья в блоге: СКАТ DPI версия 12.0 — обзор обновлений Обзор версии 12 на Rutube:

Изменено: переход на DPDK 22.11 LTS.

Добавлено: разбор заголовков с защитой Chaos Protection в QUIC IETF.

Добавлено: параметр (холодный) nat_transcode_cidr , который задает CIDR белых адресов оператора. Возможно только 2 CIDR. Значения используются при перекодировке белый –> серый для NAT 1:1. Для серого адреса может быть назначен любой белый адрес для NAT 1:1.

Изменено: хэш функция распределения по рабочим потокам: (crc(ip_src) % nthread + crc(ip_dst) % nthread) % nthread.

Изменено: алгоритм выделения белых адресов для CG-NAT: crc(серый) % nthread + crc(белый) % nthread.

Изменено: Сообщение [NFLW] very long operation …. выводится всегда независимо от количества повтора сообщений.

Изменено: изменено имя каталога записи файлов — добавлено stream.

Добавлено: статистика вывода информации по отправлению Netflow/IPFIX

[STAT ][2022/11/20-17:55:03:213770] Statistics on NFLW_export : {a/b/c%/d/e} a - количество выполнения циклов отправки b - количество циклов отправки, когда время, затраченное на отправку, превысило период выполнения циклов c - процент превышения количества циклов отправки: 100 * b/a d - время в микросекундах максимальной продолжительности цикла отправки e - время в микросекундах периода отправки статистики (значение параметра ''netflow_timeout''(параметр задается в секундах)) Пример: [STAT ][2022/11/20-17:55:03:213770] Statistics on NFLW_export : {7/0/0.00%/45297us/30008163us}

[PCRF][PPPoE] Исправлено: если Радиус отдает нам IPv6-адрес вместо префикса, мы не делали префикс из адреса, что приводило к пересозданию acct-сессий. Вновь создаваемые acct-сессии были без логина и прочих важных для провайдеров атрибутов.

[BRAS][L3-AUTH] Изменено: Framed-Route теперь не применяется к PD-префиксу.

[PCRF][ACCT] Исправлено: при отсоединении (unlink) записи от мультисессии не корректировались IP-адреса для мультисессии. Отсоединение (unlink) происходит при агрегации. В результате в дальнейшем к этой мультисессии могли быть привязаны другие записи, не имеющие уже к ней никакого отношения.

[PCRF][DHCPv6-Pool] Исправлено: формирование поля Link-Address для Relay-Fwd при отправке запроса на конкретный DHCPv6-сервер.

[BRAS][PPPoE-IP6] Запрос IPv6-адреса из Framed-IPv6-Pool осуществляется по приходу от клиента первого IP6CP Cfg-Req.

[CLI][ACCT] Добавлено: вывод NAS-атрибутов fastDPI-сервера в командах PCRF acct show.

[BRAS][DHCP] Исправлено: отправка NAK на DHCP-Request для другого сервера.

Добавлена поддержка DDP профилей для карт Intel 700-series (драйвер i40e) для балансировки туннелей PPPoE/GTP/MPLS при использовании dpdk_engine=2. DDP загружается из файла /lib/firmware/intel/i40e/ddp/i40e.pkg при инициализации i40e портов. Время жизни загруженного DDP-профиля: до перезагрузки сервера.

Изменено: алгоритм выбора сервера для записи SDS.

[CLI] Добавлено: установка l2subs_id в команде subs prop set.

[BRAS][DHCP-Relay] Добавлена поддержка l2subs_id.

[BRAS][AUTH] Добавлена поддержка l2subs_id для L3-авторизации, так как в ответе L3 auth от Радиуса может указываться, что это L2-абонент.

[BRAS][ARP-AUTH] Добавлена поддержка l2subs_id.

[BRAS][PPPoE][CLI] Добавлено: атрибут l2subs_id для PPPoE-сессии.

[BRAS][PPPoE] Удалена поддержка авторизации по MAC, без логина и пароля, удаление опции bras_ppp_mac_auth.

[PPPoE][CLI] Добавлена поддержка параметра subs_id, идентифицирующего PPPoE-сессию.

[BRAS] Добавлен класс l2lan_id — идентификатор L2-сети. l2lan_id предназначен для разделения абонентов по VLAN. l2lan_id получается из l2subs_id, то есть его формирование задается той же опцией bras_subs_id. По сути l2lan_id — это VLAN-префикс из l2subs_id.

[BRAS][DHCP] Все внутренние БД DHCP-сессий теперь учитывают l2lan_id — он входит в их ключ по MAC и Client-Id. То есть два абонента с одним и тем же MAC-адресом, но в разных VLAN, считаются разными абонентами (если bras_subs_id задано учитывать VLAN). Вторичные ключи по Opt82 и Q-in-Q не учитывают l2lan_id. Подробнее bras_subs_id.

Добавлен настроечный параметр rx_dispatcher метод хеширования flow по рабочим потокам

0 — по умолчанию используется прежний метод (ip_src+ipdst)%N ) & ip_mask;

1 — новый метод с поддержкой перекодировки для NAT1:1 (CRC(IP SRC)%N+CRC(IP_DST)%N)%N.

[Radius monitor] Добавлена поддержка экспорта адреса и порта NAS, а также других атрибутов.

[Radius monitor] Добавлено подключение 12 услуги.

[BRAS] Добавлена настройка bras_ppp_lcp_start_timeout.

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

Добавлено: диагностическая информация NAT.

Добавлено: поддержка режима On-Stick.

Минорные исправления в работе CG-NAT.

Поддержка 12 услуги1) Запись абонентского трафика в PCAP файл на VCHANNEL.

Поддержка загружаемых из облака протоколов с именами.

SDS: передача данных в формате pcapng.

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

Исправления в выводе статистики утилизации CG-NAT.

Разбор новых версий GQUIC.

Новая услуга 16 — белый список с переадресацией на captive portal без доступа абонентов в интернет (по причине аварии на аплинках, абонент в долгосрочной блокировке и т.п.).

Новая утилита dpdkinfo. Описание.

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

Обзор версии 12.3 на Rutube:

Добавлено: поддержка VRF в роутере

Сервис управления авторизацией PPPoE на основе поля Service-name. Описание в разделе Настройка авторизации PPPoE

fdpi_cli help vlan group vlan group : manage <add|delete|show> vlan group authorization policy vlan group <group-id> ... - manage <group-id> vlan group 2 ... - manage <group-id> = <2> vlan group 2 deny auth pppoe - deny authorization by pppoe and delete all its properties vlan group 2 allow auth pppoe - allow authorization by pppoe vlan group 2 show auth pppoe - show policy for authorization by pppoe vlan group 2 show auth all - show policy for all authorization protocols vlan group 2 show all - show all properties for group vlan group 0 show all - show all properties for all groups - full scan and print udr vlan group 2 auth pppoe allow add service-name name=sname delay=3 - allow authorization by pppoe for service-name sname with podo-delay=3 vlan group 2 auth pppoe deny add service-name name=sname delay=3 - deny authorization by pppoe for service-name vlan group 2 auth pppoe delete service-name name=sname - delete service-name sname and its properties vlan group 2 auth pppoe show service-name all - show service-name policy for authorization by pppoe vlan group 2 drop - drop packet without any analysis vlan group 2 pass - passthrough packet without any analysis

Добавлено: поддержка отправки heartbeat для внешних bypass

Добавлено: извлечение и передача в IPFIX куки из Set-Cookie

Улучшено: блокировка коротких подвисаний TCP протокола в потоках IPFIX через дополнительную установку user timeout (в дополнении к стандартному механизму tcp keep alive)

Добавлено: производительный rx_dispatcher=2 с равномерной балансировкой по произвольному количеству потоков (но без поддержки nat1:1 с требованием назначения конкретных адресов). Описание в разделе Настройка и управление

[BRAS][PPPoE] Исправлено: dual-stack: добавление IP-адресов к уже существующей acct-сессии

[PCRF] Исправлено: переключение persist queue в режим "есть связь"

[CLI] Добавлена команда CLI fdpi_cli pcrf persist queue reconnect, которая позволяет сделать реконнект к fastDPI без сброса очереди. Может быть применена к конкретному соединению или ко всем. Описание в разделе Управление fastPCRF

[PCRF][PPPoE][Framed-Pool] Исправлено: создание acct-сессии с тем session_id, который был анонсирован при авторизации

Добавлена поддержка формата pcapng для записи в СХД

[CoA] Добавлена обработка CoA Update по l2subs_id. Описание в разделе Radius CoA

Добавлено: сохранение в экспорте NAT трансляций ICMP протокола

Изменено: параметр nat_exclude_private и соответствующая поддержка: int nat_exclude_private;
Битовая маска для того чтобы не делать NAT для серых адресов:
0 — всегда делаем преобразование серый –> белый
1 — Не делаем NAT для серых адресов (ip_src и ip_dst серые или находятся в psz_prms_user_private)
2 — ip_src — серый с учетом psz_prms_user_private и AS для dst_ip = local
4 — ip_src — серый с учетом prms_user_private и AS для dst_ip = peer. Описание в разделе Настройка и управление

[CoA] Добавлена обработка CoA Reauth по l2subs_id. Описание в разделе Radius CoA

[CoA] Добавлена обработка CoA Disconnect по l2subs_id. Описание в разделе Radius CoA

[fDPI] Максимальное число кластеров увеличено до 12 (было 10)

[PCRF][ACCT] Добавлено: передача атрибута VasExperts-L2-SubsId в Acct Start/Interim/Stop. Описание в разделе Radius-атрибуты

[DPDK] Добавлено: disable Ethernet Flow Control на старте порта

[PCRF][DHCPv6-POOL] Исправлено формирование Client-DUID при составлении DHCP6-RENEW для Framed-IPv6-Pool
Client-DUID должен быть неизменным на всем протяжении DHCPv6-сессии, иначе при Renew DHCPv6-сервер может выдать другой IPv6-префикс, что приведет к закрытию PPPoE-сессии. Для достижения неизменяемости теперь Client-DUID формируется из l2subs_id абонента.

[PCRF][DHCP-POOL] Исправлена идентификация 'запрос-ответ' при работе с DHCP-пулами.
В качестве идентификатора используется:
Для DHCPv4 — MAC-адрес абонента (chaddr) + xid запроса
Для DHCPv6 — опция Client-Id и xid запроса. Сервер обязан передать опцию Client-Id в ответе, в отличие от других опций запроса.

[BRAS] Добавлена CLI-команда dhcp show stat vrf
Вывод числа DHCP-абонентов в разрезе VRF

[PCRF] Добавлена CLI-команда pcrf radius enable/disable

[PCRF] Добавлена CLI-команда pcrf radius ping

[PCRF] Добавлена CLI-команда pcrf radius status

Изменено: если у сессии нет белого адреса — включается CG-NAT.

Добавлено: если услуга 11 удалена, NAT выключается и освобождаются ресурсы. Происходит только если есть (прочитаны) данные по flow

[BRAS][DHCP] Использование MAC-адреса абонента из DHCP-запроса для l2subs_id.
При формировании L2-идентификатора абонента (см. bras_subs_id) используется srcMAC из ethernet-заголовка пакета. В случае, если DHCP-запросы проходят через DHCP Relay, srcMAC в ethernet-заголовке DHCP-пакета уже не является MAC-адресом абонента. DHCP-запросы всех абонентов, проходящих через DHCP Relay, имеют один и тот же MAC в ethernet-заголовке и один и тот же subs_id.
Решение: для формирования L2-идентификатора MAC-адрес абонента теперь берется из DHCP-пакета, поле chaddr.

[PCRF] watchdog — новый монитор Radius-серверов. Описание в разделе Полный список параметров
Новые параметры fastpcrf.conf:

Тайм-аут пингования Радиус-серверов, в секундах.
Если нет никаких запросов авторизации, fastPCRF периодически пингует Радиус-сервера, посылая Server-Status или Access-Request. Если сервер отвечает, то он считается доступным. Значение по умолчанию: 60 секунд. radius_keepalive=60

User-Name (radius_ping_user_name) и Password (radius_ping_user_password) псевдоабонента для пинг-запросов.
FastPCRF пытается поддерживать соединение со всеми описанными Радиус-серверами, периодически посылая пинг-запрос на сервера.
Пинг-запрос — это запрос Status-Server (если Радиус его поддерживает) или обычный Access-Request с заданными User-Name и Password. Эти параметры задают User-Name и Password для пинг-запросов Access-Request (в Server-Status эти параметры не используются). FastDPI важен сам факт ответа сервера на пинг-запрос, содержимое ответа (Access/Reject и их атрибуты) не анализируется. Если данные User-Name и Password не заданы — пинг-запрос Access-Request все равно будет посылаться, но без атрибутов User-Name и Password. Значений по умолчанию нет. Параметр radius_revive_period удален за ненадобностью.

Изменено: Для flow ставится признак p_flow_ → cmn.bts_check_ip |= ntconnt::bts_nat_must_whip
Признак говорит о том, что идет обращение с серого адреса и для этого flow требуется белый адрес. Если белый адрес не назначен — попытки выделения белого адреса продолжаются (Для TCP — только если SYN). Это происходит из-за того что могут идти запросы с серого адреса, а только потом появляется услуга 11, но flow уже существует и будет вечно мертвый.

Изменено: Если для flow задан белый адрес, проверяется наличие 11 услуги. Если услуги нет — белый адрес освобождается.

[Router] Добавлено: сообщение об ошибке в fastdpi_alert.log "VRF не имеет TAP"
Если VRF не имеет ни одного девайса — невозможно анонсировать адрес в такой VRF. Данная ошибка выводится в fastdpi_alert.log не чаще чем раз в час для каждого VRF

Добавлено: команды fdpi_cli: nat dump transcode, nat dump translater [имя профиля], nat dump translater data [имя профиля]

Новое имя профиля полисинга — BV##NNNN[#MMMM][#++++—-], где NNNN — скорость входящего трафика в кбит/с, MMMM — скорость исходящего трафика в кбит/с, + — включенный класс, — — отключенный класс. Описание в разделе Атрибуты авторизации абонента

[PCRF] Добавлено: новое значение chaddr@opt60 для опции radius_user_name_dhcp
Пример: radius_user_name_dhcp=chaddr@opt60, User-Name в Access-Request формируется из MAC-адреса заголовка DHCP пакета (поле chaddr) и опции 60, если эта опция есть в DHCP-запросе. Описание в разделе DHCP Radius proxy - Access-Request

Изменено: улучшено распознавание FACEBOOK VIDEO

Исправлено: при разборе quic_ietf для первого пакета CRYPTO, если задан offset==0 — проверяется факт возможной фрагментации

Добавлено: изменения парсинга — учет изменений в версиях Google QUIC: до версии 34 было дополнительное поле "Private Flags". Не разбирали такие пакеты, начиная с версии 39 — изменился порядок байт для записи "Data Length"

Добавлен полисинг и услуга 16 по значениям из имени профиля. Описание в разделе Атрибуты авторизации абонента

[BRAS] Добавлено: новая опция bras_ip_filtering
[hot] Фильтрация трафика (битовая маска) по умолчанию отключена (=0).
Допустимые флаги: 0x0001 — контроль подмены IP абонента (restricting forged traffic). Дропаем пакет на пути subs → inet, если IP-адрес абонента (srcIP) неизвестный для L2 BRAS и bras_term_by_as = 0 и AS абонента не local. bras_ip_filtering=0

[BRAS] Добавлено: опция bras_vrf_isolation — изоляция на уровне VRF. Описание в разделе Маршрутизатор Soft-Router
Добавлена новая опция fastdpi.conf: [hot] Изоляция VRF. По умолчанию (0), L2 BRAS не изолирует абонентов из разных VRF: Если данный режим включен (1), то абоненты из разных VRF будут изолированы друг от друга: для абонента из VRF1: шлюз также должен быть в VRF1, local interconnect будет работать только для абонентов из той же VRF1. bras_vrf_isolation=0
При включении этой опции:

1. ARP абонента к шлюзу — обрабатывается fastDPI только если абонент и шлюз в одном VRF

2. ICMP ping шлюза — обрабатывается fastDPI только если абонент и шлюз в одном VRF

3. local interconnect — применяется только если оба абонента в одном VRF

Исправлено: сообщения об ошибке для клиента не должны содержать LF в json

[BRAS][ARP] Изменено: обработка ARP к шлюзу. Отвечаем на ARP-запрос к шлюзу только если VRF отправителя и шлюза совпадают (sender и GW находятся в одной VRF)

[VRF] Изменено: задание имени VRF через услугу 254 (только Radius). Описание в разделе Маршрутизатор Soft-Router

[BRAS][DHCP-Proxy] Session-Timeout и Lease-Time для Framed-Pool.
Если адрес выдан из Framed-Pool на малое время (малое lease-time) и указано большое session-timeout при авторизации, то все запросы Renew/Rebind от абонента нужно посылать на DHCP-сервер через PCRF для продления лицензии, иначе DHCP-сервер может посчитать, что адрес свободен. Реавторизация производится только при достижении session-timeout

Добавлено: поддержка услуги 16 — обработка запросов SYN и последующая переадресация без передачи пакетов в интернет. Описание в разделе Атрибуты авторизации абонента

[Router] Добавлено: общие neighbor cache для VRF.
В настройку VRF добавлена опция: router_vrf { [cold][optional]
Строка — имя ARP кеша для данной VRF по умолчанию, каждый VRF имеет свой собственный, изолированный от других ARP/Neighbor кеш. Если нужно, чтобы несколько разных VRF имели общий ARP/Neighbor кеш, то следует задать в описании этих VRF одно и то же значение опции neighbor_cache. neighbor_cache=… }. Описание в разделе Маршрутизатор Soft-Router

[PCRF] fastpcrf.conf опция radius_user_name_dhcp — добавлено новое значение opt61@opt60: radius_user_name_dhcp=opt61@opt60. Описание в разделе DHCP Radius proxy - Access-Request.
User-Name в Access-Request формируется из DHCP-опций 61 и 60, если эти опции есть в DHCP-запросе.
Новые опции fastpcrf.conf — в каких атрибутах передавать DHCP-опции в Access-Request
[hot] Задание атрибутов, в которых передаются опции DHCP. Формат задания: attr_dhcp_opt43=vendorId.attrId где vendorId — id вендора, число от 0 до 2^32-1.
Если vendorId != 0, то значение передается в VSA-атрибуте.
Если vendorId == 0, то значение передается в обычном Радиус-атрибуте (не-VSA)
attrId — id атрибута, число от 1 до 255
Предполагается, что атрибуты имеют тип octets (передаются как есть в бинарном виде)
Значение 0.0 — не передавать данный атрибут на Радиус-сервер
Значения по умолчанию указаны ниже: attr_dhcp_opt43=0.0, attr_dhcp_opt60=43823.34 # VasExperts-DHCP-ClassId, attr_dhcp_opt61=43823.33 # VasExperts-DHCP-ClientId

Добавлено: поддержка услуги 16 и соответствующего профиля — задание, удаление, просмотр через fdpi_ctrl профиль совпадает со структурой для услуги 5
Пример задания: fdpi_ctrl load profile –service 16 –profile.name portal_info_1 –profile.json '{ "ip_list" : "/var/lib/dpi/ip_list_1.bin", "redirect" : "http://info.test.ru" }' параметр max_profiles_serv16 — задает максимальное кол-во профилей. По умолчанию 32. Описание в разделе Атрибуты авторизации абонента

[DHCP-Proxy] Введены режимы обработки CoA Disconnect. Описание в разделе Radius CoA
Добавлена новая опция bras_dhcp_disconnect, которая является битовой маской следующих флагов:

0x0001 — disable acct stop, не посылать немедленно acct stop для disconnected DHCP-абонента

0x0002 — disable L3 auth, не выполнять L3-авторизации для disconnected DHCP-абонента

0x0004 — block traffic — блокировать весь трафик от disconnected абонента (то есть на пути subs → inet)

0x0008 — на DHCP Request → отвечать NAK

0x0010 — игнорировать DHCP Request (ждем DHCP Discovery)

[DHCP-Proxy] Добавлено: контроль смены IP-адреса абонента
Если абоненту выдается другой IP-адрес, то для прежнего IP-адреса нужно сделать деанонс

[VRF][CLI] Поддержка VRF добавлена во все CLI-команды роутера

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

Обзор версии 12.4 на Rutube:

DPI

Добавлено: поддержка для протоколов ограничений скорости отдельных сессий и определение классов трафика на уровнях канала и абонента Описание в разделе Полисинг по сессии и переопределение классов трафика

#для поддержки этой услуги потребуется дополнительная оперативная память (по сравнению со стандартными требованиями), она резервируется настройкой support_service_18=1 #в /etc/dpi/fastdpi.conf speedtest cs1 default keep cat dscp_prof_1.txt|lst2dscp /tmp/dscp_prof_1.dscp speedtest tbf rate 16mbit inbound.rate 16mbit bittorrent tbf rate 8Mbit signal tbf rate 1kbit inbound.rate 2kbit TCP Unknown tbf rate 8Mbit burst 1Mbit inbound.rate 8Mbit inbound.burst 1Mbit cat tbf_prof_1.txt|lst2tbf /tmp/tbf_prof_1.tbf #обратное конвертирование tbf2lst /tmp/tbf_prof_1.tbf fdpi_ctrl load profile --service 18 --profile.name test_dscp --profile.json '{ "dscp" : "/tmp/dscp_prof_1.dscp", "tbf" : "/tmp/tbf_prof_1.tbf" }' fdpi_ctrl load --service 18 --profile.name test_dscp --login DEMO #или/и fdpi_ctrl load --service 18 --profile.name test_dscp --vchannel 1

Добавлено управление уровнями обработки трафика на уровне VLAN. Команда hide позволяет сделать дроп трафика с предварительным анализом. Описание в разделе Обработка трафика по VLAN

fdpi_cli vlan group <id> drop fdpi_cli vlan group <id> pass fdpi_cli vlan group <id> hide

Исправлено: при связывании IP с логином проверяем, не связан ли уже данный IP с этим логином. Функция mtd_bind_ip_login связывания IP c логином безусловно выполняла unbind перед связыванием, не проверяя текущую связку. unbind очищает текущие услуги, в том числе и данные услуги 9 (netflow, accounting), что приводило к тихому сбросу acct-счетчиков при реавторизации абонента в случае, если синхронизация auth и acct в fastPCRF отключена. Данный коммит добавляет проверку: если IP уже связано c правильным логином, - bind/unbind/rebind делать не нужно, функция mtd_bind_ip_login просто возвращает результат "ok".

Добавлены протоколы "DTLS","RTCP","LIGHTWAY","GOOGLE_MEET","JITSY","WECHAT","DOT","META_CALLS"

Улучшено детектирование Skype в STUN

Добавлена сигнатура протокола radmin-port

Добавлена поддержка IPv6 channels (с reload). Описание в разделе Полисинг Виртуального канала (vChannel) — Настройка для CIDR
Пример задания:

fe80::0/8 1 cat ipchannels6.txt | as2bin6 /etc/dpi/ipchannels6.bin

Добавлена блокировка всего IPv6 при включенной 4 услуге и опции block_options=4

Исправлена ошибка в детекторе TELEGRAM_TLS, приводящая к избыточной детекции

Добавлена поддержка reload для IPv6 channels

Добавлен протокол LiveU. Изменено название протокола radmin-port на radmin. Список идентификаторов новых протоколов

DoT 49281 RTCP 49282 LIGHTWAY 49283 GOOGLE_MEET 49284 JITSY 49285 WECHAT 49286 DTLS 49287 META_CALLS 49288 LIVEU_LRT 49289

Добавлена настройка vchannels_default= для помещения нераспределенного по другим каналам трафика в отдельный канал (но не 0!). Описание в разделе Полисинг Виртуального канала (vChannel) — Настройка

Исправлено: построение структур для отвода трафика на TAP (Ошибка сортировки массива IPv4-адресов).

Добавлена поддержка 18 услуги для vchannels

Добавлена поддержка 49 услуги для каналов и абонентов: блокировка IPv6 трафика. Описание в разделе Активация услуги по блокировке IPv6 трафика

fdpi_ctrl load --service 49 --login DEMO fdpi_ctrl load --service 49 --vchannel 1

Переименован протокол JITSY → JITSI

Исправлено: для виртуальных каналов DSCP определяется только если установлен параметр support_service_18. Описание в разделе Полисинг по сессии и переопределение классов трафика — Конфигурация СКАТ

Учет номера ASN для детектирования GOOGLE MEET на базе DTLS

Добавлено: определение протокола WECHAT

Исправлено: определение whatsapp_voice для транспортного протокола TCP

Исправлено определение custom протоколов на основе IPv6 адресов/CIDR

Улучшено распознавание openvpn, holavpn, signal

Добавлена возможность дополнять определение signal

Добавлена возможность использования CIDR, адресов и портов для IPv4 и IPv6 в черных и белых списках. В случае задания CIDR или адреса блокируются все TCP порты (UDP с настройкой udp_block=3) Описание в разделе Подготовка словарей со списком блокируемых ресурсов

Добавлены утилиты проверки вхождения в черный список checklock и в custom протокол checkproto. В командной строке нужно указать адрес или адрес порт.

Исправлено: обработка stun для TCP

Изменено определение по realm: если задан другой протокол — смена протокола происходит сразу.

Добавлено: услуга 17 (без профиля) — зеркалирование трафика в заданный VLAN. Описание в разделе Зеркалирование в VLAN

#Параметры в fastdpi.conf: span_vlan=123 span_trace=1 #Для диагностики можно использовать: #trace_ip или span_trace или ajb_save_emit #если задать услугу 12 и 17, то в pcap увидим оригинальную запись и зеркалированную

BRAS

Исправлено: трансляция VLAN для ARP-пакетов inet→subs

Исправлена ошибка с номерами AS в IPFIX

Исправлена ошибка поддержки framed-pool

Добавлено: параметр netflow_tos_format, формат данных поля TOS в IPFIX: netflow_tos_format=0 (значение по умолчанию), 3 bit (только приоритет), 1 6-bit (полный DSCP). Описание в разделе Настройка экспорта и шаблон Full NetFlow в формате IPFIX

Добавлено: в ipfix fullflow добавлена передача дополнительного поля - оригинального TOS из IP заголовка, можно будет строить отчеты по внешней разметке

Исправлено: dhcp nak issue

Исправлено определение канала в IPFIX для IPv6

Добавление opt125 с названием пула первой опцией. Причина: KEA при определении класса клиента (opt125) разбирает только первого вендора Описание в разделе Конфигурирование fastPCRF — Поддержка IPv4-пулов

Закрытие DHCP-сессий после CoA Disconnect. Если после PoD (CoA Disconnect) не пришло никакого DHCP-запроса до истечения lease time, то такую сессию надо закрыть с отправкой деанонса и acct stop. При этом следует учитывать тот факт, что у абонента может измениться тип сессии — вместо DHCP стать StaticIP или PPPoE; в этом случае DHCP-сессия должна быть закрыта без деанонса и acct stop. Radius CoA — Disconnect-Request

CLI: в вывод команды dhcp show добавлен новый параметр ts_lease_expired - время окончания lease time.

Добавлена опция acct_disable_interim_update - запрет отправки Interim-Update. Не отправлять Interim-Update: acct_disable_interim_update=1. По умолчанию acct_disable_interim_update=0 (Interim-Update отправляется). Описание в разделе Настройки fastPCRF

Добавлена поддержка IPv6 для CoA. Command-Code=1 — поиск acct session по IP. Поиск acct-сессии может вестись по IPv6-префиксу атрибуты Framed-IPv6-Prefix или Delegated-IPv6-Prefix. В ответе команды указываются все известные IP-адреса найденной acct-сессии — Framed-IP-Address, Framed-IPv6-Prefix, Delegated-IPv6-Prefix. Radius CoA — Запрос accounting-сессии для данного IP-адреса

Исправлено: cli-команда dhcp show stat vrf. При определении "живости" сессии не проверялся subs_id абонента, — передача IP-адреса другому абоненту может поломать эту статистику

Исправлено: обновление lease expired для адреса из Framed-Pool

Добавлено: поддержка Huawei vendor-specific тег 1. Значение интерпретируется как ADSL-Forum-Circuit-Id. Если PPPoE-пакет содержит Circuit-Id и Huawei tag 1, то предпочтение отдается Circuit-Id, Huawei tag1 игнорируется. Описание в разделе Формат Access-Request для PPPoE-сетей — Поддержка Huawei vendor-specific tag 1

Исправлено: деанонс прежнего адреса, если клиенту выдается новый

NAT

Исправлено: образование корки при выделении публичного адреса (редкое событие: при удалении услуги NAT в момент выделения публичного)

СОРМ

Добавлено извлечение информации из Radius avp framed-ipv6-prefix. Добавлена отправка framed-ipv6-prefix и delegated-ipv6-prefix по IPFIX

Исправления для СОРМ: IMAP, revision

SDS

Автоматическая генерация UUID и сохранение в файле /var/lib/dpi/sdsuuid.dat