Главная » Статьи » МПС

Настройка FreeRadius с привязкой к MySQL
Устанавливаем 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
 }

Удачной работы!!!
Категория: МПС | Добавил: Andre99 (17.05.2011)
Просмотров: 1267 | Теги: radius | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]