Версия 12.0 Machu Picchu [Документация VAS Experts]

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
dpi:update:previous:ver_12_0:start [2024/04/02 06:58] – создано elena.krasnobryzhdpi:update:previous:ver_12_0:start [Дата неизвестна] (текущий) – удалено - внешнее изменение (Дата неизвестна) 127.0.0.1
Строка 1: Строка 1:
-===== Версия 12.0 Machu Picchu ===== 
- 
-12.0 Machu Picchu ((Мачу Пикчу --- "город среди облаков", расположен в Перу, имеет статус Всемирного Наследия ЮНЕСКО)) 
- 
-Проверить текущую установленную версию можно командой: 
-<code bash> 
-yum info fastdpi 
-</code> 
-  
-Откат на 11.4.2: 
-<code bash> 
-yum downgrade fastdpi-11.4-2 fastpcrf-11.4-2 
-</code> 
- 
-После обновления или смены версии требуется рестарт сервиса: 
-<code bash> 
-service fastdpi restart 
-</code> 
- 
-:!: Если используются PCRF и/или Radius, их тоже надо рестартовать. Для рестарта PCRF предпочтителен следующий порядок: 
-<code bash> 
-service fastdpi stop 
-service fastpcrf restart 
-service fastdpi start 
-</code> 
- 
-:!: Не проводите обновления ядра Linux. В новых версиях ядра может быть нарушена бинарная совместимость с Kernel ABI и сетевой драйвер после обновления не загрузится. Если вы все-таки произвели обновление, то на время решения проблемы настройте в загрузчике GRUB загрузку прежней версии ядра: в файле ''/etc/grub.conf'' установите параметр ''default=1''. 
- 
-Если при обновлении появляется сообщение, что обновление не найдено или возникают проблемы с зависимостями, то перед обновлением выполните команду: 
-<code bash> 
-yum clean all 
-</code> 
- 
-==== Изменения в версии 12.0 ==== 
-<note>Статья в блоге: [[https://vasexperts.ru/blog/skat/skat-dpi-versiya-12-0-obzor-obnovlenij/|СКАТ DPI версия 12.0 — обзор обновлений]]\\ \\ Обзор версии 12 на YouTube: {{youtube>wZjhkvNc4Tc?}}</note> 
- 
-  - Изменено: переход на DPDK 22.11 LTS. 
-  - Добавлено: разбор заголовков с защитой ''Chaos Protection'' в QUIC IETF. 
-  - Добавлено: параметр (холодный) ''[[dpi:opt_cgnat:сgnat_settings:start|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<code bash> 
-    [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} 
-</code> 
-  - [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:start|bras_subs_id]]. 
-  - Добавлен настроечный параметр ''[[dpi:opt_cgnat:сgnat_settings:start|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:start|12 услуги]]. 
-  - [BRAS] Добавлена настройка ''bras_ppp_lcp_start_timeout''. 
- 
-==== Изменения в версии 12.1 ==== 
- 
-  - Добавлено: [[dpi:opt_cgnat:cgnat_diagnostics:start|диагностическая информация NAT]]. 
-  - Добавлено: поддержка режима [[dpi:dpi_components:platform:dpi_inst_spec:dpi_onstick:start|On-Stick]]. 
-  - Минорные исправления в работе CG-NAT. 
-  - Поддержка [[dpi:dpi_options:opt_li:start|12 услуги]]((Запись абонентского трафика в PCAP файл)) на VCHANNEL. 
-  - Поддержка загружаемых из облака протоколов с именами. 
-  - SDS: передача данных в формате ''pcapng''. 
- 
-==== Изменения в версии 12.2 ==== 
- 
-  - Исправления в выводе статистики утилизации CG-NAT. 
-  - Разбор новых версий GQUIC. 
-  - Новая услуга 16 --- белый список с переадресацией на ''captive portal'' без доступа абонентов в интернет (по причине аварии на аплинках, абонент в долгосрочной блокировке и т.п.).  
-  - Новая утилита ''dpdkinfo''. [[dpi:dpi_components:utilities:management_utilities:start|Описание]]. 
- 
-==== Изменения в версии 12.3 ==== 
-<note>Обзор версии 12.3 на YouTube: {{youtube>H2sf_76tXbc?}}</note> 
- 
-  - Добавлено: [[dpi:dpi_components:router:start|поддержка VRF в роутере]] 
-  - Сервис управления авторизацией PPPoE на основе поля Service-name. Описание в разделе [[dpi:bras_bng:bras_pppoe:start#настройка_service-name_для_vlan|Настройка авторизации PPPoE]]<code bash> 
-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</code> 
-  - Добавлено: поддержка отправки heartbeat для внешних bypass 
-  - Добавлено: извлечение и передача в IPFIX куки из Set-Cookie 
-  - Улучшено: блокировка коротких подвисаний TCP протокола в потоках IPFIX через дополнительную установку ''user timeout'' (в дополнении к стандартному механизму ''tcp keep alive'') 
-  - Добавлено: производительный ''rx_dispatcher=2'' с равномерной балансировкой по произвольному количеству потоков (но без поддержки ''nat1:1'' с требованием назначения конкретных адресов). Описание в разделе [[dpi:opt_cgnat:сgnat_settings:start#дополнительные_настройки|Настройка и управление]] 
-  - [BRAS][PPPoE] Исправлено: ''dual-stack'': добавление IP-адресов к уже существующей acct-сессии 
-  - [PCRF] Исправлено: переключение ''persist queue'' в режим "есть связь" 
-  - [CLI] Добавлена команда CLI ''fdpi_cli pcrf persist queue reconnect'', которая позволяет сделать реконнект к fastDPI без сброса очереди. Может быть применена к конкретному соединению или ко всем. Описание в разделе [[dpi:bras_bng:cli:pcrfctl:start#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:start|Radius CoA]] 
-  - Добавлено: сохранение в экспорте NAT трансляций ICMP протокола 
-  - Изменено: параметр ''[[dpi:opt_cgnat:сgnat_settings:start|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:start#дополнительные_настройки|Настройка и управление]] 
-  - [CoA] Добавлена обработка CoA Reauth по ''l2subs_id''. Описание в разделе [[dpi:bras_bng:radius_integration:radius_auth_server_integration:radius_auth_coa:start|Radius CoA]] 
-  - [CoA] Добавлена обработка CoA Disconnect по ''l2subs_id''. Описание в разделе [[dpi:bras_bng:radius_integration:radius_auth_server_integration:radius_auth_coa:start|Radius CoA]] 
-  - [fDPI] Максимальное число кластеров увеличено до 12 (было 10) 
-  - [PCRF][ACCT] Добавлено: передача атрибута ''VasExperts-L2-SubsId'' в ''Acct Start/Interim/Stop''. Описание в разделе [[dpi:bras_bng:radius_integration:radius_accounting:radius_attr:start|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:start|Полный список параметров]]\\ Новые параметры ''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:start#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:start|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:start#vasexperts-service-profile:start|Атрибуты авторизации абонента]] 
-  - [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:start#настройка_скат|Маршрутизатор 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:start#настройка_скат|Маршрутизатор 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:start#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:start#конфигурирование_скат|Маршрутизатор 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:start|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:start#vasexperts-service-profile|Атрибуты авторизации абонента]] 
-  - [DHCP-Proxy] Введены режимы обработки CoA Disconnect. Описание в разделе [[dpi:bras_bng:radius_integration:radius_auth_server_integration:radius_auth_coa:start#настройка_логики_обработки_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 ==== 
-<note>Обзор версии 12.4 на YouTube: {{youtube>PPcHMd5qFNg?}}</note> 
- 
-===DPI=== 
-  - Добавлено: поддержка для протоколов ограничений скорости отдельных сессий и определение классов трафика на уровнях канала и абонента Описание в разделе [[dpi:dpi_options:opt_shaping:shaping_session:start]]<code bash> 
-#для поддержки этой услуги потребуется дополнительная оперативная память (по сравнению со стандартными требованиями), она резервируется настройкой 
-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</code> 
-  - Добавлено управление уровнями обработки трафика на уровне VLAN. Команда ''hide'' позволяет сделать дроп трафика с предварительным анализом. Описание в разделе [[dpi:dpi_components:platform:vlan_traffic_handling:start]]<code bash> 
-fdpi_cli vlan group <id> drop 
-fdpi_cli vlan group <id> pass 
-fdpi_cli vlan group <id> hide 
-</code> 
-  - Исправлено: при связывании 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:start#для_cidr|Полисинг Виртуального канала (vChannel) — Настройка для CIDR]]\\ Пример задания:<code bash> 
-fe80::0/8 1 
-cat ipchannels6.txt | as2bin6 /etc/dpi/ipchannels6.bin</code> 
-  - Добавлена блокировка всего IPv6 при включенной 4 услуге и опции ''block_options=4'' 
-  - Исправлена ошибка в детекторе TELEGRAM_TLS, приводящая к избыточной детекции 
-  - Добавлена поддержка reload для IPv6 channels  
-  - Добавлен протокол LiveU. Изменено название протокола ''radmin-port'' на ''radmin''. Список идентификаторов новых протоколов<code bash> 
-DoT          49281 
-RTCP         49282 
-LIGHTWAY     49283 
-GOOGLE_MEET  49284 
-JITSY        49285 
-WECHAT       49286 
-DTLS         49287 
-META_CALLS   49288 
-LIVEU_LRT    49289 
-</code> 
-  - Добавлена настройка ''vchannels_default='' для помещения нераспределенного по другим каналам трафика в отдельный канал (но не 0!). Описание в разделе [[dpi:dpi_options:opt_shaping:shaping_multi:start#настройка|Полисинг Виртуального канала (vChannel) — Настройка]] 
-  - Исправлено: построение структур для отвода трафика на TAP (Ошибка сортировки массива IPv4-адресов).  
-  - Добавлена поддержка 18 услуги для vchannels 
-  - Добавлена поддержка 49 услуги для каналов и абонентов: блокировка IPv6 трафика. Описание в разделе [[dpi:dpi_options:opt_filtration:filtration_ctrl:start#активация_услуги_по_блокировке_ipv6_трафика|Активация услуги по блокировке IPv6 трафика]]<code bash>fdpi_ctrl load --service 49 --login DEMO 
-fdpi_ctrl load --service 49 --vchannel 1</code> 
-  - Переименован протокол JITSY -> JITSI  
-  - Исправлено: для виртуальных каналов DSCP определяется только если установлен параметр ''support_service_18''. Описание в разделе [[dpi:dpi_options:opt_shaping:shaping_session:start#конфигурация_скат|Полисинг по сессии и переопределение классов трафика — Конфигурация СКАТ]] 
-  - Учет номера 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:start#формат_файла_со_списком_блокируемых_ip_адресов|Подготовка словарей со списком блокируемых ресурсов]] 
-  - Добавлены утилиты проверки вхождения в черный список ''[[dpi:dpi_options:opt_filtration:making_dictionary:start|checklock]]'' и в custom протокол ''[[dpi:dpi_components:dpiui:user_guide:vas_cloud_services:custom_protocols:protocols:start|checkproto]]''. В командной строке нужно указать адрес или адрес порт. 
-  - Исправлено: обработка stun для TCP 
-  - Изменено определение по realm: если задан другой протокол — смена протокола происходит сразу. 
-  - Добавлено: услуга 17 (без профиля) — зеркалирование трафика в заданный VLAN. Описание в разделе [[dpi:dpi_options:opt_li:li_ctrl:start#зеркалирование_в_vlan|Зеркалирование в VLAN]]<code bash> 
-#Параметры в fastdpi.conf: 
-span_vlan=123 
-span_trace=1 
-#Для диагностики можно использовать: 
-#trace_ip или span_trace или ajb_save_emit 
-#если задать услугу 12 и 17, то в pcap увидим оригинальную запись и зеркалированную 
-</code> 
- 
-===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:start]] 
-  - Добавлено: в ''ipfix fullflow'' добавлена передача дополнительного поля - [[dpi:dpi_options:opt_statistics:statistics_ipfix:start|оригинального TOS из IP заголовка]], можно будет строить отчеты по внешней разметке 
-  - Исправлено: ''dhcp nak issue'' 
-  - Исправлено определение канала в IPFIX для IPv6 
-  - Добавление opt125 с названием пула первой опцией. Причина: KEA при определении класса клиента (opt125) разбирает только первого вендора Описание в разделе [[dpi:bras_bng:ip_pool:ipv4:start#кофигурирование_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:start#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:start]] 
-  - Добавлена поддержка 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:start#запрос_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:start#поддержка_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'' 
- 
- 
- 
- 
- 
-