Centos 6.x Freeradius & Mysql Kurulumu


RADIUS (Remote Authentication Dial In User Service’in kısaltması) uzaktan başka ağlara erişim sağlayan kullanıcıların AAA (authentication, authorization, accounting) yani kimlik denetimi, yetkilendirme ve hesap verilerinin yönetimlerini yapmak üzere oluşturulmuş bir protokoldür.
FreeRADIUS ise yukarıda bahsettiğimiz RADIUS protokolünün, modüler, özellik açısından zengin ve yüksek performansla çalışan örneklerinden biridir. Açık kaynak kodlu bir yazılım olan FreeRADIUS, çeşitli işletim sistemlerinde çalışabilmektedir (AIX, Cygwin, FreeBSD, HP-UX, Linux, MAC OS-X, NetBSD, OpenBSD, Solaris gibi). Çoklu AAA sunucuları ile milyonlarca kullanıcıya hizmet veren geniş ölçekli uygulamaları da mevcuttur.Sunucu LDAP (Lightweight Directory Access Protocol), SQL(Structured Query Language) ve diğer veritabanlarını desteklemektedir.
Şimdi birlikte Freeradius Sunucusunun Mysql destekli yapılandırmasını inceleyelim.
Öncelikle EPEL deposunu ekliyoruz
#wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
#wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
#sudo rpm -Uvh remi-release-6*.rpm epel-release-6*.rpm
Freeradius paketlerini yüklüyoruz
#yum install freeradius.x86_64 freeradius-utils.x86_64 freeradius-mysql.x86_64
Mysql server yüklüyoruz
#yum install mysql-server
Radius sunucumuzu çalıştırıyoruz
#service radiusd start
Starting radiusd:                               [  OK  ]
( failed hatası veriyorsa kurulumda hata var demektir)
Mysql sunucumuzu çalıştırıyoruz.
#service mysqld start
Starting mysqld:                               [  OK  ]
/etc/raddb/users dosyasını açıp tamamen siliyoruz, içeriğini aşağıdaki gibi yazıp kaydediyoruz.
abc     Cleartext-Password := "123"
radius servisini yeniden başlatıyoruz
#service radiusd restart

Stopping radiusd:                                          [  OK  ]

Starting radiusd:                                          [  OK  ]

radtest ile testimizi yapıyoruz (burada henüz users dosyasında test yaptık)
# radtest abc 123 localhost 1812 testing123
Sending Access-Request of id 149 to 127.0.0.1 port 1812
        User-Name = "abc"
        User-Password = "123"
        NAS-IP-Address = 208.67.219.132
        NAS-Port = 1812
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=149, length=20
Access-Accept mesajımızı aldığımıza göre mysql veri tabanımızı oluşturabiliriz
Öncelikle veri tabanımıza user atayalım ve tablolarımızı oluşturalım
# mysqladmin -u root password 123456
# mysql -u root -p (şifre:123456)
mysql> CREATE DATABASE radius;
mysql> exit;
Mysql schema dosyasını yüklüyoruz
#mysql -u root -p radius < /etc/raddb/sql/mysql/schema.sql
Şimdi tabloları kontrol edelim
# mysql -u root -p

mysql> use radius

mysql> show tables
/etc/freeradius/radiusd.conf dosyasını açıp aşağıdaki satırı bulup önündeki # işaretini kaldırıyoruz
$INCLUDE sql.conf
/etc/freeradius/sites-available/default dosyasını açıp aşağıdaki şekilde “sql” yazan kısımların önündeki # işretlerini kaldırıyoruz
authorize {

    …

    sql

    …

}


accounting {

    …

    sql

    …

}


session {

    …

    sql

    …

}


post-auth {

    …

    sql

    …

}
şimdide bir kullanıcı ekleyelim
# mysql -u root -p
mysql> INSERT INTO radcheck (username,attribute,op,value) VALUES(‘test’,’Cleartext-mysql> Password’,’:=’,’1234′);
son testimizi yapalım
# radtest test 1234 localhost 1812 testing123
Bu komuta Access-Accept cevabını aldıysanız mysql ve radius bağlantısını başarıyla gerçekleştirmişsiniz demektir.

Yorumlar