The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги | ]

Настройка FreeRadius с привязкой к MySQL
Рассмотрим как настроить радиус-сервер с привязкой к базе данных в MySQL на
примере CentOS, FreeRadius и MySQL.

Сейчас очень многие устрйства поддерживают работу через Radius, например точки доступа Wi-Fi.

Устанавливаем MySQL, если он конечно у Вас уже не стоит

   yum install mysql mysql-devel mysql-server

   chkconfig --levels 235 mysqld on
   /etc/init.d/mysqld start

   netstat -tap | grep mysql

получаем:

   netstat -tap | grep mysql

   tcp        0      0 *:mysql *:*  LISTEN      2793/mysqld

установим пароль для пользователя root для MySQL:

   mysqladmin -u root password 123456

Устанавливаем FreeRadius

   yum install freeradius freeradius-mysql

Правим файл /etc/raddb/users, добавляем:

   shad  Auth-Type := Local, User-Password == "test"
   Service-Type = Framed-User,
   Framed-Protocol = PPP,
   Framed-IP-Address = 192.168.0.7,
   Framed-IP-Netmask = 255.255.255.0,

правим /etc/raddb/clients.conf
раздел client 127.0.0.1 должен выглядеть вот так:

   client 127.0.0.1 {
     secret      = 123
     shortname   = localhost
     nastype     = other
   }

проверяем:

   radiusd -X

на другой консоли

   radtest shad test localhost 1812 123

получаем:

   Sending Access-Request of id 35 to 127.0.0.1 port 1812
   User-Name = "shad"
   User-Password = "test"
   NAS-IP-Address = 255.255.255.255
   NAS-Port = 1812
   rad_recv: Access-Accept packet from host 127.0.0.1:1812, id=35, length=44
   Service-Type = Framed-User
   Framed-Protocol = PPP 
   Framed-IP-Address = 192.168.0.7
   Framed-IP-Netmask = 255.255.255.0

Радиус работает и отвечает

перейдем к настройкам MySQL

   mysql -u root -p
   mysql>CREATE DATABASE radius;
   mysql>GRANT ALL ON radius.* TO radius@localhost IDENTIFIED BY "123";
   mysql>\q

   mysql -u root -p radius </usr/share/doc/freeradius-1.1.3/examples/mysql.sql

проверяем:

   mysql -u root -p
   mysql>use database radius;
   mysql>show tables;
   mysql>\q

правим /etc/raddb/sql.conf, раскомментируем

   readclients = yes

правим /etc/raddb/radiusd.conf
в секциях authorize{}, authorize{}, session{}, post-auth{} раскомментируем

   sql

получиться примерно так:

   authorize {
      preprocess
      chap
      mschap
      suffix
      eap
      sql
      pap
   }

Заполним базу в MySQL:

   mysql -u root -p
   mysql> use database radius;
   mysql> INSERT INTO radcheck (UserName, Attribute, Value) VALUES ('testsql', 'Password', 'test123');

проверяем:

   mysql> select * from radcheck where UserName='testsql';
   mysql>\q

правим /etc/raddb/sql.conf
выставляем правильные значения:

   server = "localhost"
   login = "radius"
   password = "123"
   radius_db = "radius"

в файле /etc/raddb/users комментируем строки

   #DEFAULT        Auth-Type = System
   #       Fall-Through = 1

запускаем radiusd -X
на другой консоли

   radtest testsql test123 localhost 1812 123

если получили Access-Accept, то всё в порядке, связка FreeRadius+MySQL работает, 
теперь можете заполнять таблицы DB нужными значениями и использовать в своих
устройствах авторизации
через ваш радиус, для этого IP устройства надо добавить в /etc/raddb/clients.conf, примерно так:

   client 192.168.0.55 {
      secret          = MysUp3rseCr3t
      shortname       = my_device_name 
      nastype     = other
   }

Удачной работы!!!
 
27.07.2009 , Автор: shadow_alone , Источник: http://wiki.dodex.org/?p=549...
Ключи: auth, radius, mysql / Лицензия: CC-BY
Раздел:    Корень / Администратору / Сетевые сервисы / Прокси сервер Squid / ACL, ограничения трафика и пользователей

Обсуждение [ Линейный режим | Показать все | RSS ]
 
  • 1.1, chesnok (ok), 23:50, 27/07/2009 [ответить] [показать ветку] [···]    [к модератору]
  • +/
    бесполезная статья, на офицальном сайте проекта freeradius достаточно материалов и примеров.
    Конечно, статья это труд, время, но автор лишь демонстрирует поверхностные представления о работе сервиса ААА, таких статей и how-to более чем предостаточно, администратору/инженеру в большей степени интересны более редкостные особенности конфигурации нежели описывание установки, мне например не понятно зачем приводить команды для пакетного манеджера ОС, если речь в статье идет о конфигурации RADIUS и хранилища MySQL, ведь можно предположить, что читающий вероятно всеже знаком с базовыми функциями работы ОС и способен установить необходимое ПО самостоятельно...
     
     
  • 2.2, mma (?), 06:21, 28/07/2009 [^] [ответить]     [к модератору]
  • +/
    впринципе ты прав, но у подобных заметок есть свое назначение - показать человек... весь текст скрыт [показать]
     
     
  • 3.3, abigor (?), 08:11, 28/07/2009 [^] [ответить]     [к модератору]  
  • +/
    А при чем тут зашитые в моск знания, для примера Вот это зачем Зачем это пихат... весь текст скрыт [показать]
     
  • 2.36, Кирилл (??), 13:00, 05/08/2009 [^] [ответить]     [к модератору]  
  • +/
    Платформе нужны свои популяризаторы Подобные статьи как раз и заполняют эту ниш... весь текст скрыт [показать]
     
  • 1.4, shadow_alone (ok), 10:59, 28/07/2009 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Статья была написана как раз для того чтоб дать начальные понятия. Это заметка совсем не для гуру.
    И я надеюсь, что статья все-таки найдет своего читателя.
     
     
  • 2.10, Аноним (-), 18:56, 28/07/2009 [^] [ответить]    [к модератору]  
  • +/
    начальные понятия новичкам? Хммм, хорошо!
    А что такое yum? Почему-то когда я набираю эту команду, мне система пишет что такого не знает ...
     
     
  • 3.15, shadow_alone (ok), 19:58, 28/07/2009 [^] [ответить]     [к модератору]  
  • +/
    потому что у Вас не всё с головой в порядке если б внимательно почитали, поняли... весь текст скрыт [показать]
     
     
  • 4.17, Аноним (-), 00:34, 29/07/2009 [^] [ответить]     [к модератору]  
  • +/
    бинго Вот автор и слился у читателя его статьи не всё с головой в порядке... весь текст скрыт [показать]
     
     
  • 5.20, shadow_alone (ok), 00:58, 29/07/2009 [^] [ответить]    [к модератору]  
  • +/
    видать и с глазами не очень :(
    [code]
    на примере CentOS, FreeRadius и MySQL.
    [/code]
     
     
  • 6.24, Аноним (-), 10:26, 29/07/2009 [^] [ответить]    [к модератору]  
  • +/
    >видать и с глазами не очень :(
    >[code]
    >на примере CentOS, FreeRadius и MySQL.
    >[/code]

    да да да! У всех критиков проблемы с головой, глазами и вообще. Один ты д'Артаньян :)

     
  • 4.39, Alexandr (??), 21:32, 20/03/2010 [^] [ответить]    [к модератору]  
  • +/
    Отличная статья.
    даетпо верхностное представление о продукте.
    мне нужен был пример простой конфигшурации, неотягощенной наворотами.
    автору спасибо
     
  • 1.5, Leshka_indi (?), 15:21, 28/07/2009 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    А под заведение пользователей в базу радиуса можно использовать какой-то готовый веб-интерфейс? Чисто вбивать руками в базу - уже не по фэншую как то.
     
     
  • 2.6, shadow_alone (ok), 15:26, 28/07/2009 [^] [ответить]    [к модератору]  
  • +/
    daloradius
     
  • 2.12, shadow_alone (ok), 19:50, 28/07/2009 [^] [ответить]    [к модератору]  
  • +/
    >бесполезная статья, такого в инете валом !!!
    >Разви что для новичка чото полезным будет.
    >Как с меня копи паст

    ну так дайте ссылку на Ваше.

     
     
  • 3.37, Саша (??), 16:58, 26/08/2009 [^] [ответить]     [к модератору]  
  • +/
    1 зачем было этот мой пост удалять Твой совет с советами ничего общего не имее... весь текст скрыт [показать]
     
  • 2.13, shadow_alone (ok), 19:52, 28/07/2009 [^] [ответить]     [к модератору]  
  • +/
    http www google az search q freeradius mysql ie utf-8 oe utf-8 aq t rls com ub... весь текст скрыт [показать]
     
     
  • 3.21, abigor (?), 08:30, 29/07/2009 [^] [ответить]    [к модератору]  
  • +/
    Почему же. Мое нашлось, вторая ссылка сверху :)
    ---------
    Правда это не я говорил про копи паст
     
  • 2.16, shadow_alone (ok), 20:02, 28/07/2009 [^] [ответить]     [к модератору]  
  • +/
    вот один из твоих комментов code А когда я скачиваю postgresql-8 2 4-6 1C src... весь текст скрыт [показать]
     
     
  • 3.38, Саша (??), 16:55, 01/09/2009 [^] [ответить]     [к модератору]  
  • +/
    gt оверквотинг удален я ещё больше ржал так как это не моё ... весь текст скрыт [показать]
     
  • 1.8, Саша (??), 16:32, 28/07/2009 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Хотя новичку в самый раз я б сказал.
    Тока тогда название статьи нада поменять на чото типа "FreeRadius и MySQL для новичка".
     
  • 1.9, Filosof (?), 18:28, 28/07/2009 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Вот я полный ламер в этом вопросе. Думаю этим вопросом занятся. Такую инструкцию я скорее всего написал бы, если бы у меня всё получилось.
    Товарищи прошаренные, укажите пожалуйста чего тут не хватает, а что - не так. Ибо я как начинающий мож завтра начну по этой интрукции реализовывать, а если что не пойдёт - могу узнать только что это -"бесполезная статья". Мож тут какая специфика есть?
     
     
     
    Часть нити удалена модератором

  • 3.14, shadow_alone (ok), 19:57, 28/07/2009 [^] [ответить]    [к модератору]  
  • +/
    Самое интересное, что из зарегистрированных отписавшихся, 90%, пишут, просто потому что пишут - ибо достаточно посмотреть их комменты в других постах.
    Ни чего дельного, не вижу конкретной критики.
     
     
  • 4.22, abigor (?), 08:35, 29/07/2009 [^] [ответить]     [к модератору]  
  • +/
    НУ, давайте начнем с малого вы каждый раз при загрузке будите запускать ради... весь текст скрыт [показать]
     
     
  • 5.25, shadow_alone (ok), 13:05, 29/07/2009 [^] [ответить]    [к модератору]  
  • +/
    В линуксе, в отличии от BSD, он запускается сервисом, а запускаем ручками с параметром -X для отладки, чтоб прям в консоли видеть сообщения.
     
     
  • 6.26, abigor (?), 15:59, 29/07/2009 [^] [ответить]    [к модератору]  
  • +/
    А я про что и говорю. Что необходимо добавить как сделать автозагрузку, это же не сводится к простому добавления строки к текстовому файлу. И добавить уточнение что мы сейчас (в данный момент) запускаем радиус с ключом полного дебага для отладки нашей настройки и проверки работы.
     
     
  • 7.27, shadow_alone (ok), 16:48, 29/07/2009 [^] [ответить]    [к модератору]  
  • +/
    добавить в автозагрузку
    # chkconfig --level 235 radiusd on

    возможно правда на Вашей стороне, не спорю.

     
     
  • 8.28, abigor (?), 18:29, 29/07/2009 [^] [ответить]    [к модератору]  
  • +/
    Поправить в самой статье ляп
    >правим /etc/raddb/radiusd.conf
    >в секциях authorize{}, authorize{}, session{}, post-auth{} раскомментируем

    Видать имелось в виду
    >authorize{},authenticate {}

    -----------
    dj поводу создания пользователя от которого работает сервер радиуса с sql. Опять же. Если мы говорим про статью для новичков. Надо их с младенчества приучать к нормальному стремлению к безопасности. НЕ следует ему давать Grant all если в таком нету необходимости. Там в большей части надо только select, всего на несколько таблиц надо insert и update
    -----------
    Так же все же рекомендую указать полные версии продуктов. ОС вы указали, а вот версию mysql нет, и где-то в середине можно сделать вывод, что версия FreeRadius-1.1.3 то есть по сути раритет. На данный момент актуальная версия 1.1.7. Это просто как уточнение. Так как проект все же развивается. И в конфигурационные файлы вносятся изменения. Что бы начинающему человеку было понятно на чем это делается. Чтоб не задавался вопрос по чему у меня такого файла нету в системе.

     
     
  • 9.29, shadow_alone (ok), 19:13, 29/07/2009 [^] [ответить]    [к модератору]  
  • +/
    на данный момент и 1.1.7 раритет, смотрите в сторону двойки, НО... писалось о том что сейчас в репозитарии CentOS.
    Еще раз говорю, речь идет о конкретном дистрбюдиве, ибо даже в Дебиан уже файлы настройки имеют другое расположение.
     
     
  • 10.30, abigor (?), 21:59, 29/07/2009 [^] [ответить]    [к модератору]  
  • +/
    ну, про 1.1.7 я не соглашусь, что это раритет. Но 1.1.3 это точно. про ОС я сказал что вы ее упоминали, а вот про версии остального софта нет. Про 2.x версию знаем, и успешно использует. :)
    -------------
    Вы видать в попыхах не дочитали до конца мой пост.
     
  • 9.31, shadow_alone (ok), 23:33, 29/07/2009 [^] [ответить]     [к модератору]  
  • +/
    да , действительно оЧепятка, имелось ввиду authorize ,accounting , session , ... весь текст скрыт [показать]
     
     
  • 10.32, abigor (?), 07:45, 30/07/2009 [^] [ответить]     [к модератору]  
  • +/
    Не подходите к моим комментариям так жестко Я сам столкнулся с такой проблемой,... весь текст скрыт [показать]
     
     
  • 11.33, abigor (?), 07:47, 30/07/2009 [^] [ответить]    [к модератору]  
  • +/
    А по поводу комментариев. Я сам люблю жесткую критику в свою сторону. :) А возгласы, что это ни кому не надо или зачем оно если есть вот это пропускаю мимо ушей. Пример со статьей по настройке qmail из портов расставил все точки над i
     
     
  • 12.42, alex (??), 12:55, 01/05/2013 [^] [ответить]    [к модератору]  
  • +/
    ответте пожалуста - пишу диплом на тему freeradius  мне не понятно следуещее:
    при правке файла users
    не понятно - 192.168.0.7 - это чей айпишник ?
    сервера где установлен фри радиус ?
    каммутатора ? к которому подключен фри радиус сервер ?
    или клиентской машины которая пытается получить аккаунтинг у фри радиуса сервера?


    127.0.0.1 - и этот тоже чей ? локал хостовский может быть63

     
  • 6.34, абырвал (?), 11:42, 30/07/2009 [^] [ответить]    [к модератору]  
  • +/
    >В линуксе, в отличии от BSD, он запускается сервисом, а запускаем ручками
    >с параметром -X для отладки, чтоб прям в консоли видеть сообщения.
    >

    FreeBSD:

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

    Все, дальше стартует демоном на загрузке системы. А статья - говно, и хороший пример, как делать нельзя.

    Значительно больше лулзов можно почерпнуть с abills.net.ua и его форума. Ну, и не забываем сайт фрирадиуса, over 9000 примеров.

     
  • 1.35, abigor (?), 10:34, 31/07/2009 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Оставляем HollyWar и прозимуем наш профессиональный праздник!
     
     
  • 2.40, TrEK (ok), 11:27, 17/04/2013 [^] [ответить]    [к модератору]  
  • +/
    флуд-детекнш
     
  • 1.41, alex (??), 12:50, 01/05/2013 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    прпи правке файла users
    не понятно - 192.168.0.7 - это чей айпишник ?
    сервера где установлен фри радиус ?
    каммутатора ? к которому подключен сервер ?
    или клиентской машины которая пытается получить аккаунтинг ?
     
     
  • 2.43, shadow_alone (ok), 12:57, 01/05/2013 [^] [ответить]    [к модератору]  
  • +/
    > прпи правке файла users
    > не понятно - 192.168.0.7 - это чей айпишник ?
    > сервера где установлен фри радиус ?
    > каммутатора ? к которому подключен сервер ?
    > или клиентской машины которая пытается получить аккаунтинг ?

    ну совсем ппц... IP-шник который будет получен клиентом.

     
  • 1.44, alex (??), 23:05, 06/05/2013 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    спасибо что ответили
    еще вопрос - на каком дистрибутиве это все настраивали ?
    на ubuntu 12.04 i386 - это не работает
    и я так понял после этого прописываеш на роутере ip адрес радиус сервера + секрет и можно получать авторизацию для выхода в иннет ?
    с бд неразобрался как это и в какой последовательности надо вводить-
      mysql -u root -p radius </usr/share/doc/freeradius-1.1.3/examples/mysql.sql


     
  • 1.45, alex (??), 01:54, 07/05/2013 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    дошел до -проверяем:
    radiusd -X
    на другой консоли
    radtest shad test localhost 1812 123
    кстати входить в режим отладки отказывался войти писал- /etc/freeradius/radiusd.conf[240]: Error binding to port for 0.0.0.0 port 1812
    после команды /etc/init.d/freeradius stop
    а затем radiusd -X вроде вошел ,написал-
    Listening on authentication address * port 1812
    Listening on accounting address * port 1813
    Listening on authentication address 127.0.0.1 port 18120 as server inner-tunnel
    Listening on proxy address * port 1814
    Ready to process requests.
    нажал cntr+alt+t вызвал другой терминал -там написал- radtest shad test localhost 1812 123
    а в ответ получил -
    Sending Access-Request of id 28 to 127.0.0.1 port 1812
    User-Name = "shad"
    User-Password = "test"
    NAS-IP-Address = 127.0.1.1
    NAS-Port = 1812
    rad_recv: Access-Reject packet from host 127.0.0.1 port 1812, id=28, length=20
    root@alex-desktop:~#
    не хватает вот этих строк-
      Service-Type = Framed-User
       Framed-Protocol = PPP
       Framed-IP-Address = 192.168.0.7
       Framed-IP-Netmask = 255.255.255.0
    все делал по вашей инструкции может вы ошиблись гдето ?


     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:



      Закладки на сайте
      Проследить за страницей
    Created 1996-2018 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor