{{indexmenu_n>13}}
===== Версия 12.0 Machu Picchu =====
12.0 Machu Picchu ((Мачу Пикчу --- "город среди облаков", расположен в Перу, имеет статус Всемирного Наследия ЮНЕСКО))
Проверить текущую установленную версию можно командой:
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 ====
Статья в блоге: [[https://vasexperts.ru/blog/skat/skat-dpi-versiya-12-0-obzor-obnovlenij/|СКАТ DPI версия 12.0 — обзор обновлений]]\\ \\ Обзор версии 12 на YouTube: {{youtube>wZjhkvNc4Tc?}}
- Изменено: переход на DPDK 22.11 LTS.
- Добавлено: разбор заголовков с защитой ''Chaos Protection'' в QUIC IETF.
- Добавлено: параметр (холодный) ''[[dpi:opt_cgnat:сgnat_settings|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''. Подробнее [[dpi:bras_bng:bras_l2_subs_id|bras_subs_id]].
- Добавлен настроечный параметр ''[[dpi:opt_cgnat:сgnat_settings|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] Добавлено подключение [[dpi:dpi_options:opt_li|12 услуги]].
- [BRAS] Добавлена настройка ''bras_ppp_lcp_start_timeout''.
==== Изменения в версии 12.1 ====
- Добавлено: [[dpi:opt_cgnat:cgnat_diagnostics|диагностическая информация NAT]].
- Добавлено: поддержка режима [[dpi:dpi_components:platform:dpi_inst_spec:dpi_onstick|On-Stick]].
- Минорные исправления в работе CG-NAT.
- Поддержка [[dpi:dpi_options:opt_li|12 услуги]]((Запись абонентского трафика в PCAP файл)) на VCHANNEL.
- Поддержка загружаемых из облака протоколов с именами.
- SDS: передача данных в формате ''pcapng''.
==== Изменения в версии 12.2 ====
- Исправления в выводе статистики утилизации CG-NAT.
- Разбор новых версий GQUIC.
- Новая услуга 16 --- белый список с переадресацией на ''captive portal'' без доступа абонентов в интернет (по причине аварии на аплинках, абонент в долгосрочной блокировке и т.п.).
- Новая утилита ''dpdkinfo''. [[dpi:dpi_components:utilities:management_utilities|Описание]].
==== Изменения в версии 12.3 ====
Обзор версии 12.3 на YouTube: {{youtube>H2sf_76tXbc?}}
- Добавлено: [[dpi:dpi_components:router|поддержка VRF в роутере]]
- Сервис управления авторизацией PPPoE на основе поля Service-name. Описание в разделе [[dpi:bras_bng:bras_pppoe#настройка_service-name_для_vlan|Настройка авторизации PPPoE]]
fdpi_cli help vlan group
vlan group : manage vlan group authorization policy
vlan group ... - manage
vlan group 2 ... - manage = <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'' с требованием назначения конкретных адресов). Описание в разделе [[dpi:opt_cgnat:сgnat_settings#дополнительные_настройки|Настройка и управление]]
- [BRAS][PPPoE] Исправлено: ''dual-stack'': добавление IP-адресов к уже существующей acct-сессии
- [PCRF] Исправлено: переключение ''persist queue'' в режим "есть связь"
- [CLI] Добавлена команда CLI ''fdpi_cli pcrf persist queue reconnect'', которая позволяет сделать реконнект к fastDPI без сброса очереди. Может быть применена к конкретному соединению или ко всем. Описание в разделе [[dpi:bras_bng:cli:pcrfctl#pcrf_persist_queue_reconnect|Управление fastPCRF]]
- [PCRF][PPPoE][Framed-Pool] Исправлено: создание acct-сессии с тем ''session_id'', который был анонсирован при авторизации
- Добавлена поддержка формата ''pcapng'' для записи в СХД
- [CoA] Добавлена обработка CoA Update по ''l2subs_id''. Описание в разделе [[dpi:bras_bng:radius_integration:radius_auth_server_integration:radius_auth_coa|Radius CoA]]
- Добавлено: сохранение в экспорте NAT трансляций ICMP протокола
- Изменено: параметр ''[[dpi:opt_cgnat:сgnat_settings|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''. Описание в разделе [[dpi:opt_cgnat:сgnat_settings#дополнительные_настройки|Настройка и управление]]
- [CoA] Добавлена обработка CoA Reauth по ''l2subs_id''. Описание в разделе [[dpi:bras_bng:radius_integration:radius_auth_server_integration:radius_auth_coa|Radius CoA]]
- [CoA] Добавлена обработка CoA Disconnect по ''l2subs_id''. Описание в разделе [[dpi:bras_bng:radius_integration:radius_auth_server_integration:radius_auth_coa|Radius CoA]]
- [fDPI] Максимальное число кластеров увеличено до 12 (было 10)
- [PCRF][ACCT] Добавлено: передача атрибута ''VasExperts-L2-SubsId'' в ''Acct Start/Interim/Stop''. Описание в разделе [[dpi:bras_bng:radius_integration:radius_accounting:radius_attr|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-серверов. Описание в разделе [[dpi:bras_bng:radius_integration:radius_auth_fastpcrf_setup:radius_auth_fastpcrf_setup_full|Полный список параметров]]\\ Новые параметры ''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'' — скорость исходящего трафика в кбит/с, ''+'' — включенный класс, ''—'' — отключенный класс. Описание в разделе [[dpi:bras_bng:radius_integration:radius_auth_server_integration:radius_auth_response#vasexperts-policing-profile|Атрибуты авторизации абонента]]
- [PCRF] Добавлено: новое значение ''chaddr@opt60'' для опции ''radius_user_name_dhcp''\\ Пример: ''radius_user_name_dhcp=chaddr@opt60'', User-Name в Access-Request формируется из MAC-адреса заголовка DHCP пакета (поле ''chaddr'') и опции 60, если эта опция есть в DHCP-запросе. Описание в разделе [[dpi:bras_bng:bras_l2_vlan:bras_l2_vlan_dhcp:bras_l2_vlan_dhcp_proxy:bras_l2_vlan_dhcp_proxy_pcrf|DHCP Radius proxy - Access-Request]]
- Изменено: улучшено распознавание FACEBOOK VIDEO
- Исправлено: при разборе ''quic_ietf'' для первого пакета CRYPTO, если задан ''offset==0'' — проверяется факт возможной фрагментации
- Добавлено: изменения парсинга — учет изменений в версиях Google QUIC: до версии 34 было дополнительное поле "Private Flags". Не разбирали такие пакеты, начиная с версии 39 — изменился порядок байт для записи "Data Length"
- Добавлен полисинг и услуга 16 по значениям из имени профиля. Описание в разделе [[dpi:bras_bng:radius_integration:radius_auth_server_integration:radius_auth_response#vasexperts-service-profile|Атрибуты авторизации абонента]]
- [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. Описание в разделе [[dpi:dpi_components:router#настройка_скат|Маршрутизатор 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). Описание в разделе [[dpi:dpi_components:router#настройка_скат|Маршрутизатор 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 и последующая переадресация без передачи пакетов в интернет. Описание в разделе [[dpi:bras_bng:radius_integration:radius_auth_server_integration:radius_auth_response#vasexperts-service-profile|Атрибуты авторизации абонента]]
- [Router] Добавлено: общие ''neighbor cache'' для VRF.\\ В настройку VRF добавлена опция: ''router_vrf { [cold][optional]''\\ Строка — имя ARP кеша для данной VRF по умолчанию, каждый VRF имеет свой собственный, изолированный от других ARP/Neighbor кеш. Если нужно, чтобы несколько разных VRF имели общий ARP/Neighbor кеш, то следует задать в описании этих VRF одно и то же значение опции ''neighbor_cache. neighbor_cache=... }''. Описание в разделе [[dpi:dpi_components:router#конфигурирование_скат|Маршрутизатор Soft-Router]]
- [PCRF] ''fastpcrf.conf'' опция ''radius_user_name_dhcp'' — добавлено новое значение ''opt61@opt60: radius_user_name_dhcp=opt61@opt60''. Описание в разделе [[dpi:bras_bng:bras_l2_vlan:bras_l2_vlan_dhcp:bras_l2_vlan_dhcp_proxy:bras_l2_vlan_dhcp_proxy_pcrf|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. Описание в разделе [[dpi:bras_bng:radius_integration:radius_auth_server_integration:radius_auth_response#vasexperts-service-profile|Атрибуты авторизации абонента]]
- [DHCP-Proxy] Введены режимы обработки CoA Disconnect. Описание в разделе [[dpi:bras_bng:radius_integration:radius_auth_server_integration:radius_auth_coa#настройка_логики_обработки_dhcp_абонента_при_получении_pod|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 на YouTube: {{youtube>PPcHMd5qFNg?}}
===DPI===
- Добавлено: поддержка для протоколов ограничений скорости отдельных сессий и определение классов трафика на уровнях канала и абонента Описание в разделе [[dpi:dpi_options:opt_shaping:shaping_session]]
#для поддержки этой услуги потребуется дополнительная оперативная память (по сравнению со стандартными требованиями), она резервируется настройкой
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'' позволяет сделать дроп трафика с предварительным анализом. Описание в разделе [[dpi:dpi_components:platform:vlan_traffic_handling]]
fdpi_cli vlan group drop
fdpi_cli vlan group pass
fdpi_cli vlan group 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). Описание в разделе [[dpi:dpi_options:opt_shaping:shaping_multi#для_cidr|Полисинг Виртуального канала (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!). Описание в разделе [[dpi:dpi_options:opt_shaping:shaping_multi#настройка|Полисинг Виртуального канала (vChannel) — Настройка]]
- Исправлено: построение структур для отвода трафика на TAP (Ошибка сортировки массива IPv4-адресов).
- Добавлена поддержка 18 услуги для vchannels
- Добавлена поддержка 49 услуги для каналов и абонентов: блокировка IPv6 трафика. Описание в разделе [[dpi:dpi_options:opt_filtration:filtration_ctrl#активация_услуги_по_блокировке_ipv6_трафика|Активация услуги по блокировке IPv6 трафика]]fdpi_ctrl load --service 49 --login DEMO
fdpi_ctrl load --service 49 --vchannel 1
- Переименован протокол JITSY -> JITSI
- Исправлено: для виртуальных каналов DSCP определяется только если установлен параметр ''support_service_18''. Описание в разделе [[dpi:dpi_options:opt_shaping:shaping_session#конфигурация_скат|Полисинг по сессии и переопределение классов трафика — Конфигурация СКАТ]]
- Учет номера ASN для детектирования GOOGLE MEET на базе DTLS
- Добавлено: определение протокола WECHAT
- Исправлено: определение whatsapp_voice для транспортного протокола TCP
- Исправлено определение custom протоколов на основе IPv6 адресов/CIDR
- Улучшено распознавание openvpn, holavpn, signal
- Добавлена возможность дополнять определение signal
- Добавлена возможность использования CIDR, адресов и портов для IPv4 и IPv6 в черных и белых списках. В случае задания CIDR или адреса блокируются все TCP порты (UDP с настройкой ''udp_block=3'') Описание в разделе [[dpi:dpi_options:opt_filtration:making_dictionary#формат_файла_со_списком_блокируемых_ip_адресов|Подготовка словарей со списком блокируемых ресурсов]]
- Добавлены утилиты проверки вхождения в черный список ''[[dpi:dpi_components:utilities:management_utilities#checklock|checklock]]'' и в custom протокол ''[[dpi:dpi_components:utilities:management_utilities#checkproto|checkproto]]''. В командной строке нужно указать адрес или адрес порт.
- Исправлено: обработка stun для TCP
- Изменено определение по realm: если задан другой протокол — смена протокола происходит сразу.
- Добавлено: услуга 17 (без профиля) — зеркалирование трафика в заданный VLAN. Описание в разделе [[dpi:dpi_options:opt_li:li_ctrl#зеркалирование_в_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). Описание в разделе [[dpi:dpi_options:opt_statistics:statistics_ipfix]]
- Добавлено: в ''ipfix fullflow'' добавлена передача дополнительного поля - [[dpi:dpi_options:opt_statistics:statistics_ipfix|оригинального TOS из IP заголовка]], можно будет строить отчеты по внешней разметке
- Исправлено: ''dhcp nak issue''
- Исправлено определение канала в IPFIX для IPv6
- Добавление opt125 с названием пула первой опцией. Причина: KEA при определении класса клиента (opt125) разбирает только первого вендора Описание в разделе [[dpi:bras_bng:ip_pool:ipv4#конфигурирование_fastpcrf|Конфигурирование fastPCRF — Поддержка IPv4-пулов]]
- Закрытие DHCP-сессий после CoA Disconnect. Если после PoD (CoA Disconnect) не пришло никакого DHCP-запроса до истечения lease time, то такую сессию надо закрыть с отправкой деанонса и acct stop. При этом следует учитывать тот факт, что у абонента может измениться тип сессии — вместо DHCP стать StaticIP или PPPoE; в этом случае DHCP-сессия должна быть закрыта без деанонса и acct stop. [[dpi:bras_bng:radius_integration:radius_auth_server_integration:radius_auth_coa#disconnect-request|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 отправляется). Описание в разделе [[dpi:bras_bng:radius_integration:radius_accounting:setup]]
- Добавлена поддержка 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''. [[dpi:bras_bng:radius_integration:radius_auth_server_integration:radius_auth_coa#запрос_accounting-сессии_для_данного_ip-адреса|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 игнорируется. Описание в разделе [[dpi:bras_bng:bras_pppoe:bras_pppoe_radius:bras_pppoe_radius_req#поддержка_huawei_vendor-specific_tag_1|Формат 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''