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

Различия

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

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

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
dpi:dpi_options:brass:opt_bras:reference_bras:interact_fastpcrf_radius:example_sett_radius [2020/02/05 15:17] – ↷ Страница перемещена из dpi:dpi_options:base_functionality:brass:opt_bras:reference_bras:interact_fastpcrf_radius:example_sett_radius в dpi:dpi_options:brass:opt_bras:reference_bras:interact_fastpcrf_radius:example_sett_radius lexx26dpi:dpi_options:brass:opt_bras:reference_bras:interact_fastpcrf_radius:example_sett_radius [2020/03/18 14:44] (текущий) – удалено lexx26
Строка 1: Строка 1:
-====== 4 Пример настройки FreeRadius3 ====== 
-{{indexmenu_n>4}} 
-В этом разделе приведены минимальные изменения в конфигурацию FreeRadius 3 для взаимодействия с FastPCRF. 
-<note warning>Данные изменения следует рассматривать лишь как один из примеров конфигурирования FreeRadius. Здесь мы не рассматриваем интеграцию FreeRadius с биллинговой системой или базой данных.</note> 
-Предположим, IP-адрес у Radius-сервера 192.168.1.200, порт 1812. 
  
-=== Словарь VasExperts === 
-Сначала следует добавить словарь vendor-specific атрибутов {{ :service:brass:opt_bras:reference_bras:interact_fastpcrf_radius:dictionary.rar |dictionary.vasexperts (актуальный словарь находится в /usr/share/dpi/dictionary.vasexperts)}} в словарь Radius-сервера. Для этого: 
- 
-  * Копируем словарь /usr/share/dpi/dictionary.vasexperts из дистрибутива fastpcrf в каталог $freeRadius/share/freeradius 
-  * Добавляем в главный словарь $freeRadius/share/freeradius/dictionary строку: 
-<code>$INCLUDE dictionary.vasexperts</code> 
- 
-=== Создание клиента === 
-В файле конфигурации fastpcrf.conf нашего инстанса, который является Radius-клиентом, должно быть прописано соединение с Radius-сервером: 
-<code>radius_server=secret123@192.168.1.200%eth0:1812;msg_auth_attr=1</code> 
-Здесь eth0 – это имя локального для клиента устройства (сетевой карты), с которой будет устанавливаться соединение с сервером 192.168.1.200. 
- 
-Для каждого инстанса FastPCRF первым делом следует создать клиента в FreeRadius. Назовем клиента fastdpi1. Все клиенты (инстансы FastPCRF) будут ссылаться на один и тот же виртуальный сервер fastdpi-vs. 
- 
-Добавляем в raddb/clients.conf Radius-сервера следующие строки: 
-<code> 
-client fastdpi1 { 
-ipaddr = 192.168.1.32 
-secret = secret123 
-require_message_authenticator = yes 
-# add_cui = yes 
-virtual_server = fastdpi-vs 
-} 
-</code> 
- 
-Здесь: 
- 
-  * ipaddr - задает IP-адрес инстанса FastPCRF, в нашем примере это 192.168.1.32 
-  * secret – уникальный секрет, известный Radius-серверу и клиенту (то есть инстансу FastPCRF). Значение является произвольным и должно совпадать с настройкой в fastpcrf.conf: radius_server=secret123@192.168.1.200%eth0:1812 
-  * require_message_authenticator – флаг, устанавливающий обязательность присутствия в Radius-запросе атрибута Message-Authenticator. [[https://tools.ietf.org/html/rfc2869|RFC 2869]] настоятельно рекомендует использовать данный атрибут. Эта настройка должна быть согласована с параметром msg_auth_attr в fastpcrf.conf: radius_server=…;msg_auth_attr=1 
-  * add_cui – этот параметр должен быть де-активирован. В целях безопасности Radius-сервер передает атрибут CUI (Chargeable-User-Identity) как зашифрованное хеш-значение логина пользователя, что неприемлемо для FastDPI, - нам нужен истинный логин пользователя. Поэтому параметр add_cui закомментирован. 
-  * virtual_server – задает имя виртуального сервера, который мы сконфигурируем далее. 
- 
-=== Создание виртуального сервера === 
-Для создания конфигурации виртуального сервера копируем файл raddb/sites-available/default, входящий в поставку FreeRadius, в raddb/sites-enabled/fastdpi-vs и затем редактируем fastdpi-vs: 
- 
-  * задаем имя виртуального сервера - меняем в начале файла строку server default на server fastdpi-vs 
-  * в секции listen для auth-запросов (type = auth) прописываем, на каком IP-адресе и каком порту слушать входящие запросы (заметим, это локальный адрес Radius-сервера): 
-<code> 
-ipaddr = 192.168.1.200 
-port = 1814 
-interface = eth0 
-</code> 
-  * остальные секции listen удаляем (или закомментируем – они нам не нужны) 
-  * всю основную работу по составлению ответа на Access-Request прописываем в секции post-auth. Здесь дать какие-то рекомендации невозможно – все зависит от конкретного провайдера, от окружения Radius-сервера – откуда брать данные. Список необходимых атрибутов см. [[dpi:dpi_options:base_functionality:brass:opt_bras:reference_bras:interact_fastpcrf_radius:return_param_fastpcrf_radius|Параметры ответов от Radius-серверов к FastPCRF]]. В качестве примера приводится статическое заполнение атрибутов ответа Access-Accept (не забываем, наличие в запросе Access-Request атрибута CUI (Chargeable-User-Identity), содержащего единственный нулевой байт, означает, что fastpcrf не знает логин пользователя и запрашивает его у Radius-сервера; в данном примере CUI формируется из Framed-IP-Address только в качестве иллюстрации): 
-<code> 
-post-auth { 
- 
-# 
-# Add VasExperts attributes 
-# 
-if ( Chargeable-User-Identity == 0x00 ) { 
-update reply { 
-Chargeable-User-Identity := "u-%{Framed-IP-Address}" 
-} 
-} 
-else { 
-update reply { 
-Chargeable-User-Identity := "%{Chargeable-User-Identity}" 
-} 
-} 
-update reply { 
-Framed-IP-Address := "%{Framed-IP-Address}" 
-VasExperts-Policing-Profile := "test1" 
-VasExperts-Service-Profile += "1:test1" 
-Session-Timeout := 300 
-} 
- 
-} 
-</code> 
-  * Параметр cui секции post-auth оставляем закомментированным! FreeRadius вместо логина пользователя посылает в CUI хеш-значение логина, что нам не нужно, поэтому атрибут CUI в ответе будем формировать сами, см. пример выше. 
-  * Ниже в секцию Post-Auth-Type REJECT (формирование Access-Reject) добавляем: 
-        * Формирование атрибута CUI, если FastPCRF его запрашивает и пользователь известен; 
-        * Атрибут VasExperts-Policing-Profile, задающий профиль полисинга для неавторизованных пользователей (в примере ниже имя профиля – plc_unauth, у вас имя будет другое); 
-        * Атрибут VasExperts-Service-Profile, задающий профиль услуги 5 (“Белый список”). Обычно это профиль, разрешающий неавторизованным пользователям доступ только к Captive Portal. В примере ниже имя профиля – cp_unauth, у вас имя будет другое. 
- 
-Пример: 
-<code> 
-if (Chargeable-User-Identity == "\0" ) { 
-update reply { 
-Chargeable-User-Identity := "login" 
-} 
-} 
-update reply { 
-VasExperts-Policing-Profile := "plc_unauth" 
-VasExperts-Service-Profile += "5:cp_unauth" 
-} 
-</code> 
- 
-=== Редактирование users === 
-В файл raddb/users следует добавить две записи для FastPCRF: 
-<code> 
-VasExperts.FastDPI.unknownUser Cleartext-Password := "VasExperts.FastDPI" 
-DEFAULT Cleartext-Password := "VasExperts.FastDPI" 
-</code> 
- 
-Первая запись задает имя пользователя, которое шлет FastPCRF если логин ему не известен, подробнее см. описание конфигурационного параметра radius_unknown_user. Это имя настраивается в FastPCRF, так же как и пароль, см. описание конфигурационного параметра [[dpi:dpi_options:base_functionality:brass:opt_bras:reference_bras:params_fastpcrf:setup_radius_fastpcrf|radius_unknown_user_psw]]. Вторая запись задает пароль, с которым FastPCRF шлет запросы для известных логинов. Этот пароль настраивается в FastPCRF, см. описание конфигурационного параметра [[dpi:dpi_options:base_functionality:brass:opt_bras:reference_bras:params_fastpcrf:setup_radius_fastpcrf|radius_user_password]].