Следующая версия | Предыдущая версия |
dpi:update:previous:ver_12_0:start [2024/04/02 06:58] – создано elena.krasnobryzh | dpi:update:previous:ver_12_0:start [Дата неизвестна] (текущий) – удалено - внешнее изменение (Дата неизвестна) 127.0.0.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'' | |
| |
| |
| |
| |
| |
| |
| |