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

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


gnuradius

Розбіжності

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

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

Порівняння попередніх версій Попередня ревізія
Наступна ревізія По сторонах наступні версії
gnuradius [2015/03/09 04:26]
gnuradius [2022/09/24 14:39]
127.0.0.1 зовнішнє редагування
Рядок 1: Рядок 1:
 +====== Установка и настройка GNU-Radius в связке с stargazer ======
 +\\
 +====== Внимание ======
 +Данная реализация является устаревшей с релиза 0.4.6, и эта документация может быть использована только для общего развития. Используйте в своей практической деятельности новый и очень крутой [[multigen|КучаГен]]
  
 +{{:alertold.png? |}}
 +\\
 +\\
 +====== Базовая конфигурация ======
 +
 +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`