Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версия | |||
| dpi:bras_bng:use_cases:example_freradius3:start [2023/10/13 12:24] – elena.krasnobryzh | dpi:bras_bng:use_cases:example_freradius3:start [Дата неизвестна] (текущий) – удалено - внешнее изменение (Дата неизвестна) 127.0.0.1 | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| - | ====== Пример настройки FreeRadius 3 ====== | ||
| - | {{indexmenu_n> | ||
| - | В этом разделе приведены минимальные изменения в конфигурацию FreeRadius 3. | ||
| - | :!: Данные изменения следует рассматривать лишь как один из примеров конфигурирования FreeRadius. Здесь не рассматривается интеграция FreeRadius с биллинговой системой или базой данных. | ||
| - | |||
| - | Допустим, | ||
| - | |||
| - | === Словарь VAS Experts === | ||
| - | Сначала следует добавить словарь '' | ||
| - | Для этого: | ||
| - | * Скопировать словарь ''/ | ||
| - | * Добавить в главный словарь '' | ||
| - | <code bash> | ||
| - | |||
| - | === Создание клиента === | ||
| - | |||
| - | В файле конфигурации fastpcrf.conf инстанса, | ||
| - | <code bash> | ||
| - | |||
| - | Здесь '' | ||
| - | |||
| - | **Настройки Radius-сервера и клиента должны совпадать!** | ||
| - | |||
| - | Для каждого инстанса fastPCRF первым делом следует создать клиента в FreeRadius. | ||
| - | Допустим, | ||
| - | |||
| - | Добавить в raddb/ | ||
| - | <code bash> | ||
| - | client fastdpi1 { | ||
| - | ipaddr = 192.168.1.32 | ||
| - | secret = secret123 | ||
| - | require_message_authenticator = yes | ||
| - | # add_cui = yes | ||
| - | virtual_server = fastdpi-vs | ||
| - | } | ||
| - | </ | ||
| - | Здесь: | ||
| - | * '' | ||
| - | * '' | ||
| - | * '' | ||
| - | * '' | ||
| - | * '' | ||
| - | |||
| - | === Создание виртуального сервера === | ||
| - | |||
| - | Для создания конфигурации виртуального сервера скопировать файл '' | ||
| - | * задать имя виртуального сервера — изменить в начале файла строку '' | ||
| - | * в секции listen для auth-запросов (type = auth) прописать, | ||
| - | <code bash> | ||
| - | port = 1812 | ||
| - | interface = eth0 | ||
| - | </ | ||
| - | * остальные секции listen удалить либо закомментировать — они не нужны | ||
| - | * всю основную работу по составлению ответа на Access-Request прописать в секции post-auth. Здесь дать какие-то рекомендации невозможно — все зависит от конкретного провайдера, | ||
| - | <code bash> | ||
| - | post-auth { | ||
| - | … | ||
| - | # | ||
| - | # Add VasExperts attributes | ||
| - | # | ||
| - | if ( Chargeable-User-Identity == 0x00 ) { | ||
| - | update reply { | ||
| - | Chargeable-User-Identity := " | ||
| - | } | ||
| - | } | ||
| - | else { | ||
| - | | ||
| - | | ||
| - | } | ||
| - | } | ||
| - | update reply { | ||
| - | Framed-IP-Address := " | ||
| - | VasExperts-Policing-Profile := " | ||
| - | VasExperts-Service-Profile | ||
| - | Session-Timeout := 300 | ||
| - | } | ||
| - | … | ||
| - | } | ||
| - | </ | ||
| - | * **Параметр CUI секции post-auth оставить закомментированным!** FreeRadius вместо логина пользователя посылает в CUI хеш-значение логина, | ||
| - | * Ниже в секцию Post-Auth-Type REJECT (формирование Access-Reject) добавить: | ||
| - | * Формирование атрибута CUI, если fastPCRF его запрашивает и пользователь известен; | ||
| - | * Атрибут '' | ||
| - | * Атрибут '' | ||
| - | |||
| - | **Пример: | ||
| - | <code bash> | ||
| - | if (Chargeable-User-Identity == " | ||
| - | | ||
| - | Chargeable-User-Identity := " | ||
| - | } | ||
| - | } | ||
| - | update reply { | ||
| - | VasExperts-Policing-Profile := " | ||
| - | VasExperts-Service-Profile | ||
| - | } | ||
| - | </ | ||
| - | |||
| - | === Редактирование users === | ||
| - | |||
| - | В файл '' | ||
| - | <code bash> | ||
| - | DEFAULT Cleartext-Password := " | ||
| - | |||
| - | Первая запись задает имя пользователя, | ||
| - | Вторая запись задает пароль, | ||
| - | Этот пароль настраивается в fastPCRF, см. conf-параметр '' | ||
| - | |||
| - | ====== Трюки FreeRadius ====== | ||
| - | ===== Балансировка нагрузки на DNS ===== | ||
| - | <code bash> | ||
| - | # Два DNS-сервера: | ||
| - | # Хотим балансировать нагрузку на них. | ||
| - | # Пример: | ||
| - | | ||
| - | if ( " | ||
| - | update reply { | ||
| - | # удаляем все атрибуты DNS | ||
| - | VasExperts-DHCP-DNS !* ANY | ||
| - | | ||
| - | VasExperts-DHCP-DNS = " | ||
| - | VasExperts-DHCP-DNS += " | ||
| - | } | ||
| - | } | ||
| - | else { | ||
| - | update reply { | ||
| - | # удаляем все атрибуты DNS | ||
| - | VasExperts-DHCP-DNS !* ANY | ||
| - | | ||
| - | VasExperts-DHCP-DNS = " | ||
| - | VasExperts-DHCP-DNS += " | ||
| - | } | ||
| - | } | ||
| - | </ | ||