Користувальницькькі налаштування

Налаштування сайту


Сайдбар

Розділи

Загальний опис
Історія змін
Рекомендації до оновлення
Плани на майбутнє
Відомі проблеми
Онлайн демо
Допомога проекту
Люди
Трохи про безпеку

FAQ



Редагувати сайдбар

freeradiusold

Це стара версія документу!


Внимание

Данная реализация является устаревшей, и эта документация может быть использована только для общего развития. Используйте в практической деятельности новую AAA с FreeRADIUS v2.0

Авторизация PPP-пользователей через FreeRADIUS

В версии Ubilling 0.4.6 добавлен модуль добавления RADIUS-атрибутов (AV-пар) для пользователей сети. Так же имеется возможность указать AV-пары отдельным пользователям. В качестве RADIUS-сервера используется FreeRADIUS. И речь пойдет только об установке связи между последним и Ubilling.

Установка FreeRADIUS

Первым делом установим FreeRADIUS из портов с поддержкой MYSQL и USER (указывается в первом окне). Для этого в консоли выполняем:

# cd /usr/ports/net/freeradius2
# make WITH_MYSQL=yes WITH_USER=yes BATCH=yes install clean

После завершения установки добавляем в `/etc/rc.conf` следующую строку:

radiusd_enable="YES"

Далее копируем заготовки конфигурации сервера FreeRADIUS, хранящиеся в директории `docs/freeradius`:

# cd /usr/local/www/apache22/data/billing
# cp -r docs/freeradius/raddb/* /usr/local/etc/raddb/

Редактируем параметры подключения к MySQL, указывая свои логин и пароль в соответствующие поля в файле `/usr/local/etc/raddb/sql.conf`:

sql.conf
# Connection info:
server = "localhost"
port = 3306
login = "root"
password = "password"
 
# Database table configuration for everything except Oracle
radius_db = "stg"

Включаем поддержку FreeRADIUS

Первым делом включаем поддержку FreeRADIUS биллингом, для чего в `config/alter.ini` заменяем значение опции FREERADIUS_ENABLED:

FREERADIUS_ENABLED = 1

Заливаем дамп FreeRADIUS в базу данных

Дамп таблиц FreeRADIUS находится в `docs/freeradius/dump.sql`, следовательно делаем следующее:

# cd /usr/local/www/apache22/data/billing
# mysql -u root -p stg < docs/freeradius/dump.sql

Включение генерации атрибутов для сети

После того, как вы включили поддержку FreeRADIUS Ubilling'ом модуль “Сети и услуги” немного видоизменяется, а именно:

  • В списке существующих сетей появляется “лампочка” показывающая включена ли генерация AV-пар для сети или нет
  • В формах добавления/редактирования появляется возможность включения/отключения генерирования атрибутов для сети

Опираясь на вышесказанное не сложно догадаться как включить генерирование атрибутов для сети…

Указываем атрибуты для сети

Итак, чтобы указать атрибуты для сети жмем на соответствующую иконку в модуле “Сети и услуги” напротив интересующей нас сети и попадаем, вот в такой модуль:

Что же здесь? В модуле есть 2 элемента:

  1. Список уже указанных атрибутов для сети
  2. Форма добавления нового атрибута

Внимание! Атрибуты, добавленные для сети будут автоматически применены для каждого пользователя в этой сети. Это - так называемые “глобальные” атрибуты.

Предположим, что нам нужно серверу NAS отправить атрибуты “Framed-IP-Address”, значение которого, должно соответствовать IP-адресу пользователя и “Framed-IP-Netmask”, который равен “255.255.255.255”. С последним, думаю вопросов нет - в форме “Добавление нового атрибута” вводим в соответствующие поля:

  • Атрибут : Framed-IP-Netmask
  • Оператор: =
  • Значение: 255.255.255.255

Как же поступить с “Framed-IP-Address”, отличающегося у каждого пользователя сети? Для такого случая предлагаются следующие макросы, которые могут быть указаны в поле “Значение” и будут заменены на соответствующее значение ему значение:

Макрос Значение
{IP} IP-адрес пользователя
{MAC} MAC-адрес пользователя
{LOGIN} Логин пользователя
{PASSWORD} Пароль пользователя
{TARIFF} Название тарифа пользователя
{RATE} Скорость пользователя * 1000

Добавление NAS

Файл clients.conf содержит параметры аутентификации сервера NAS на сервере RADIUS. Для того, чтобы добавить RADIUS-клиента (NAS-сервер) с IP-адресом 172.32.1.1 в конец файла добавим следующие строки:

clients.conf
client 172.32.1.1 {
    secret  = be132be7b070
    nastype = other
}

В дальнейшем, параметр secret необходимо будет указать на сервере доступа NAS. Подробнее читайте в инструкциях, прилагаемых к устройству или ПО.

Тестирование

Запускаем радиус в дебаг режиме при помощи

# radiusd -X

Если мы увидели в конце вывода что-то типа

... adding new socket proxy address * port 10049
Listening on authentication address * port 1812
Listening on accounting address * port 1813
Listening on command file /var/run/radiusd/radiusd.sock
Listening on authentication address 127.0.0.1 port 18120 as server inner-tunnel
Listening on proxy address * port 1814
Ready to process requests.

значит скорее всего все хорошо и можно продолжать.

После чего в соседней консольке пробуем авторизацию пользователя при помощи radtest:

# radtest userlogin userpassword 127.0.0.1 0 testing123

Где userlogin и userpassword соответственно валидные логин с паролем существующего пользователя Ubilling из сети “Использующей Radius” настроенной как описано выше. testing123 - собственно shared secret из clients.conf. В случае, если результатом будет что-то типа

root@test93:~ # radtest userlogin userpassword 172.16.0.1 0 testing123
radclient:: Failed to find IP address for test93
radclient: Nothing to send.
root@test93:~ # 

Следует добавить запись для вашего хостнейма в /etc/hosts

# echo "127.0.0.1 test93" >> /etc/hosts

Результатом в идеале должно быть что-то типа

root@test93:~ # radtest 29ap18_730p 1234 172.16.0.1 0 testing123
Sending Access-Request of id 77 to 172.16.0.1 port 1812
	User-Name = "29ap18_730p"
	User-Password = "1234"
	NAS-IP-Address = 127.0.0.1
	NAS-Port = 0
	Message-Authenticator = 0x00000000000000000000000000000000
rad_recv: Access-Accept packet from host 172.16.0.1 port 1812, id=77, length=32
	Framed-IP-Address = 172.17.0.2
	Framed-IP-Netmask = 255.255.255.255
root@test93:~ # 
freeradiusold.1686848538.txt.gz · Востаннє змінено: 2023/06/15 20:02 повз nightfly