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

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


Сайдбар

Розділи

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

FAQ



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

gnuradius

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


Установка и настройка GNU-Radius в связке с stargazer


Внимание

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



Базовая конфигурация

1. Итак приступим к установке

# fetch ftp://ftp.gnu.org/gnu/radius/radius-1.6.1.tar.gz
# tar zxvf radius-1.6.1.tar.gz
# cd radius-1.6.1
# ./configure --enable-client --with-mysql
# make
# make install
# cp -R  raddb/* /usr/local/etc/raddb/

2. Настройка

# vim /usr/local/etc/raddb/sqlserver

вставляем настройки нашей базы

interface mysql
server localhost
port 3306
login root
password newpassword
keepopen yes
idle_timeout 14400
doauth yes
auth_db stg
auth_query  SELECT encrypt(`password`) \
          FROM users \
          WHERE login='%u'
check_attr_query  SELECT attr,value \
                    FROM radattr \
                    WHERE login='%u'
reply_attr_query  SELECT attr,value \
                    FROM radattr \
                    WHERE login='%u'
doacct no

# vim /usr/local/etc/raddb/clients

Описываем место откуда будут приходить запросы на авторизацию

192.168.56.0/24        cisco

#vim /usr/local/etc/raddb/users

Описываем схему авторизации

DEFAULT Auth-Type = SQL,
              Simultaneous-Use = 1
      Service-Type = Framed-User,
              Framed-Protocol = PPP

Прописываемся в rc.conf

# echo 'radiusd_enable="YES"' >> /etc/rc.conf

Создаем правильный view для нашей структуры (Допустим при помощи SQL-консоли Ubilling):

CREATE VIEW radattr (login,attr,value) AS SELECT users.login,'Framed-IP-Address',users.IP from `users`

Запускаемся

#/usr/local/etc/rc.d/radiusd start

Проверяем все ли хорошо

# radauth -v  user_login user_password
...
radtest: debug: client.c:326:grad_client_send0: sending request (timeout=3, retries=1)
radtest: debug: client.c:140:grad_client_recv: received Access-Accept
radtest: debug: radpdu.c:400:grad_decode_pdu: allocated radreq: 0x28423180
radtest: debug: radpdu.c:415:grad_decode_pdu: Access-Accept from 127.0.0.1, id=17, length=32
radtest: debug: recv: Service-Type = (INTEGER) Framed-User
radtest: debug: recv: Framed-Protocol = (INTEGER) PPP
Authentication passed. 

Если требуется чтобы пользователи с отрицательным балансом вобще не могли пройти авторизацию auth_query должен иметь вид

auth_query  SELECT encrypt(`password`) \
          FROM users \
          WHERE login='%u' AND `Cash`>=`Credit`
gnuradius.1664019551.txt.gz · Востаннє змінено: 2022/09/24 14:39 повз 127.0.0.1