Настройка локальной авторизации для всех абонентов
Данная инструкция подходит для следующих сценариев:
- Авторизации тестового абонента в рамках функционального тестирования BRAS.
- Авторизация абонентов при выходе из строя основного радиус сервера.
Конфигурация FreeRADIUS
- Отключение EAP. В рамках нашей сборки не нужен, но может вызвать ошибки при включении юнита
radiusd, поэтому стоит отключить. Сначала в/etc/raddb/sites-available/default /etc/raddb/sites-enabled/inner-tunnel
В разделах:
authorize { # eap { # ok = return # updated = return # } authenticate { # eap post-proxy { # eap
А также при необходимости удалить файлы eap из модулей:
/etc/raddb/mods-available/eap /etc/raddb/mods-enabled/eap
- Настройка клиентов/NAS. Когда мы говорим о клиентах, мы имеем в виду RADIUS-клиентов. В нашем случае это FastPCRF.
Если сервер FreeRADIUS находится на той же машине, что и FastPCRF, ничего дополнительно настраивать не нужно, просто проверяем конфигурацию по умолчанию в файле/etc/raddb/clients.conf.
Если необходимо прописать удаленный NAS, то используем этот же файл и добавляемclient fastpcrf1 { ipaddr = < IP > secret = < SECRET > require_message_authenticator = yes }
- Авторизация абонентов. Необходимо настроить шаблон Access-Accept, который будет выдавать наш FreeRADIUS. Для этого добавляем конфигурацию в
/etc/raddb/users, в которой явно указываем, что авторизуем всех в независимости от атрибутов, имени и типов авторизации.DEFAULT Auth-Type := Accept User-name = "%{User-name}", VasExperts-L2-User = 1, VasExperts-Policing-Profile = "rate_10M", VasExperts-Enable-Service = "9:on", Framed-Pool = "test-pool", Framed-IP-Address = "%{Framed-IP-Address}", Framed-IP-Netmask = "255.255.0.0 VasExperts-DHCP-Gateway = "192.168.35.1", VasExperts-DHCP-DNS = "8.8.8.8", VasExperts-DHCP-DNS = "8.8.4.4"Данный шаблон подходит под все типы авторизаций (DHCP, IPoE Static L2, PPPoE). Если в Access-Request не содержит атрибута Framed-IP-Address, то FreeRADIUS отправит Access-Accept с Framed-IP-Address = 0.0.0.0. FastPCRF игнорирует атрибут с таким значением и выдача IP-адреса будет с учетом значения в атрибуте Framed-Pool. Для выдачи адреса из Framed-Pool, на сервере должен быть установлен и настроен локальный DHCP сервер. Подробнее
- Настройки в FastPCRF. Настраиваем RADIUS-сервер, если это резервный сервер — прописываем его после строчки с основным
radius_server.radius_server=secret@127.0.0.1%lo:1812;acct_port=1813
- Проверка. В первую очередь проверяем конфигурацию FreeRADIUS, через команду
radiusd –CX
После включаем RADIUS в режиме debug:radiusd –X, вся обработка сообщений будет происходить в CLI и ошибки будут подсвечены.
Проверяем авторизацию со стороны PCRF в/var/log/dpi/fastpcrf_ap2.logЕсли все работает корректно, то включаем FreeRADIUS на постоянную основу:systemctl start radiusd systemctl enable radiusd
Варианты шаблонов Access-Accept для разных типов авторизации (L3, DHCP, PPPoE) клиентов
В данной реализации все сравнения происходят внутри файла по наличию в запросе атрибута.
Для L3 Static клиента:
DEFAULT VasExperts-Service-Type == 0, Auth-Type := Accept User-name = "%{User-name}",, VasExperts-L2-User = 1, VasExperts-Policing-Profile = "rate_10M", VasExperts-Enable-Service = "9:on", Framed-IP-Address = "%{Framed-IP-Address}", Framed-IP-Netmask = 255.255.255.0, VasExperts-DHCP-Gateway = "192.168.35.1", VasExperts-DHCP-DNS = "8.8.8.8", VasExperts-DHCP-DNS = "8.8.4.4", VasExperts-Service-Profile = "11:cg-nat", Session-Timeout = 84600
Для DHCP клиента:
DEFAULT VasExperts-Service-Type == 1, Auth-Type := Accept User-name = "%{User-name}", VasExperts-Policing-Profile = "rate_10M", VasExperts-Enable-Service = "9:on", Framed-Pool = "test-pool", VasExperts-Service-Profile = "11:cg-nat", Session-Timeout = 84600
Для PPPoE клиента:
DEFAULT VasExperts-Service-Type >= 2, Auth-Type := Accept User-name = "%{User-name}", VasExperts-Policing-Profile = "rate_10M", VasExperts-Enable-Service = "9:on", Framed-Pool = "test-pool", VasExperts-Service-Profile = "11:cg-nat", Session-Timeout = 84600
Была ли полезна эта информация?