Список изменений и обновление СКАТ [Документация 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 до версии 12.0 Machu Picchu

12.0 Machu Picchu 1)

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

yum info fastdpi

Откат на 11.4.2:

yum downgrade fastdpi-11.4-2 fastpcrf-11.4-2

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

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

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

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

Обзор версии 12 на YouTube:
  1. Изменено: переход на DPDK 22.11 LTS.
  2. Добавлено: разбор заголовков с защитой Chaos Protection в QUIC IETF.
  3. Добавлено: параметр (холодный) nat_transcode_cidr , который задает CIDR белых адресов оператора. Возможно только 2 CIDR. Значения используются при перекодировке белый –> серый для NAT 1:1. Для серого адреса может быть назначен любой белый адрес для NAT 1:1.
  4. Изменено: хэш функция распределения по рабочим потокам: (crc(ip_src) % nthread + crc(ip_dst) % nthread) % nthread.
  5. Изменено: алгоритм выделения белых адресов для CG-NAT: crc(серый) % nthread + crc(белый) % nthread.
  6. Изменено: Сообщение [NFLW] very long operation …. выводится всегда независимо от количества повтора сообщений.
  7. Изменено: изменено имя каталога записи файлов — добавлено stream.
  8. Добавлено: статистика вывода информации по отправлению 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}
  9. [PCRF][PPPoE] Исправлено: если Радиус отдает нам IPv6-адрес вместо префикса, мы не делали префикс из адреса, что приводило к пересозданию acct-сессий. Вновь создаваемые acct-сессии были без логина и прочих важных для провайдеров атрибутов.
  10. [BRAS][L3-AUTH] Изменено: Framed-Route теперь не применяется к PD-префиксу.
  11. [PCRF][ACCT] Исправлено: при отсоединении (unlink) записи от мультисессии не корректировались IP-адреса для мультисессии. Отсоединение (unlink) происходит при агрегации. В результате в дальнейшем к этой мультисессии могли быть привязаны другие записи, не имеющие уже к ней никакого отношения.
  12. [PCRF][DHCPv6-Pool] Исправлено: формирование поля Link-Address для Relay-Fwd при отправке запроса на конкретный DHCPv6-сервер.
  13. [BRAS][PPPoE-IP6] Запрос IPv6-адреса из Framed-IPv6-Pool осуществляется по приходу от клиента первого IP6CP Cfg-Req.
  14. [CLI][ACCT] Добавлено: вывод NAS-атрибутов fastDPI-сервера в командах PCRF acct show.
  15. [BRAS][DHCP] Исправлено: отправка NAK на DHCP-Request для другого сервера.
  16. Добавлена поддержка DDP профилей для карт Intel 700-series (драйвер i40e) для балансировки туннелей PPPoE/GTP/MPLS при использовании dpdk_engine=2. DDP загружается из файла /lib/firmware/intel/i40e/ddp/i40e.pkg при инициализации i40e портов. Время жизни загруженного DDP-профиля: до перезагрузки сервера.
  17. Изменено: алгоритм выбора сервера для записи SDS.
  18. [CLI] Добавлено: установка l2subs_id в команде subs prop set.
  19. [BRAS][DHCP-Relay] Добавлена поддержка l2subs_id.
  20. [BRAS][AUTH] Добавлена поддержка l2subs_id для L3-авторизации, так как в ответе L3 auth от Радиуса может указываться, что это L2-абонент.
  21. [BRAS][ARP-AUTH] Добавлена поддержка l2subs_id.
  22. [BRAS][PPPoE][CLI] Добавлено: атрибут l2subs_id для PPPoE-сессии.
  23. [BRAS][PPPoE] Удалена поддержка авторизации по MAC, без логина и пароля, удаление опции bras_ppp_mac_auth.
  24. [PPPoE][CLI] Добавлена поддержка параметра subs_id, идентифицирующего PPPoE-сессию.
  25. [BRAS] Добавлен класс l2lan_id — идентификатор L2-сети. l2lan_id предназначен для разделения абонентов по VLAN. l2lan_id получается из l2subs_id, то есть его формирование задается той же опцией bras_subs_id. По сути l2lan_id — это VLAN-префикс из l2subs_id.
  26. [BRAS][DHCP] Все внутренние БД DHCP-сессий теперь учитывают l2lan_id — он входит в их ключ по MAC и Client-Id. То есть два абонента с одним и тем же MAC-адресом, но в разных VLAN, считаются разными абонентами (если bras_subs_id задано учитывать VLAN). Вторичные ключи по Opt82 и Q-in-Q не учитывают l2lan_id. Подробнее bras_subs_id.
  27. Добавлен настроечный параметр rx_dispatcher метод хеширования flow по рабочим потокам
    • 0 — по умолчанию используется прежний метод (ip_src+ipdst)%N ) & ip_mask;
    • 1 — новый метод с поддержкой перекодировки для NAT1:1 (CRC(IP SRC)%N+CRC(IP_DST)%N)%N.
  28. [Radius monitor] Добавлена поддержка экспорта адреса и порта NAS, а также других атрибутов.
  29. [Radius monitor] Добавлено подключение 12 услуги.
  30. [BRAS] Добавлена настройка bras_ppp_lcp_start_timeout.

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

  1. Добавлено: поддержка режима On-Stick.
  2. Минорные исправления в работе CG-NAT.
  3. Поддержка 12 услуги2) на VCHANNEL.
  4. Поддержка загружаемых из облака протоколов с именами.
  5. SDS: передача данных в формате pcapng.

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

  1. Исправления в выводе статистики утилизации CG-NAT.
  2. Разбор новых версий GQUIC.
  3. Новая услуга 16 — белый список с переадресацией на captive portal без доступа абонентов в интернет (по причине аварии на аплинках, абонент в долгосрочной блокировке и т.п.).
  4. Новая утилита dpdkinfo. Описание.

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

Обзор версии 12.3 на YouTube:
  1. Сервис управления авторизацией 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
  2. Добавлено: поддержка отправки heartbeat для внешних bypass
  3. Добавлено: извлечение и передача в IPFIX куки из Set-Cookie
  4. Улучшено: блокировка коротких подвисаний TCP протокола в потоках IPFIX через дополнительную установку user timeout (в дополнении к стандартному механизму tcp keep alive)
  5. Добавлено: производительный rx_dispatcher=2 с равномерной балансировкой по произвольному количеству потоков (но без поддержки nat1:1 с требованием назначения конкретных адресов). Описание в разделе Настройка и управление
  6. [BRAS][PPPoE] Исправлено: dual-stack: добавление IP-адресов к уже существующей acct-сессии
  7. [PCRF] Исправлено: переключение persist queue в режим «есть связь»
  8. [CLI] Добавлена команда CLI fdpi_cli pcrf persist queue reconnect, которая позволяет сделать реконнект к fastDPI без сброса очереди. Может быть применена к конкретному соединению или ко всем. Описание в разделе Управление fastPCRF
  9. [PCRF][PPPoE][Framed-Pool] Исправлено: создание acct-сессии с тем session_id, который был анонсирован при авторизации
  10. Добавлена поддержка формата pcapng для записи в СХД
  11. [CoA] Добавлена обработка CoA Update по l2subs_id. Описание в разделе Radius CoA
  12. Добавлено: сохранение в экспорте NAT трансляций ICMP протокола
  13. Изменено: параметр 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. Описание в разделе Настройка и управление
  14. [CoA] Добавлена обработка CoA Reauth по l2subs_id. Описание в разделе Radius CoA
  15. [CoA] Добавлена обработка CoA Disconnect по l2subs_id. Описание в разделе Radius CoA
  16. [fDPI] Максимальное число кластеров увеличено до 12 (было 10)
  17. [PCRF][ACCT] Добавлено: передача атрибута VasExperts-L2-SubsId в Acct Start/Interim/Stop. Описание в разделе Radius-атрибуты
  18. [DPDK] Добавлено: disable Ethernet Flow Control на старте порта
  19. [PCRF][DHCPv6-POOL] Исправлено формирование Client-DUID при составлении DHCP6-RENEW для Framed-IPv6-Pool
    Client-DUID должен быть неизменным на всем протяжении DHCPv6-сессии, иначе при Renew DHCPv6-сервер может выдать другой IPv6-префикс, что приведет к закрытию PPPoE-сессии. Для достижения неизменяемости теперь Client-DUID формируется из l2subs_id абонента.
  20. [PCRF][DHCP-POOL] Исправлена идентификация 'запрос-ответ' при работе с DHCP-пулами.
    В качестве идентификатора используется:
    Для DHCPv4 — MAC-адрес абонента (chaddr) + xid запроса
    Для DHCPv6 — опция Client-Id и xid запроса. Сервер обязан передать опцию Client-Id в ответе, в отличие от других опций запроса.
  21. [BRAS] Добавлена CLI-команда dhcp show stat vrf
    Вывод числа DHCP-абонентов в разрезе VRF
  22. [PCRF] Добавлена CLI-команда pcrf radius enable/disable
  23. [PCRF] Добавлена CLI-команда pcrf radius ping
  24. [PCRF] Добавлена CLI-команда pcrf radius status
  25. Изменено: если у сессии нет белого адреса — включается CG-NAT.
  26. Добавлено: если услуга 11 удалена, NAT выключается и освобождаются ресурсы. Происходит только если есть (прочитаны) данные по flow
  27. [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.
  28. [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 удален за ненадобностью.
  29. Изменено: Для flow ставится признак p_flow_cmn.bts_check_ip |= ntconnt::bts_nat_must_whip
    Признак говорит о том, что идет обращение с серого адреса и для этого flow требуется белый адрес. Если белый адрес не назначен — попытки выделения белого адреса продолжаются (Для TCP — только если SYN). Это происходит из-за того что могут идти запросы с серого адреса, а только потом появляется услуга 11, но flow уже существует и будет вечно мертвый.
  30. Изменено: Если для flow задан белый адрес, проверяется наличие 11 услуги. Если услуги нет — белый адрес освобождается.
  31. [Router] Добавлено: сообщение об ошибке в fastdpi_alert.log «VRF не имеет TAP»
    Если VRF не имеет ни одного девайса — невозможно анонсировать адрес в такой VRF. Данная ошибка выводится в fastdpi_alert.log не чаще чем раз в час для каждого VRF
  32. Добавлено: команды fdpi_cli: nat dump transcode, nat dump translater [имя профиля], nat dump translater data [имя профиля]
  33. Новое имя профиля полисинга — BV##NNNN[#MMMM][#++++—-], где NNNN — скорость входящего трафика в кбит/с, MMMM — скорость исходящего трафика в кбит/с, + — включенный класс, — отключенный класс. Описание в разделе Атрибуты авторизации абонента
  34. [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
  35. Изменено: улучшено распознавание FACEBOOK VIDEO
  36. Исправлено: при разборе quic_ietf для первого пакета CRYPTO, если задан offset==0 — проверяется факт возможной фрагментации
  37. Добавлено: изменения парсинга — учет изменений в версиях Google QUIC: до версии 34 было дополнительное поле «Private Flags». Не разбирали такие пакеты, начиная с версии 39 — изменился порядок байт для записи «Data Length»
  38. Добавлен полисинг и услуга 16 по значениям из имени профиля. Описание в разделе Атрибуты авторизации абонента
  39. [BRAS] Добавлено: новая опция bras_ip_filtering
    [hot] Фильтрация трафика (битовая маска) по умолчанию отключена (=0).
    Допустимые флаги: 0x0001 — контроль подмены IP абонента (restricting forged traffic). Дропаем пакет на пути subsinet, если IP-адрес абонента (srcIP) неизвестный для L2 BRAS и bras_term_by_as = 0 и AS абонента не local. bras_ip_filtering=0
  40. [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
  41. Исправлено: сообщения об ошибке для клиента не должны содержать LF в json
  42. [BRAS][ARP] Изменено: обработка ARP к шлюзу. Отвечаем на ARP-запрос к шлюзу только если VRF отправителя и шлюза совпадают (sender и GW находятся в одной VRF)
  43. [VRF] Изменено: задание имени VRF через услугу 254 (только Radius). Описание в разделе Маршрутизатор Soft-Router
  44. [BRAS][DHCP-Proxy] Session-Timeout и Lease-Time для Framed-Pool.
    Если адрес выдан из Framed-Pool на малое время (малое lease-time) и указано большое session-timeout при авторизации, то все запросы Renew/Rebind от абонента нужно посылать на DHCP-сервер через PCRF для продления лицензии, иначе DHCP-сервер может посчитать, что адрес свободен. Реавторизация производится только при достижении session-timeout
  45. Добавлено: поддержка услуги 16 — обработка запросов SYN и последующая переадресация без передачи пакетов в интернет. Описание в разделе Атрибуты авторизации абонента
  46. [Router] Добавлено: общие neighbor cache для VRF.
    В настройку VRF добавлена опция: router_vrf { [cold][optional]
    Строка — имя ARP кеша для данной VRF по умолчанию, каждый VRF имеет свой собственный, изолированный от других ARP/Neighbor кеш. Если нужно, чтобы несколько разных VRF имели общий ARP/Neighbor кеш, то следует задать в описании этих VRF одно и то же значение опции neighbor_cache. neighbor_cache=… }. Описание в разделе Маршрутизатор Soft-Router
  47. [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
  48. Добавлено: поддержка услуги 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. Описание в разделе Атрибуты авторизации абонента
  49. [DHCP-Proxy] Введены режимы обработки CoA Disconnect. Описание в разделе Radius CoA
    Добавлена новая опция bras_dhcp_disconnect, которая является битовой маской следующих флагов:
    • 0x0001disable acct stop, не посылать немедленно acct stop для disconnected DHCP-абонента
    • 0x0002disable L3 auth, не выполнять L3-авторизации для disconnected DHCP-абонента
    • 0x0004block traffic — блокировать весь трафик от disconnected абонента (то есть на пути subsinet)
    • 0x0008 — на DHCP Request → отвечать NAK
    • 0x0010 — игнорировать DHCP Request (ждем DHCP Discovery)
  50. [DHCP-Proxy] Добавлено: контроль смены IP-адреса абонента
    Если абоненту выдается другой IP-адрес, то для прежнего IP-адреса нужно сделать деанонс
  51. [VRF][CLI] Поддержка VRF добавлена во все CLI-команды роутера

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

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

DPI

  1. Добавлено: поддержка для протоколов ограничений скорости отдельных сессий и определение классов трафика на уровнях канала и абонента Описание в разделе Полисинг по сессии и переопределение классов трафика
    #для поддержки этой услуги потребуется дополнительная оперативная память (по сравнению со стандартными требованиями), она резервируется настройкой
    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
  2. Добавлено управление уровнями обработки трафика на уровне VLAN. Команда hide позволяет сделать дроп трафика с предварительным анализом. Описание в разделе Обработка трафика по VLAN
    fdpi_cli vlan group <id> drop
    fdpi_cli vlan group <id> pass
    fdpi_cli vlan group <id> hide
  3. Исправлено: при связывании 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».
  4. Добавлены протоколы «DTLS»,«RTCP»,«LIGHTWAY»,«GOOGLE_MEET»,«JITSY»,«WECHAT»,«DOT»,«META_CALLS»
  5. Улучшено детектирование Skype в STUN
  6. Добавлена сигнатура протокола radmin-port
  7. Добавлена поддержка IPv6 channels (с reload). Описание в разделе Полисинг Виртуального канала (vChannel) — Настройка для CIDR
    Пример задания:
    fe80::0/8 1
    cat ipchannels6.txt | as2bin6 /etc/dpi/ipchannels6.bin
  8. Добавлена блокировка всего IPv6 при включенной 4 услуге и опции block_options=4
  9. Исправлена ошибка в детекторе TELEGRAM_TLS, приводящая к избыточной детекции
  10. Добавлена поддержка reload для IPv6 channels
  11. Добавлен протокол 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
  12. Добавлена настройка vchannels_default= для помещения нераспределенного по другим каналам трафика в отдельный канал (но не 0!). Описание в разделе Полисинг Виртуального канала (vChannel) — Настройка
  13. Исправлено: построение структур для отвода трафика на TAP (Ошибка сортировки массива IPv4-адресов).
  14. Добавлена поддержка 18 услуги для vchannels
  15. Добавлена поддержка 49 услуги для каналов и абонентов: блокировка IPv6 трафика. Описание в разделе Активация услуги по блокировке IPv6 трафика
    fdpi_ctrl load --service 49 --login DEMO
    fdpi_ctrl load --service 49 --vchannel 1
  16. Переименован протокол JITSY → JITSI
  17. Исправлено: для виртуальных каналов DSCP определяется только если установлен параметр support_service_18. Описание в разделе Полисинг по сессии и переопределение классов трафика — Конфигурация СКАТ
  18. Учет номера ASN для детектирования GOOGLE MEET на базе DTLS
  19. Добавлено: определение протокола WECHAT
  20. Исправлено: определение whatsapp_voice для транспортного протокола TCP
  21. Исправлено определение custom протоколов на основе IPv6 адресов/CIDR
  22. Улучшено распознавание openvpn, holavpn, signal
  23. Добавлена возможность дополнять определение signal
  24. Добавлена возможность использования CIDR, адресов и портов для IPv4 и IPv6 в черных и белых списках. В случае задания CIDR или адреса блокируются все TCP порты (UDP с настройкой udp_block=3) Описание в разделе Подготовка словарей со списком блокируемых ресурсов
  25. Добавлены утилиты проверки вхождения в черный список checklock и в custom протокол checkproto. В командной строке нужно указать адрес или адрес порт.
  26. Исправлено: обработка stun для TCP
  27. Изменено определение по realm: если задан другой протокол — смена протокола происходит сразу.
  28. Добавлено: услуга 17 (без профиля) — зеркалирование трафика в заданный VLAN. Описание в разделе Зеркалирование в VLAN
    #Параметры в fastdpi.conf:
    span_vlan=123
    span_trace=1
    #Для диагностики можно использовать:
    #trace_ip или span_trace или ajb_save_emit
    #если задать услугу 12 и 17, то в pcap увидим оригинальную запись и зеркалированную

BRAS

  1. Исправлено: трансляция VLAN для ARP-пакетов inet→subs
  2. Исправлена ошибка с номерами AS в IPFIX
  3. Исправлена ошибка поддержки framed-pool
  4. Добавлено: параметр netflow_tos_format, формат данных поля TOS в IPFIX: netflow_tos_format=0 (значение по умолчанию), 3 bit (только приоритет), 1 6-bit (полный DSCP). Описание в разделе Настройка экспорта в формате IPFIX
  5. Добавлено: в ipfix fullflow добавлена передача дополнительного поля - оригинального TOS из IP заголовка, можно будет строить отчеты по внешней разметке
  6. Исправлено: dhcp nak issue
  7. Исправлено определение канала в IPFIX для IPv6
  8. Добавление opt125 с названием пула первой опцией. Причина: KEA при определении класса клиента (opt125) разбирает только первого вендора Описание в разделе Кофигурирование fastPCRF — Поддержка IPv4-пулов
  9. Закрытие DHCP-сессий после CoA Disconnect. Если после PoD (CoA Disconnect) не пришло никакого DHCP-запроса до истечения lease time, то такую сессию надо закрыть с отправкой деанонса и acct stop. При этом следует учитывать тот факт, что у абонента может измениться тип сессии — вместо DHCP стать StaticIP или PPPoE; в этом случае DHCP-сессия должна быть закрыта без деанонса и acct stop. Radius CoA — Disconnect-Request
  10. CLI: в вывод команды dhcp show добавлен новый параметр ts_lease_expired - время окончания lease time.
  11. Добавлена опция acct_disable_interim_update - запрет отправки Interim-Update. Не отправлять Interim-Update: acct_disable_interim_update=1. По умолчанию acct_disable_interim_update=0 (Interim-Update отправляется). Описание в разделе Настройки fastPCRF
  12. Добавлена поддержка 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-адреса
  13. Исправлено: cli-команда dhcp show stat vrf. При определении «живости» сессии не проверялся subs_id абонента, — передача IP-адреса другому абоненту может поломать эту статистику
  14. Исправлено: обновление lease expired для адреса из Framed-Pool
  15. Добавлено: поддержка 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
  16. Исправлено: деанонс прежнего адреса, если клиенту выдается новый

NAT

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

СОРМ

  1. Добавлено извлечение информации из Radius avp framed-ipv6-prefix. Добавлена отправка framed-ipv6-prefix и delegated-ipv6-prefix по IPFIX
  2. Исправления для СОРМ: IMAP, revision

SDS

  1. Автоматическая генерация UUID и сохранение в файле /var/lib/dpi/sdsuuid.dat
1)
Мачу Пикчу — «город среди облаков», расположен в Перу, имеет статус Всемирного Наследия ЮНЕСКО
2)
Запись абонентского трафика в PCAP файл