Предыдущая версия справа и слеваПредыдущая версия | |
dpi:bras_bng:radius_integration:radius_auth_server_integration:radius_auth_response [2023/10/13 11:44] – ↷ Страница перемещена из dpi:bras_bng:opt_bras_l3:bras_steps:radius_auth_server_integration:radius_auth_response в dpi:bras_bng:radius_integration:radius_auth_server_integration:radius_auth_response elena.krasnobryzh | dpi:bras_bng:radius_integration:radius_auth_server_integration:radius_auth_response [2024/09/26 15:29] (текущий) – внешнее изменение 127.0.0.1 |
---|
====== Атрибуты авторизации абонента ====== | ====== Атрибуты авторизации абонента ====== |
| {{indexmenu_n>1}} |
| Помимо информации о том, авторизован или нет пользователь, fastPCRF необходимы следующие данные в ответ на Access-Request: |
| * IP-адрес абонента. |
| * Профиль полисинга пользователя. |
| * Профили пользователя по услугам fastDPI. |
| * Услуги, подключенные пользователю. |
| * Тип пользователя: количество IP-адресов, связанных с пользователем. |
| * Логин пользователя — атрибут ''User-Name'' или ''VasExperts-UserName'' |
| |
| {{anchor:ip-addr-attr}} |
| СКАТ поддерживает IPv4 и IPv6-адресацию абонентов. Для IPv4-абонентов в ответе должен быть атрибут ''Framed-IP-Address'', задающий IPv4-адрес, причем этот адрес должен совпадать с тем, который был указан в Access-Request. Если значения ''Framed-IP-Address'' в запросе и ответе различаются, это считается ошибкой. |
| |
| <note tip>Некоторые биллинговые системы не могут отдать в ''Access-Accept'' атрибут ''Framed-IP-Address'' в режиме L3-авторизации. Для таких случаев предусмотрена fastpcrf.conf-опция ''radius_framed_ip_from_request=1'': при таком значении в случае отсутствия в ответе атрибута ''Framed-IP-Address'' fastPCRF берет его из запроса авторизации.</note> |
| |
| Для IPv6-абонентов в Access-Accept/Reject поддерживаются атрибуты: |
| * ''Framed-IPv6-Address'' — задает IPv6-адрес абонента. Значение данного атрибута в ответе должно совпадать со значением в запросе. |
| * ''Framed-IPv6-Prefix'' — задает IPv6-префикс подсети абонента. Размер префикса и его значение в ответе должен совпадать с запросом. |
| * ''Framed-IPv6-Pool'' — имя пула. Необязательный атрибут. Если этот атрибут указан в ответе, то он будет передаваться во всех Accounting-Request. |
| |
| Для IPv6 ответ обязательно должен содержать один из атрибутов ''Framed-IPv6-Address'' или ''Framed-IPv6-Prefix'' (или оба сразу). При этом СКАТ интерпретирует атрибут ''Framed-IPv6-Address'' как префикс подсети, не учитывая младшие биты адреса (напомним, что пока СКАТ умеет работать только с префиксами одинакового размера, задаваемым параметром ''[[dpi:dpi_components:platform:dpi_ipv6|ipv6_subnetwork]]''). |
| |
| <note warning>В СКАТ IPv6-адреса **обязательно** должны быть связаны с логином абонента, поэтому в ответе должен быть один из атрибутов, задающий логин абонента.</note> |
| |
| Также поддерживаются Dual Stack абоненты: запрос Access-Request всегда идет либо по IPv4, либо по IPv6-адресу, но ответ может содержать оба адреса в атрибутах ''Framed-IP-Address'' и ''Framed-IPv6-Address''/''Framed-IPv6-Prefix''. Это значит, что абоненту назначен как IPv4-адрес, так и IPv6-префикс. При этом такой абонент не считается по умолчанию multi-bind абонентом: в СКАТ с каждым абонентом, даже single-bind, может быть связана пара: IPv4-адрес и IPv6-префикс. |
| |
| Профиль полисинга и список подключенных услуг передаются в Vendor-Specific атрибуте [26] ответов. |
| <code bash> |
| VENDOR VasExperts 43823 |
| BEGIN-VENDOR VasExperts |
| ATTRIBUTE VasExperts-Policing-Profile 1 string |
| ATTRIBUTE VasExperts-Service-Profile 2 string |
| ATTRIBUTE VasExperts-Enable-Service 3 string |
| ATTRIBUTE VasExperts-Multi-IP-User 4 integer |
| ATTRIBUTE VasExperts-UserName 5 string |
| ATTRIBUTE VasExperts-Restrict-User 7 byte или integer |
| END-VENDOR VasExperts |
| </code> |
| |
| <note important>Необходимо создать услуги и полисинг, которые в дальнейшем будут передавать с помощью Radius атрибутов от биллинга. |
| [[dpi:dpi_options:use_cases:qs_rateplans|Пример настройки полисинга (тарифный план) и Captive Portal, которые минимально необходимы для старта.]]</note> |
| |
| ===== VasExperts-Policing-Profile ===== |
| В ответе на Access-Accept должно быть не более одного данного атрибута.\\ |
| - Предконфигурированный полисинг\\ Cтроковый атрибут, задающий имя [[dpi:dpi_components:platform:subscriber_management:subsman_profiles|профиля полисинга]] для пользователя.\\ ''VasExperts-Policing-Profile = "50Mbps"'' |
| - Полисинг с передачей абсолютных значений\\ ''VasExperts-Policing-Profile = "BV##100000#100000#+++-++++"'' \\ где: |
| * ''BV'' --- By Value |
| * ''##100000'' --- лимит от Интернета к абоненту в кбит/с |
| * ''#100000'' --- лимит от абонента к Интернету в кбит/с |
| * ''#+++-++++'' --- cs0 ... cs7, rate(cs3)=0, cs3 заблокирован, остальные классы разрешены на скорости root с заимствованием (алгоритм HTB). |
| |
| ===== VasExperts-Service-Profile ===== |
| Cтроковый параметр, задающий имя профиля для конкретной услуги fastDPI.\\ Формат строки: |
| <code bash> |
| service_id:profile_name |
| </code> |
| Где: |
| - ''service_id'' --- число, [[dpi:dpi_components:platform:subscriber_management:subsman_cmd|идентификатор услуги fastDPI]]; |
| - ''profile_name'' --- строка, [[dpi:dpi_components:platform:subscriber_management:subsman_profiles|имя профиля по услуге]]. |
| **Пример 1:** подключение NAT (11 услуга) с профилем "cgnat": |
| <code bash> |
| VasExperts-Service-Profile="11:cgnat" |
| </code> |
| |
| **Пример 2:** подключение [[dpi:dpi_options:opt_capture|Белого списка и Captive Portal, HTTP redirect]] (16 услуга) с указанием параметров страницы для редиректа "http://info.com" и разрешенного списка IP адресов "''/var/lib/dpi/ip_list.bin''": |
| <code bash> |
| VasExperts-Service-Profile = "16:BV##/var/lib/dpi/ip_list.bin#http://info.com" |
| </code> |
| |
| <note tip>Ответ на авторизацию может содержать ноль или более атрибутов ''VasExperts-Service-Profile'' --- по одному атрибуту для каждой услуги.</note> |
| |
| ===== VasExperts-Enable-Service ===== |
| Cтроковый параметр, задающий включение/отключение конкретной услуги, для которой не требуется профиль. |
| Формат строки: |
| <code bash> |
| service_id:flag |
| </code> |
| где: |
| * ''service_id'' – число, идентификатор услуги fastDPI |
| * ''flag'' – признак включения/отключения услуги. Допустимые значения: |
| * 1, ''on'', ''enabled'' – услуга включена |
| * 0, ''off'', ''disabled'' – услуга отключена |
| Пример подключенной услуги: ''5:on'' |
| |
| Пример отключенной услуги: ''5:off'' |
| |
| В CoA для отключения услуги следует использовать данный атрибут. Например, отключение услуги 5 выглядит так: |
| ''VasExperts-Enable-Service="5:off"''. |
| Тогда как включение услуги 5 с профилем my_white_list - так: ''VasExperts-Service-Profile="5:my_white_list"'' |
| |
| :!: __Важное замечание__: для услуг действует правило “что явно не подключается в ответе, то будет отключено”, то есть если услуга явно не помечена как enabled (или не задан профиль услуги), то услуга считается отключенной. Но для услуги 4 ([[dpi:dpi_options:opt_filtration:filtration_ctrl|black list]], фильтрация запрещенного трафика) действует более строгое правило: эту услугу нужно явно отключать для пользователя, если требуется, то есть для отключения услуги 4 “black-list” в ответе Radius-сервера должен явно присутствовать атрибут ''VasExperts-Enable-Service="4:off"''. |
| |
| По умолчанию подключение услуги 4 “black-list” регулируется [[dpi:dpi_options:opt_filtration:filtration_ctrl|глобальными настройками fastDPI]]. Услуга 4 обычно глобально включена, чтобы не нарушать федеральное законодательство. |
| |
| ===== VasExperts-Multi-IP-User ===== |
| {{anchor:VasExperts-Multi-IP-User}} |
| Признак, связано ли с данным абонентом множество IP-адресов или только один. Данный атрибут может быть либо байтом, либо 32-битовым числом. Значение 1 говорит о том, что данному абоненту может быть сопоставлено несколько IP-адресов (корпоративный клиент), значение 0 – только один IP-адрес. Если в PDU отсуствует атрибут VasExperts-Multi-IP-User, считается, что абоненту сопоставлен только один |
| IP-адрес. |
| |
| Если абоненту проставлен признак ''VasExperts-Multi-IP-User=1'', то свойства (подключенные услуги и полисинг) применяются ко всем IP-адресам абонента, ключом выступает логин абонента. Следует учитывать, что СКАТ авторизует **каждый** IP-адрес абонента: например, если с абонентом связано 10 IP-адресов, то для **каждого** адреса будет послан запрос авторизации Access-Request. Ожидается, что ответ для каждого IP-адреса multi-IP-абонента будет содержать один и тот же набор подключенных услуг и одни и те же профили. Ответ на авторизацию каждого из 10 IP-адресов будет применен к **логину** абонента, то есть все IP-адреса данного логина получают один и тот же набор услуг и один и тот же полисинг. |
| |
| ===== VasExperts-UserName ===== |
| Имя (логин) абонента. |
| |
| Этот атрибут введен для некоторых биллинговых систем, которые физически не могут отдать в ответе Access-Accept/Reject атрибут ''User-Name'', но могут отдать любой VSA-атрибут. <note important>Если в ответе присутствуют оба атрибута - ''User-Name'' и ''VasExperts-UserName'', — то предпочтение отдается значению ''VasExperts-UserName''.</note> |
| |
| {{anchor:VasExperts-Restrict-User}} |
| ===== VasExperts-Restrict-User ===== |
| Признак блокировки абонента. |
| |
| Для СКАТ ответ Access-Accept означает, что абонент не заблокирован, а для заблокированных абонентов должно возвращаться Access-Reject со специальными атрибутами абонента, задающими ограничения. Но некоторые реализации радиус-клиентов не имеют возможности вернуть в Access-Reject атрибуты абонента. Для таких реализаций предусмотрен атрибут VasExperts-Restrict-User: |
| * значение 0 - абонент не заблокирован |
| * значение 1 - абонент заблокирован |
| В случае VasExperts-Restrict-User=1 СКАТ обрабатывает Access-Accept как Accept-Reject. |
| |
| {{anchor:VasExperts-Enable-Interconnect}} |
| ===== VasExperts-Enable-Interconnect ===== |
| Признак разрешения/запрета замыкания локального трафика для абонента. |
| |
| Данный атрибут относится к [[dpi:bras_bng:bras_l2_options:bras_l2_vlan_local|L2 BRAS]]. Если включен режим замыкания локального трафика (local interconnect) '' bras_terminate_local=1'', L2 BRAS замыкает любых двух локальных абонентов. С помощью данного атрибута можно запретить интерконнект: ''VasExperts-Enable-Interconnect=0''. |
| Пакет от одного локального абонента к другому будет дропнут, если хотя бы для одного из абонентов интерконнект запрещен. |
| |
| По умолчанию ''VasExperts-Enable-Interconnect=1'' и если в fastdpi.conf задано '' bras_terminate_local=1'', то интерконнект разрешен. Данным атрибутом можно запретить интерконнект для конкретного абонента, указав ''VasExperts-Enable-Interconnect=0''. |
| |
| |
| ====== Опциональные Radius-атрибуты ====== |
| Помимо перечисленных выше VSA, СКАТ поддерживает в Access-Accept/Access-Reject следующие стандартные Radius-атрибуты. Все они являются опциональными. |
| |
| ===== Session-Timeout ===== |
| Задает продолжительность действия авторизации абонента в секундах. По истечении данного времени СКАТ пошлет повторный запрос Access-Request авторизации. |
| |
| По умолчанию длительность сессии задается в fastdpi.conf, параметр ''auth_expired_timeout'' (в **минутах**). |
| |
| ===== Acct-Interim-Interval ===== |
| Задает интервал времени обновления Accounting-статистики в секундах для данного абонента. |
| |
| Interim interval по умолчанию задается в fastpcrf.conf, параметр ''radius_acct_interim_interval''. |
| |
| ===== Idle-Timeout ===== |
| Задает интервал неизменности данных аккаунтинга, по истечении которого accounting-сессия считается закрытой из-за неактивности абонента. Idle timeout по умолчанию задается fastpcrf.conf-параметром ''radius_acct_idle_timeout''. |
| Как определять неактивность абонента, задается fastpcrf.conf-параметром ''acct_check_idle_mode''. Описание параметров находится в разделе [[dpi:bras_bng:radius_integration:radius_accounting:setup]]. |
| |
| ===== Class ===== |
| При наличии этого атрибута, он будет копироваться во все Accounting-Request PDU. |
| СКАТ не анализирует значение этого атрибута. |
| |
| |
| [[dpi:bras_bng:radius_integration:radius_auth_server_integration:radius_auth_response:radius_auth_access_reject|Особенности Access-Reject]] |
| |
| |