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

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


freeradiusold

Розбіжності

Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.

Посилання на цей список змін

Наступна ревізія
Попередня ревізія
freeradiusold [2022/09/24 14:39]
127.0.0.1 зовнішнє редагування
— (поточний)
Рядок 1: Рядок 1:
-====== Внимание ====== 
-Данная реализация является устаревшей, и эта документация может быть использована только для общего развития. Используйте в практической деятельности новую [[freeradius|AAA с FreeRADIUS v2.0]] 
-{{:alertold.png? |}} 
  
-====== Авторизация PPP-пользователей через FreeRADIUS ====== 
-В версии Ubilling 0.4.6 добавлен модуль добавления RADIUS-атрибутов (AV-пар) для пользователей сети. Так же имеется возможность указать AV-пары отдельным пользователям. В качестве RADIUS-сервера используется FreeRADIUS. И речь пойдет только об установке связи между последним и Ubilling. 
- 
-===== Установка FreeRADIUS ===== 
-Первым делом установим FreeRADIUS из портов с поддержкой //MYSQL// и //USER// //(указывается в первом окне)//. Для этого в консоли выполняем: 
-<code> 
-# cd /usr/ports/net/freeradius2 
-# make WITH_MYSQL=yes WITH_USER=yes BATCH=yes install clean 
-</code> 
- 
-После завершения установки добавляем в `///etc/rc.conf//` следующую строку: 
-<code> 
-radiusd_enable="YES" 
-</code> 
- 
-Далее копируем заготовки конфигурации сервера FreeRADIUS, хранящиеся в директории `//docs/freeradius//`: 
-<code> 
-# cd /usr/local/www/apache22/data/billing 
-# cp -r docs/freeradius/raddb/* /usr/local/etc/raddb/ 
-</code> 
- 
-Редактируем параметры подключения к MySQL, указывая свои логин и пароль в соответствующие поля в файле `///usr/local/etc/raddb/sql.conf//`: 
-<file none sql.conf> 
-# Connection info: 
-server = "localhost" 
-port = 3306 
-login = "root" 
-password = "password" 
- 
-# Database table configuration for everything except Oracle 
-radius_db = "stg" 
-</file> 
- 
-===== Включаем поддержку FreeRADIUS ==== 
-Первым делом включаем поддержку FreeRADIUS биллингом, для чего в `config/alter.ini` заменяем значение опции //FREERADIUS_ENABLED//: 
-<code ini> 
-FREERADIUS_ENABLED = 1 
-</code> 
- 
-===== Заливаем дамп FreeRADIUS в базу данных ===== 
-Дамп таблиц FreeRADIUS находится в `docs/freeradius/dump.sql`, следовательно делаем следующее: 
-<code> 
-# cd /usr/local/www/apache22/data/billing 
-# mysql -u root -p stg < docs/freeradius/dump.sql 
-</code> 
- 
-===== Включение генерации атрибутов для сети ===== 
-После того, как вы включили поддержку FreeRADIUS Ubilling'ом модуль "Сети и услуги" немного видоизменяется, а именно: 
-  * В списке существующих сетей появляется "лампочка" показывающая включена ли генерация AV-пар для сети или нет 
-  * В формах добавления/редактирования появляется возможность включения/отключения генерирования атрибутов для сети 
- 
-Опираясь на вышесказанное не сложно догадаться как включить генерирование атрибутов для сети... 
- 
-===== Указываем атрибуты для сети ===== 
-Итак, чтобы указать атрибуты для сети жмем на соответствующую иконку в модуле "Сети и услуги" напротив интересующей нас сети и попадаем, вот в такой модуль: 
- 
-{{ :freeradius_module_general_view_1.png?&400}} 
- 
-Что же здесь? В модуле есть 2 элемента: 
-  - Список уже указанных атрибутов для сети 
-  - Форма добавления нового атрибута 
- 
-__//**Внимание!**//__ Атрибуты, добавленные для сети будут автоматически применены для каждого пользователя в этой сети. Это - так называемые "глобальные" атрибуты.  
- 
-Предположим, что нам нужно серверу NAS отправить атрибуты //"Framed-IP-Address"//, значение которого, должно соответствовать IP-адресу пользователя и //"Framed-IP-Netmask"//, который равен //"255.255.255.255"//. 
-С последним, думаю вопросов нет - в форме "Добавление нового атрибута" вводим в соответствующие поля: 
-  * **//Атрибут//** : Framed-IP-Netmask 
-  * **//Оператор//**: = 
-  * **//Значение//**: 255.255.255.255 
- 
-Как же поступить с //"Framed-IP-Address"//, отличающегося у каждого пользователя сети? Для такого случая предлагаются [[http://wiki.ubilling.net.ua/doku.php?id=templating#freeradius|следующие макросы]], которые могут быть указаны в поле **//"Значение"//** и будут заменены на соответствующее значение ему значение: 
-^ Макрос         ^ Значение ^ 
-|{IP}            | IP-адрес пользователя           | 
-|{MAC}           | MAC-адрес пользователя          | 
-|{LOGIN}         | Логин пользователя              | 
-|{PASSWORD}      | Пароль пользователя             | 
-|{TARIFF}        | Название тарифа пользователя    | 
-|{RATE}          | Скорость пользователя * 1000    | 
- 
-===== Добавление NAS ===== 
-Файл //clients.conf// содержит параметры аутентификации сервера NAS на сервере RADIUS. Для того, чтобы добавить RADIUS-клиента (NAS-сервер) с IP-адресом //172.32.1.1// в конец файла добавим следующие строки: 
-<file - clients.conf> 
-client 172.32.1.1 { 
-    secret  = be132be7b070 
-    nastype = other 
-} 
-</file> 
-В дальнейшем, параметр //secret// необходимо будет указать на сервере доступа NAS. Подробнее читайте в инструкциях, прилагаемых к устройству или ПО. 
- 
-===== Тестирование ===== 
- 
-Запускаем радиус в дебаг режиме при помощи 
-  # 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 /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. 
-</code> 
- 
-значит скорее всего все хорошо и можно продолжать. 
-   
-После чего в соседней консольке пробуем авторизацию пользователя при помощи radtest: 
- 
-  # radtest userlogin userpassword 127.0.0.1 0 testing123 
- 
-Где userlogin и userpassword соответственно валидные логин с паролем существующего пользователя Ubilling из сети "Использующей Radius" настроенной как описано выше. testing123 - собственно shared secret из clients.conf. 
-В случае, если результатом будет что-то типа  
- 
-<code> 
-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:~ #  
-</code> 
- 
-Следует добавить запись для вашего хостнейма в **/etc/hosts** 
-  # echo "127.0.0.1 test93" >> /etc/hosts 
-   
-Результатом в идеале должно быть что-то типа  
- 
-<code bash>   
-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:~ #  
-</code> 
freeradiusold.1664019551.txt.gz · Востаннє змінено: 2022/09/24 14:39 повз 127.0.0.1