Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.
| Порівняння попередніх версій Попередня ревізія | |||
|
freeradiusold [2023/06/15 20:02] nightfly знищено |
— (поточний) | ||
|---|---|---|---|
| Рядок 1: | Рядок 1: | ||
| - | ====== Внимание ====== | ||
| - | Данная реализация является устаревшей, | ||
| - | {{: | ||
| - | ====== Авторизация PPP-пользователей через FreeRADIUS ====== | ||
| - | В версии Ubilling 0.4.6 добавлен модуль добавления RADIUS-атрибутов (AV-пар) для пользователей сети. Так же имеется возможность указать AV-пары отдельным пользователям. В качестве RADIUS-сервера используется FreeRADIUS. И речь пойдет только об установке связи между последним и Ubilling. | ||
| - | |||
| - | ===== Установка FreeRADIUS ===== | ||
| - | Первым делом установим FreeRADIUS из портов с поддержкой //MYSQL// и //USER// // | ||
| - | < | ||
| - | # cd / | ||
| - | # make WITH_MYSQL=yes WITH_USER=yes BATCH=yes install clean | ||
| - | </ | ||
| - | |||
| - | После завершения установки добавляем в `/// | ||
| - | < | ||
| - | radiusd_enable=" | ||
| - | </ | ||
| - | |||
| - | Далее копируем заготовки конфигурации сервера FreeRADIUS, хранящиеся в директории `// | ||
| - | < | ||
| - | # cd / | ||
| - | # cp -r docs/ | ||
| - | </ | ||
| - | |||
| - | Редактируем параметры подключения к MySQL, указывая свои логин и пароль в соответствующие поля в файле `/// | ||
| - | <file none sql.conf> | ||
| - | # Connection info: | ||
| - | server = " | ||
| - | port = 3306 | ||
| - | login = " | ||
| - | password = " | ||
| - | |||
| - | # Database table configuration for everything except Oracle | ||
| - | radius_db = " | ||
| - | </ | ||
| - | |||
| - | ===== Включаем поддержку FreeRADIUS ==== | ||
| - | Первым делом включаем поддержку FreeRADIUS биллингом, | ||
| - | <code ini> | ||
| - | FREERADIUS_ENABLED = 1 | ||
| - | </ | ||
| - | |||
| - | ===== Заливаем дамп FreeRADIUS в базу данных ===== | ||
| - | Дамп таблиц FreeRADIUS находится в `docs/ | ||
| - | < | ||
| - | # cd / | ||
| - | # mysql -u root -p stg < docs/ | ||
| - | </ | ||
| - | |||
| - | ===== Включение генерации атрибутов для сети ===== | ||
| - | После того, как вы включили поддержку FreeRADIUS Ubilling' | ||
| - | * В списке существующих сетей появляется " | ||
| - | * В формах добавления/ | ||
| - | |||
| - | Опираясь на вышесказанное не сложно догадаться как включить генерирование атрибутов для сети... | ||
| - | |||
| - | ===== Указываем атрибуты для сети ===== | ||
| - | Итак, чтобы указать атрибуты для сети жмем на соответствующую иконку в модуле " | ||
| - | |||
| - | {{ : | ||
| - | |||
| - | Что же здесь? В модуле есть 2 элемента: | ||
| - | - Список уже указанных атрибутов для сети | ||
| - | - Форма добавления нового атрибута | ||
| - | |||
| - | __// | ||
| - | |||
| - | Предположим, | ||
| - | С последним, | ||
| - | * **// | ||
| - | * **// | ||
| - | * **// | ||
| - | |||
| - | Как же поступить с //" | ||
| - | ^ Макрос | ||
| - | |{IP} | IP-адрес пользователя | ||
| - | |{MAC} | ||
| - | |{LOGIN} | ||
| - | |{PASSWORD} | ||
| - | |{TARIFF} | ||
| - | |{RATE} | ||
| - | |||
| - | ===== Добавление NAS ===== | ||
| - | Файл // | ||
| - | <file - clients.conf> | ||
| - | client 172.32.1.1 { | ||
| - | secret | ||
| - | nastype = other | ||
| - | } | ||
| - | </ | ||
| - | В дальнейшем, | ||
| - | |||
| - | ===== Тестирование ===== | ||
| - | |||
| - | Запускаем радиус в дебаг режиме при помощи | ||
| - | # radiusd -X | ||
| - | |||
| - | Если мы увидели в конце вывода что-то типа | ||
| - | <code bash> | ||
| - | ... adding new socket proxy address * port 10049 | ||
| - | Listening on authentication address * port 1812 | ||
| - | Listening on accounting address * port 1813 | ||
| - | Listening on command file / | ||
| - | 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 из сети " | ||
| - | В случае, | ||
| - | |||
| - | < | ||
| - | root@test93: | ||
| - | radclient:: Failed to find IP address for test93 | ||
| - | radclient: Nothing to send. | ||
| - | root@test93: | ||
| - | </ | ||
| - | |||
| - | Следует добавить запись для вашего хостнейма в **/ | ||
| - | # echo " | ||
| - | | ||
| - | Результатом в идеале должно быть что-то типа | ||
| - | |||
| - | <code bash> | ||
| - | root@test93: | ||
| - | Sending Access-Request of id 77 to 172.16.0.1 port 1812 | ||
| - | User-Name = " | ||
| - | User-Password = " | ||
| - | 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: | ||
| - | </ | ||