dpi:dpi_options:brass:opt_bras:reference_bras:interact_fastpcrf_radius:interact_fastpcrf_coa [Документация VAS Experts]

Различия

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

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

dpi:dpi_options:brass:opt_bras:reference_bras:interact_fastpcrf_radius:interact_fastpcrf_coa [2020/02/05 15:17] – ↷ Страница перемещена из dpi:dpi_options:base_functionality:brass:opt_bras:reference_bras:interact_fastpcrf_radius:interact_fastpcrf_coa в dpi:dpi_options:brass:opt_bras:reference_bras:interact_fastpcrf_radius:interact_fastpcrf_coa lexx26dpi:dpi_options:brass:opt_bras:reference_bras:interact_fastpcrf_radius:interact_fastpcrf_coa [2020/03/18 14:45] (текущий) – удалено lexx26
Строка 1: Строка 1:
-====== 3 Взаимодействие FastPCRF с Radius CoA ====== 
-{{indexmenu_n>3}} 
-=== Общее описание === 
-[[https://tools.ietf.org/html/rfc5176|CoA]] - Change of Authorization - это оповещения от Radius-сервера в сторону сервера FastPCRF о том, что атрибуты назначенные пользователю поменялись или что пользователь теперь должен иметь статус "не авторизован". 
-<note>Несмотря на то, что оповещение CoA-Request может содержать полный список изменившихся атрибутов пользователя, предпочтительным является использование упрощенного варианта этой нотификации. Упрощенный вариант сообщает FastDPI, что атрибуты пользователя изменились и требуется повторная авторизация. Получив такое оповещение, FastDPI шлет обычный запрос Access-Request на Radius-сервер.</note> 
-FastPCRF поддерживает [[#Полная нотификация CoA-Request|полную нотификацию CoA-Request]], но ее реализация не рекомендуется к использованию из-за сложности: поддержка такого варианта нотификации подразумевает  содержание только списка измененных атрибутов (списка услуг и пр.) абонента в CoA-Request. 
  
-=== Упрощенная нотификация (запрос реавторизации) CoA-Request содержит следующие атрибуты: === 
- 
-^  Атрибуты  ^  Значение         ^ 
-|  Service-Type  |8 (Authenticate-Only)  | 
-|  User-Name |Имя (логин) пользователя. Обязателен, если нет атрибута CUI.| 
-|  VasExperts-UserName |Имя (логин) пользователя.| 
-|  Chargeable-User-Identity (CUI) |Имя (логин) пользователя. Если CoA-Request содержит оба атрибута – User-Name и CUI - то CUI имеет более высокий приоритет (то есть User-Name игнорируется).| 
-|  Framed-IP-Address |IPv4 адрес Абонента, в случае IPv4-only или Dual-Stack| 
-|  Framed-IPv6-Address |IPv6 адрес Абонента, если используется.| 
-|  Framed-IPv6-Prefix |IPv6 префикс Абонента, если используется.| 
-<note>Предпочтительным идентификатором абонента в CoA является его логин. При обработке CoA FastDPI ищет абонента по логину, если логин не найден или не задан в CoA, то поиск продолжается по IP-адресу. Если в CoA задан и логин и IP-адрес, и абонент найден по логину, то IP-адрес игнорируется. FastDPI не анализирует, связаны ли логин и IP-адрес в UDR базе данных.</note> 
- 
-=== Ответы FastCPRF на упрощенную COA нотификацию === 
-Согласно [[https://tools.ietf.org/html/rfc5176|RFC5176]], на CoA-Request с Service-Type=8 (Authenticate-Only) должен быть ответ CoA-NAK с атрибутом Error-Cause=507 (Request Initiated). Это не всегда удобно, так как некоторые утилиты (например, radclient из FreeRadius) трактуют ответ CoA-NAK как ошибку. FastPCRF имеет настроечный параметр coa_reauth_ack, который определяет, как отвечать на CoA-Request с Service-Type=8: 
- 
-0 (значение по умолчанию) - стандартное поведение: отвечать CoA-NAK с Error-Cause=507 
-1 - нестандартное поведение: отвечать CoA-ACK 
-<note>Параметр coa_reauth_ack может быть задан в fastpcrf.conf как глобально, для всех radius-серверов, так и для каждого radius-сервера</note> 
-Пример настройки: 
-<code> 
-# глобальная настройка 
-coa_reauth_ack=0 
-# для этого сервера применяется глобальная настройка coa_reauth_ack=0 
-radius_server=mysecret1@192.168.10.10%eth0 
-# а для этого явно задано coa_reauth_ack=1 
-radius_server=mysecret2@192.168.20.10%eth0;coa_reauth_ack=1 </code> 
- 
-=== Полная нотификация CoA-Request === 
-<note>Полная нотификация CoA-Request используется в случае, когда у авторизованного Абонента изменились параметры, произошло подключение или отключение услуг или изменение их профилей и нет возможности использовать [[#Упрощенная нотификация (запрос реавторизации) CoA-Request содержит следующие атрибуты: |упрощенный CoA-Request]].</note> 
- 
-<note warning>Если Абонент находится в состоянии "не авторизован" и изменились назначенные ему параметры, тогда должен генерироваться [[#Упрощенная нотификация (запрос реавторизации) CoA-Request содержит следующие атрибуты: |упрощенный CoA-Request]]. В этом случае FastDPI пошлет Access-Request для авторизации Абонента. Эта логика может применяться, когда Абонент пополнил счет и необходимо его авторизовать. </note> 
-Для авторизованного пользователя полная нотификация CoA-Request содержит только изменения параметров пользователя. 
- 
-Поддерживаются следующие атрибуты: 
-^  Атрибуты  ^  Значение         ^ 
-|  User-Name |Имя (логин) пользователя. Обязателен, если нет атрибута CUI.| 
-|  VasExperts-UserName |Имя (логин) пользователя.| 
-|  Chargeable-User-Identity (CUI) |Имя (логин) пользователя. Если CoA-Request содержит оба атрибута – User-Name и CUI - то CUI имеет более высокий приоритет (то есть User-Name игнорируется).| 
-|  Framed-IP-Address |IPv4 адрес Абонента, в случае IPv4-only или Dual-Stack| 
-|  Framed-IPv6-Address |IPv6 адрес Абонента, если используется.| 
-|  Framed-IPv6-Prefix |IPv6 префикс Абонента, если используется.| 
-|  VasExperts-Policing-Profile |Имя профиля полисинга для пользователя. Данный атрибут должен включаться только если изменился профиль полисинга пользователя. В CoA-Request допустимо не более одного атрибута VasExperts-Policing-Profile.| 
-|  VasExperts-Enable-Service |Параметр, задающий включение/отключение конкретной услуги, для которой не требуется профиль. Формат строки:  ''service_id:flag''  service_id – число, идентификатор услуги fastDPI;  flag – признак включения/отключения услуги. Допустимые значения:  -1, on, enabled – услуга включена;  -0, off, disabled – услуга отключена.  Каждая сменившая статус услуга должна задаваться отдельным атрибутом VasExperts-Enable-Service, то есть CoA-Request может содержать ноль или более атрибутов VasExperts-Enable-Service. | 
-|  VasExperts-Service-Profile |Параметр, задающий имя профиля для конкретной услуги fastDPI. Формат:   service_id:profile_name    -service_id – число, идентификатор услуги fastDPI;  -profile_name – строка, имя профиля по услуге.   Например, подключение услуги NAT (11) с профилем «cgnat»:   VasExperts-Service-Profile="11:cgnat"    PDU может содержать ноль или более атрибутов VasExperts-Service-Profile – по одному атрибуту для каждой услуги. Если услуге сопоставлен профиль, услуга считается подключенной.  Если требуется отключить какую-нибудь услугу в CoA, то следует использовать атрибут VasExperts-Enable-Service.    Например, для отключения услуги 5 в CoA следует указать:   VasExperts-Enable-Service="5:off"    Для включения услуги 5 с профилем my_white_list надо указать:   VasExperts-Service-Profile="5:my_white_list"    Каждое изменение имени профиля услуги задается отдельным атрибутом VasExperts-Service-Profile, то есть CoA-Request может содержать ноль или более атрибутов VasExperts-Service-Profile.| 
-|  Session-Timeout |Опциональный атрибут, задает время действия авторизации в секундах. Значение 0 игнорируется. По истечении этого времени статус авторизации пользователя устанавливается в “неизвестен”, что приводит к отправке запроса на авторизацию Access-Request.| 
- 
-=== Описание обработки CoA Disconnect-Request === 
-Нотификация Disconnect-Request сигнализирует о том, что пользователь стал неавторизованным (например, закончились средства на счете). 
-Нотификация Disconnect-Request должна содержать следующие атрибуты: 
-^  Атрибуты  ^  Значение         ^ 
-|  User-Name |Имя (логин) пользователя. Обязателен, если нет атрибутов CUI и VasExperts-UserName.| 
-|  VasExperts-UserName |Имя (логин) пользователя.| 
-|  Chargeable-User-Identity (CUI) |Имя (логин) пользователя. Если CoA-Request содержит оба атрибута – User-Name и CUI - то CUI имеет более высокий приоритет (то есть User-Name игнорируется).| 
-|  Framed-IP-Address  |IPv4 адрес Абонента, в случае IPv4-only или Dual-Stack.| 
-|  Framed-IPv6-Address  |IPv6 адрес Абонента, если используется.| 
-|  Framed-IPv6-Prefix  |IPv6 префикс Абонента, если используется.| 
-|  Acct-Session-Id  |Идентификатор accounting-сессии. По этому идентификатору СКАТ ищет у себя во внутренней БД IP-адрес, связанный с данной accounting-сессией.| 
- 
-При получении Disconnect-Request СКАТ производите следующие действия: 
- 
-  - Элемент нумерованного списка если разрешен accounting - посылает Accounting Stop с причиной Admin-Reset (6). 
-  - Разрывает сессию для протоколов, допускающих разрыв сессии по инициативе сервера (например, PPPoE). 
-  - Выставляет статус авторизации для IP-адреса в статус «неизвестно». Это приводит к тому, что при поступлении пакета от данного IP СКАТ пошлет запрос на авторизацию. 
-  - Если в Disconnect-Request указан логин абонента - эти действия производятся для всех IP-адресов, связанных с логином. 
- 
-=== Поддержка отдельных CoA-клиентов === 
-В некоторых конфигурациях CoA-клиент, посылающий CoA-запросы Disconnect-Request и CoA-Request, может быть отдельной сущностью, не являющейся radius-сервером. Например, это может быть некая утилита, умеющая формировать CoA-запросы и применяющаяся в скриптах. FastPCRF поддерживает такие “обособленные” CoA-клиенты. В конфигурационном файле fastpcrf.conf каждый такой CoA-клиент задается отдельным параметром coa_client, имеющим формат, аналогичный параметру radius_server: 
-<code>coa_client=secret@ip%dev:port{;param=value}*</code> 
-secret – секрет Radius; 
-ip – ip-адрес CoA-клиента; 
-dev (необязательный) – имя интерфейса, на котором слушать входящие запросы; если не задан – интерфейс выбирается операционной системой; 
-port – слушаемый локальный порт; 
-param=value – перечень (через точку с запятой) конфигурационных параметров для данного CoA-клиента. Поддерживаются параметры: max_resend_count, msg_auth_attr, coa_resend_timeout. 
- 
-Каждый CoA-клиент описывается отдельным параметром coa_client. Всего может быть до 16 обособленных CoA-клиентов. FastPCRF принимает CoA-запросы только от зарегистрированных (описанных в конфигурационном файле) radius-серверов и CoA-клиентов. 
-<note>Если radius-сервер поддерживает CoA,  достаточно указать опцию coa_port для него в параметре radius_server, нет необходимости описывать его отдельным параметром coa_client.</note>