Устанавливаем 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
}
Удачной работы!!!
|