Предыдущая версия справа и слеваПредыдущая версия | |
dpi:dpi_options:brass:opt_bras:reference_bras:modes_dhcp:dhcp_radius_proxy [2020/02/05 15:50] – ↷ Операцией перемещения обновлены ссылки lexx26 | dpi:dpi_options:brass:opt_bras:reference_bras:modes_dhcp:dhcp_radius_proxy [2020/03/18 14:42] (текущий) – удалено lexx26 |
---|
====== 1 DHCP Radius Proxy ====== | |
{{indexmenu_n>1}} | |
| |
==== Общее описание режима DHCP Radius Proxy ==== | |
| |
Режим DHCP Radius Proxy предназначен для построения сервиса BRAS без выделенных DHCP-серверов. Вместо DHCP-серверов используется Radius-сервер, а FastDPI в связке с FastPCRF выступает в роли DHCP-сервера. | |
| |
==== Преимущества DHCP Radius Proxy ==== | |
| |
* Более простое управление услугами Абонентов, так как вся информация о них хранится в базе данных Radius-сервера, которая является единственным источником информации об Абонентах. | |
* Меньшее количество компонентов решения по авторизации Абонентов и как следствиее лучшая надежность. Отсутствует необходимость в отдельных DHCP-серверах. | |
* Более простая диагностика. | |
| |
==== Особенности DHCP Radius Proxy ==== | |
| |
Со стороны FastDPI отсутствует необходимость в отдельном запросе авторизации клиента, так как ответ на Access-Request содержит как DHCP-параметры, так и FastDPI-профили пользователя и набор подключенных ему FastDPI-услуг. Это поведение можно изменить через параметр [[dpi:dpi_options:brass:opt_bras:reference_bras:modes_dhcp:param_dhcp|bras_dhcp_auth_mix]]. Различить запрос авторизации в режиме «DHCP Radius proxy» можно по значению атрибута [[dpi:dpi_options:brass:opt_bras:reference_bras:interact_fastpcrf_radius:call_param_fastpcrf_radius|VasExperts-Service-Type]]. | |
| |
[[dpi:dpi_options:brass:opt_bras:reference_bras:interact_fastpcrf_radius:interact_fastpcrf_coa|CoA-оповещения]] в режиме DHCP Radius Proxy поддерживаются. Следует учитывать, что CoA-оповещение никак не связано с изменением DHCP-параметров, - оно сигнализирует только об изменении параметров авторизациипользователя, DHCP-сессия остается той же самой. | |
| |
То же самое относится и к оповещению Disconnect-Request: это оповещение говорит только о том, что пользователь стал неавторизованным (кончились деньги, например), его IP-адрес и остальные DHCP-атрибуты остаются без изменений. Disconnect-Request не приводит к пересозданию DHCP-сессии. | |
| |
==== Алгоритм взаимодействия ==== | |
| |
- FastDPI принимает DHCP-запросы от оборудования пользователей и направляет в сторону FastPCRF; | |
- FastPCRF преобразует DHCP-запрос в Radius Access-Request и направляет его Radius-серверу; | |
- По событию приема ответа Access-Accept/Access-Reject АastPCRF преобразует его во внутренний формат и отсылает на FastDPI. Radius-ответ должен содержать как атрибуты, необходимые для DHCP, так и профили пользователя, необходимые FastDPI; | |
- FastDPI формирует DHCP-ответ и отправляет его пользователю, а также запоминает профили пользователя и набор подключенных услуг. | |
| |
FastDPI, получив запрос DHCP-Discover от пользовательского оборудования, направляет его «как есть» в FastPCRF для обработки. В случае успешного выделения IP-адреса FastPCRF отвечает DHCP-Offer, попутно оповещая Radius-сервер о старте сессии Accounting Start. FastDPI сохраняет параметры всех DHCP-Offer у себя во внутренней базе данных UDR. В течение времени [[dpi:dpi_options:brass:opt_bras:reference_bras:modes_dhcp:param_dhcp|bras_dhcp_request_delay]] все дальнейшие запросы DHCP-Request от пользовательского оборудования на подтверждение или продление лизинга IP-адреса FastDPI обрабатывает сам, возвращая в DHCP-Ack сохраненные параметры из DHCP-Offer. | |
| |
Тайм-аут (в секундах) ответа от FastPCRF на DHCP-Discover задается в fastdpi.conf параметром [[dpi:dpi_options:brass:opt_bras:reference_bras:modes_dhcp:param_dhcp|bras_dhcp_timeout]], значение по умолчанию - 7 секунд. | |
| |
По запросам DHCP-Release/DHCP-Decline FastDPI отмечает в UDR, что лизинг данного IP-адреса закончился и через FastPCRF направляет оповещение Radius-серверу о завершении сессии в виде Accounting Stop. После завершения сессии все пакеты от данного абонентского IP-адреса дропаются. | |
| |
FastDPI так же следит за длительностью сессии заданой в DHCP-Offer. Если сессия устарела, а Абонент не продлил лизинг, не прислав DHCP-Request, то сессия считается просроченной и все пакеты от данного пользовательского IP-адреса дропаются. | |
| |
<note>Основную нагрузку на Radius-сервер создают запросы DHCP-Discover, отправляемые через FastPCRF.</note> | |
| |
==== Ограничение длительности DHCP сессии Абонента ==== | |
| |
Длительность DHCP-сессии Абонента может быть фактически неограниченной, если оборудование пользователя исправно шлет запросы DHCP-Request на продление лизинга IP-адреса. Это может быть проблемой для Оператора, поэтому FastDPI имеет конфигурационный параметр [[dpi:dpi_options:brass:opt_bras:reference_bras:param_bras|bras_max_session_duration]], задающий максимальную длительность сессии Абонента в секундах. По умолчанию значение этого параметра равно 604800 секунд (1 неделя). При превышении максимальной длительности сессии FastDPI на запрос DHCP-Request продления лизинга отвечает отказом DHCP-Nak, тем самым вынуждая оборудование Абонента начать новую сессию, послав DHCP-Discover. | |
| |
==== Включение DHCP Radius Proxy ==== | |
| |
Режим [[dpi:dpi_options:brass:opt_bras:reference_bras:modes_dhcp:dhcp_radius_proxy|DHCP Radius Proxy]] включается заданием в fastdpi.conf параметра bras_dhcp_mode в значение 2: | |
<code> | |
bras_dhcp_mode=2 | |
</code> | |
| |
Также необходимо указать виртуальный IP-адрес FastDPI, - этот адрес будет указываться как адрес DHCP-сервера в DHCP-пакетах, - и виртуальный MAC-адрес, пример: | |
| |
bras_arp_ip – задает IPv4-адрес BRAS’а. Этот IP-адрес должен быть уникальным, никакому пользователю он не должен быть сопоставлен. Пример: | |
<code> | |
bras_arp_ip=192.168.1.255 | |
bras_arp_mac=a0:00:b1:01:4e:cc</code> | |
| |
==== Взаимодействие FastPCRF с Radius в варианте DHCP Radius Proxy ==== | |
| |
Radius-запрос Access-Request имеет следующие атрибуты: | |
| |
* User-Name - MAC-адрес из DHCP-запроса в формате XX:XX:XX:XX:XX:XX. Для Q-in-Q-сетей в качестве User-Name возможно использовать QinQ-теги, см. ниже. | |
* User-Password - значение fastpcrf.conf-параметра dhcp_user_psw. Этот параметр задает пароль именно для DHCP Radius proxy режима. Если параметр не задан - используется параметр user_password Radius-сервера | |
* NAS-IP-Address - если DHCP-запрос содержит IP-адрес Relay-агента, то в данный атрибут подставляется этот адрес. Если Relay-агента нет - атрибут содержит виртуальный IP-адрес СКАТ из fastdpi.conf-параметра bras_arp_ip. По значению данного атрибута можно определить, из какой подсети пришел Radius-запрос (от какого Relay-агента) | |
* NAS-Port-Type - содержит значение fastpcrf.conf-параметра radius_attr_nas_port_type для данного Radius-сервера. | |
* NAS-Port - только для VLAN-сетей (с одним VLAN): номер VLAN | |
* NAS-Port-Id: только для QinQ-сетей (с двойным VLAN): содержит VLAN-ы в строковом виде через '/', например: «123/67» | |
* Framed-IP-Address - этот атрибут содержит IP-адрес абонента, присутствует только если IP-адрес абонента известен | |
| |
VSA (Vendor-Specific Attributes) для VendorId=43823 (VASExperts): | |
| |
* [6] VasExperts-Service-Type - содержит значение 1. По значению данного атрибута можно определить, какой Access-Request пришел: 0 - [[dpi:dpi_options:opt_bras:bras_steps:radius_auth_server_integration:start|запрос авторизации]], 1 - DHCP | |
* [37] VasExperts-DHCP-Request - тип DHCP-запроса: 0 - DHCP-Discover, 1 - DHCP-Inform, 2 - DHCP-Request | |
* [38] VasExperts-DHCP-RelayRemoteId - значение cубопции Relay Remote Id опции 82 (Relay Agent Info) DHCP-запроса (binary) | |
* [39] VasExperts-DHCP-RelayCircuitId - значение cубопции Relay Circuit Id опции 82 (Relay Agent Info) DHCP-запроса (binary) | |
* [36] VasExperts-DHCP-Client-IP - желаемый IP-адрес пользователя. Берется из опции 50 DHCP-Discover (Requested Client IP address), может использоваться только как подсказка (hint) при обработке. Для DHCP-Inform это тот же IP-адрес, что и в атрибуте Framed-IP-Address | |
* [32] VasExperts-DHCP-Hostname - значение опции 12 (hostname) DHCP-запроса (binary) | |
* [33] VasExperts-DHCP-ClientId - значение опции 61 (client id) DHCP-запроса (binary) | |
* [34] VasExperts-DHCP-ClassId - значение опции 60 (vendor class id) DHCP-запроса (binary) | |
* [35] VasExperts-DHCP-RelayInfo- значение опции 82 (relay agent info) DHCP-запроса (binary) | |
| |
Атрибуты, соответствующие значениям опций DHCP, добавляются в Access-Request только если соответствующая опция есть в DHCP-запросе. | |
| |
Ответ на Radius-запрос Access-Request в режиме DHCP Radius proxy должен содержать как выдачу IP-адреса абоненту, так и параметры авторизации абонента в fastDPI - профили полисинга и подключенные услуги СКАТ (тонкости совместимости режимов см. [[dpi:dpi_options:opt_bras_l2:bras_l2_vlan:bras_l2_vlan_dhcp:bras_l2_vlan_dhcp_proxy:bras_l2_vlan_dhcp_proxy_l3auth|DHCP Proxy и L3-авторизация]]). Следует учитывать, что даже в случае, когда абонент заблокирован (например, по причине нехватки средств на счете), ему нужно выдать валидный IP-адрес. Фактически, мы должны получить ответы на два вопроса: | |
| |
* для DHCP: IP-адрес пользователя и настройки сети; | |
* авторизация: авторизован или нет пользователь, его профиль полисинга и подключенные услуги. | |
| |
С точки зрения DHCP, если любой ответ - Access-Accept или Access-Reject - содержит атрибут Framed-IP-Address, то такой ответ интерпретируется как успешное выделение IP-адреса пользователю. Помимо IP-адреса, поддерживается задание следующих DHCP-опций: | |
| |
* Маска подсети (opt1) - берется из Radius-атрибута [9] Framed-IP-Netmask. | |
* Размер MTU (opt26) - берется из Radius-атрибута [12] Framed-MTU | |
* Длительность лизинга IP-адреса (opt51) - берется из Radius-атрибута [27] Session-Timeout | |
* Адрес шлюза по умолчанию (opt3) - берется из VSA-атрибута VasExperts-DHCP-Gateway (vendor-id = 43823, attr-id=42). | |
* Статическая таблица маршрутизации (opt121) - берется из Radius-атрибута [22] Framed-Route. Radius-ответ может содержать до 16 атрибутов Framed-Route, формат атрибута - 'CIDR-netmask gateway-IP <прочие данные>', например, '5.128.0.0/16 192.168.10.1' - шлюзом для сети 5.128.0.0/16 является 192.168.10.1 ('прочие данные' игнорируются) | |
* DNS-сервера (opt6) - берется из VSA-атрибутов VasExperts-DHCP-DNS (vendor-id = 43823, attr-id=41). Может быть задано несколько (не более 16) атрибутов VasExperts-DHCP-DNS | |
| |
Прочие опции DHCP могут быть заданы через [[dpi:dpi_options:brass:opt_bras:reference_bras:attribute_dhcp:start|специальные VSA-атрибуты]]. | |
| |
[[dpi:dpi_options:brass:opt_bras:reference_bras:modes_dhcp:param_dhcp|Общие для всех пользователей]] параметры DHCP могут быть заданы в конфигурационном файле fastpcrf.conf. | |
| |
Принцип конвертации атрибутов Radius в опции DHCP-ответа прост: если Radius-ответ не содержит соответствующего атрибута, то берется его значение из fastpcrf.conf, если же и в fastpcrf.conf не задан соответствующий параметр - DHCP-опция в ответ не добавляется. | |
| |
Если Radius-ответ содержит атрибут Framed-IP-Address, то есть пользователю выдан IP-адрес, то далее анализируется тип ответа - разрешение доступа Access-Accept или запрет Access-Reject - и из ответа извлекаются атрибуты, описывающие профиль полисинга абонента и список подключенных услуг, как описано в разделе [[dpi:dpi_options:brass:opt_bras:bras_description:start|BRAS-L3-авторизация]]. | |
| |
Если Radius-ответ не содержит атрибут Framed-IP-Address, то считается, что аренда IP-адреса для пользователя невозможна. Оборудованию пользователя не посылается //никакого ответа//, что с точки зрения DHCP равносильно отказу в выдаче IP-адреса. Параметры авторизации полностью игнорируются. | |
| |
Подробнее о взаимодействии FastPCRF с Radius можно ознакомится в соответствующе статьях справочника, [[dpi:dpi_options:brass:opt_bras:reference_bras:interact_fastpcrf_radius:call_param_fastpcrf_radius|Параметры запросов FastPCRF к Radius-серверам]] и [[dpi:dpi_options:brass:opt_bras:reference_bras:interact_fastpcrf_radius:return_param_fastpcrf_radius|Параметры ответов от Radius-серверов к FastPCRF]]. | |