Следующая версия | Предыдущая версия |
dpi:update:previous:ver_12_0 [2024/04/02 06:57] – создано elena.krasnobryzh | dpi:update:previous:ver_12_0 [2024/12/04 15:34] (текущий) – ↷ Операцией перемещения обновлены ссылки elena.krasnobryzh |
---|
======ver_11_0====== | {{indexmenu_n>13}} |
| ===== Версия 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|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|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 ==== |
| <note>Обзор версии 12.3 на YouTube: {{youtube>H2sf_76tXbc?}}</note> |
| |
| - Добавлено: [[dpi:dpi_components:router|поддержка VRF в роутере]] |
| - Сервис управления авторизацией PPPoE на основе поля Service-name. Описание в разделе [[dpi:bras_bng:bras_pppoe#настройка_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#дополнительные_настройки|Настройка и управление]] |
| - [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_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_coa|Radius CoA]] |
| - [CoA] Добавлена обработка CoA Disconnect по ''l2subs_id''. Описание в разделе [[dpi:bras_bng:radius_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_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 ==== |
| <note>Обзор версии 12.4 на YouTube: {{youtube>PPcHMd5qFNg?}}</note> |
| |
| ===DPI=== |
| - Добавлено: поддержка для протоколов ограничений скорости отдельных сессий и определение классов трафика на уровнях канала и абонента Описание в разделе [[dpi:dpi_options:opt_shaping:shaping_session]]<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]]<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#для_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#настройка|Полисинг Виртуального канала (vChannel) — Настройка]] |
| - Исправлено: построение структур для отвода трафика на TAP (Ошибка сортировки массива IPv4-адресов). |
| - Добавлена поддержка 18 услуги для vchannels |
| - Добавлена поддержка 49 услуги для каналов и абонентов: блокировка IPv6 трафика. Описание в разделе [[dpi:dpi_options:opt_filtration:filtration_ctrl#активация_услуги_по_блокировке_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#конфигурация_скат|Полисинг по сессии и переопределение классов трафика — Конфигурация СКАТ]] |
| - Учет номера 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]]<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]] |
| - Добавлено: в ''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_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_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'' |
| |
| |
| |
| |
| |
| |