Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
dpi:bras_bng:use_cases:example_freradius3:start [2023/10/13 12:22] – ↷ Страница перемещена из dpi:bras_bng:opt_bras_l3:bras_steps:example_freradius3:start в dpi:bras_bng:use_cases:example_freradius3:start 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 += " | ||
- | } | ||
- | } | ||
- | </ |