12.0 Machu Picchu 1)
Проверить текущую установленную версию можно командой:
yum info fastdpi
Откат на 11.4.2:
yum downgrade fastdpi-11.4-2 fastpcrf-11.4-2
После обновления или смены версии требуется рестарт сервиса:
service fastdpi restart
Если используются PCRF и/или Radius, их тоже надо рестартовать. Для рестарта PCRF предпочтителен следующий порядок:
service fastdpi stop service fastpcrf restart service fastdpi start
Не проводите обновления ядра Linux. В новых версиях ядра может быть нарушена бинарная совместимость с Kernel ABI и сетевой драйвер после обновления не загрузится. Если вы все-таки произвели обновление, то на время решения проблемы настройте в загрузчике GRUB загрузку прежней версии ядра: в файле
/etc/grub.conf установите параметр default=1.
Если при обновлении появляется сообщение, что обновление не найдено или возникают проблемы с зависимостями, то перед обновлением выполните команду:
yum clean all
Chaos Protection в QUIC IETF.nat_transcode_cidr , который задает CIDR белых адресов оператора. Возможно только 2 CIDR. Значения используются при перекодировке белый -→ серый для NAT 1:1. Для серого адреса может быть назначен любой белый адрес для NAT 1:1.(crc(ip_src) % nthread + crc(ip_dst) % nthread) % nthread.crc(серый) % nthread + crc(белый) % nthread.[NFLW] very long operation …. выводится всегда независимо от количества повтора сообщений.stream.[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}
dpdk_engine=2. DDP загружается из файла /lib/firmware/intel/i40e/ddp/i40e.pkg при инициализации i40e портов. Время жизни загруженного DDP-профиля: до перезагрузки сервера.l2subs_id в команде subs prop set.l2subs_id.l2subs_id для L3-авторизации, так как в ответе L3 auth от Радиуса может указываться, что это L2-абонент.l2subs_id.l2subs_id для PPPoE-сессии.bras_ppp_mac_auth.subs_id, идентифицирующего PPPoE-сессию.l2lan_id --- идентификатор L2-сети. l2lan_id предназначен для разделения абонентов по VLAN. l2lan_id получается из l2subs_id, то есть его формирование задается той же опцией bras_subs_id. По сути l2lan_id --- это VLAN-префикс из l2subs_id.l2lan_id --- он входит в их ключ по MAC и Client-Id. То есть два абонента с одним и тем же MAC-адресом, но в разных VLAN, считаются разными абонентами (если bras_subs_id задано учитывать VLAN). Вторичные ключи по Opt82 и Q-in-Q не учитывают l2lan_id. Подробнее bras_subs_id.rx_dispatcher метод хеширования flow по рабочим потокам (ip_src+ipdst)%N ) & ip_mask; (CRC(IP SRC)%N+CRC(IP_DST)%N)%N.bras_ppp_lcp_start_timeout.pcapng.captive portal без доступа абонентов в интернет (по причине аварии на аплинках, абонент в долгосрочной блокировке и т.п.). dpdkinfo. Описание.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
user timeout (в дополнении к стандартному механизму tcp keep alive)rx_dispatcher=2 с равномерной балансировкой по произвольному количеству потоков (но без поддержки nat1:1 с требованием назначения конкретных адресов). Описание в разделе Настройка и управлениеdual-stack: добавление IP-адресов к уже существующей acct-сессииpersist queue в режим "есть связь"fdpi_cli pcrf persist queue reconnect, которая позволяет сделать реконнект к fastDPI без сброса очереди. Может быть применена к конкретному соединению или ко всем. Описание в разделе Управление fastPCRFsession_id, который был анонсирован при авторизацииpcapng для записи в СХДl2subs_id. Описание в разделе Radius CoAnat_exclude_private и соответствующая поддержка: int nat_exclude_private;ip_src и ip_dst серые или находятся в psz_prms_user_private) ip_src — серый с учетом psz_prms_user_private и AS для dst_ip = localip_src — серый с учетом prms_user_private и AS для dst_ip = peer. Описание в разделе Настройка и управлениеl2subs_id. Описание в разделе Radius CoAl2subs_id. Описание в разделе Radius CoAVasExperts-L2-SubsId в Acct Start/Interim/Stop. Описание в разделе Radius-атрибутыdisable Ethernet Flow Control на старте портаl2subs_id абонента.chaddr) + xid запросаClient-Id и xid запроса. Сервер обязан передать опцию Client-Id в ответе, в отличие от других опций запроса.dhcp show stat vrfpcrf radius enable/disablepcrf radius pingpcrf radius statusl2subs_id.bras_subs_id) используется srcMAC из ethernet-заголовка пакета. В случае, если DHCP-запросы проходят через DHCP Relay, srcMAC в ethernet-заголовке DHCP-пакета уже не является MAC-адресом абонента. DHCP-запросы всех абонентов, проходящих через DHCP Relay, имеют один и тот же MAC в ethernet-заголовке и один и тот же subs_id.chaddr.watchdog — новый монитор Radius-серверов. Описание в разделе Полный список параметровfastpcrf.conf:radius_keepalive=60radius_ping_user_name) и Password (radius_ping_user_password) псевдоабонента для пинг-запросов.radius_revive_period удален за ненадобностью.p_flow_ → cmn.bts_check_ip |= ntconnt::bts_nat_must_whipfastdpi_alert.log "VRF не имеет TAP"fastdpi_alert.log не чаще чем раз в час для каждого VRFfdpi_cli: nat dump transcode, nat dump translater [имя профиля], nat dump translater data [имя профиля]BV##NNNN[#MMMM][#++++----], где NNNN — скорость входящего трафика в кбит/с, MMMM — скорость исходящего трафика в кбит/с, + — включенный класс, — — отключенный класс. Описание в разделе Атрибуты авторизации абонентаchaddr@opt60 для опции radius_user_name_dhcpradius_user_name_dhcp=chaddr@opt60, User-Name в Access-Request формируется из MAC-адреса заголовка DHCP пакета (поле chaddr) и опции 60, если эта опция есть в DHCP-запросе. Описание в разделе DHCP Radius proxy - Access-Requestquic_ietf для первого пакета CRYPTO, если задан offset==0 — проверяется факт возможной фрагментацииbras_ip_filtering(=0).0x0001 — контроль подмены IP абонента (restricting forged traffic). Дропаем пакет на пути subs → inet, если IP-адрес абонента (srcIP) неизвестный для L2 BRAS и bras_term_by_as = 0 и AS абонента не local. bras_ip_filtering=0bras_vrf_isolation — изоляция на уровне VRF. Описание в разделе Маршрутизатор Soft-Routerfastdpi.conf: [hot] Изоляция VRF. По умолчанию (0), L2 BRAS не изолирует абонентов из разных VRF: Если данный режим включен (1), то абоненты из разных VRF будут изолированы друг от друга: для абонента из VRF1: шлюз также должен быть в VRF1, local interconnect будет работать только для абонентов из той же VRF1. bras_vrf_isolation=0local interconnect — применяется только если оба абонента в одном VRFsender и GW находятся в одной VRF)lease-time) и указано большое session-timeout при авторизации, то все запросы Renew/Rebind от абонента нужно посылать на DHCP-сервер через PCRF для продления лицензии, иначе DHCP-сервер может посчитать, что адрес свободен. Реавторизация производится только при достижении session-timeoutneighbor cache для VRF.router_vrf { [cold][optional]neighbor_cache. neighbor_cache=… }. Описание в разделе Маршрутизатор Soft-Routerfastpcrf.conf опция radius_user_name_dhcp — добавлено новое значение opt61@opt60: radius_user_name_dhcp=opt61@opt60. Описание в разделе DHCP Radius proxy - Access-Request.fastpcrf.conf — в каких атрибутах передавать DHCP-опции в Access-Requestattr_dhcp_opt43=vendorId.attrId где vendorId — id вендора, число от 0 до 2^32-1.vendorId != 0, то значение передается в VSA-атрибуте.vendorId == 0, то значение передается в обычном Радиус-атрибуте (не-VSA)attrId — id атрибута, число от 1 до 255octets (передаются как есть в бинарном виде)0.0 — не передавать данный атрибут на Радиус-серверattr_dhcp_opt43=0.0, attr_dhcp_opt60=43823.34 # VasExperts-DHCP-ClassId, attr_dhcp_opt61=43823.33 # VasExperts-DHCP-ClientIdfdpi_ctrl профиль совпадает со структурой для услуги 5fdpi_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. Описание в разделе Атрибуты авторизации абонента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)#для поддержки этой услуги потребуется дополнительная оперативная память (по сравнению со стандартными требованиями), она резервируется настройкой 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
hide позволяет сделать дроп трафика с предварительным анализом. Описание в разделе Обработка трафика по VLANfdpi_cli vlan group <id> drop fdpi_cli vlan group <id> pass fdpi_cli vlan group <id> hide
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".radmin-portfe80::0/8 1 cat ipchannels6.txt | as2bin6 /etc/dpi/ipchannels6.bin
block_options=4radmin-port на radmin. Список идентификаторов новых протоколовDoT 49281 RTCP 49282 LIGHTWAY 49283 GOOGLE_MEET 49284 JITSY 49285 WECHAT 49286 DTLS 49287 META_CALLS 49288 LIVEU_LRT 49289
vchannels_default= для помещения нераспределенного по другим каналам трафика в отдельный канал (но не 0!). Описание в разделе Полисинг Виртуального канала (vChannel) — Настройкаfdpi_ctrl load --service 49 --login DEMO fdpi_ctrl load --service 49 --vchannel 1
support_service_18. Описание в разделе Полисинг по сессии и переопределение классов трафика — Конфигурация СКАТudp_block=3) Описание в разделе Подготовка словарей со списком блокируемых ресурсовchecklock и в custom протокол checkproto. В командной строке нужно указать адрес или адрес порт.#Параметры в fastdpi.conf: span_vlan=123 span_trace=1 #Для диагностики можно использовать: #trace_ip или span_trace или ajb_save_emit #если задать услугу 12 и 17, то в pcap увидим оригинальную запись и зеркалированную
netflow_tos_format, формат данных поля TOS в IPFIX: netflow_tos_format=0 (значение по умолчанию), 3 bit (только приоритет), 1 6-bit (полный DSCP). Описание в разделе Настройка экспорта Full NetFlow в формате IPFIXipfix fullflow добавлена передача дополнительного поля - оригинального TOS из IP заголовка, можно будет строить отчеты по внешней разметкеdhcp nak issuedhcp 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 отправляется). Описание в разделе Настройки fastPCRFCommand-Code=1 — поиск acct session по IP. Поиск acct-сессии может вестись по IPv6-префиксу атрибуты Framed-IPv6-Prefix или Delegated-IPv6-Prefix. В ответе команды указываются все известные IP-адреса найденной acct-сессии — Framed-IP-Address, Framed-IPv6-Prefix, Delegated-IPv6-Prefix. Radius CoA — Запрос accounting-сессии для данного IP-адресаdhcp show stat vrf. При определении "живости" сессии не проверялся subs_id абонента, — передача IP-адреса другому абоненту может поломать эту статистикуlease expired для адреса из Framed-PoolADSL-Forum-Circuit-Id. Если PPPoE-пакет содержит Circuit-Id и Huawei tag 1, то предпочтение отдается Circuit-Id, Huawei tag1 игнорируется. Описание в разделе Формат Access-Request для PPPoE-сетей — Поддержка Huawei vendor-specific tag 1framed-ipv6-prefix. Добавлена отправка framed-ipv6-prefix и delegated-ipv6-prefix по IPFIX/var/lib/dpi/sdsuuid.dat