FreeRadius'un SQL Kullanması İçin Yapılandırılması

Tercihinize göre /etc/raddb/sql.conf veya /etc/raddb/postgresql.conf dosyalarından birini düzenleyerek SQL sunucunuzun adresini, RADIUS veritabanına bağlanmak için gerekli kullanıcı adı ve parolayı girin. Eğer öntanımlı şemayı kullandıysanız veritabanı ve tablo ismlerini olduğu gibi bırakmalısınız. Deneme ve hata ayıklama için isterseniz sqltrace seçeneğini aktif hale getirebilirsiniz. Bu durumda FreeRadius tüm SQL komutlarını hata ayıklamak için çıktı olarak verecektir.

Eğer PostgreSQL kullanıyorsanız /etc/raddb/radiusd.conf dosyasındaki:

$INCLUDE  ${confdir}/sql.conf

satırını aşağıdaki gibi değiştirin

$INCLUDE  ${confdir}/postgresql.conf

Ben alt satırdaki User-Name'i içeren satırı da silmiştim. Eğer burada ne olup bittiğini görmek isterseniz radiusd.conf dosyasındaki bütün kayıt seçeneklerini aktif edip radiusd'yi hata ayıklama (-X) modunda çalıştırın. User-Name kullandığınızda veritabanına "user@domain" şeklinde kaydedilirken, Stripped-User-Name kullandığınızda sadece "user" olarak kaydedilir. İkincisini kullandığımda alanlarım da çalıştı (sunucuda bütün kullanıcı isimleri tekil olduğundan alan adlarını ayırıp kullandım). Elbette diğer SQL seçeneklerini (veritabanı bağlantı ayrıntıları gibi) de uygun şekilde ayarlamanız gerekir.

/etc/raddb/radiusd.conf dosyasının sonlarında yer alan authorize{} bölümüne sql için gerekli satırı eklemelisiniz. Bu eklemenin en iyi yeri 'files' bölümünden hemen sonrasıdır. Aslında eğer sadece SQL kullanacak ve metin dosyalarına geri dönmeyecekseniz en iyisi 'files' girdisini silmek veya yorum haline getirmektir.

FreeRADIUS'un hesap kayıtlarını da veritabanında tutmasını isterseniz accounting{} bölümüne de 'sql' ile ilgili satırı eklemeniz gerekir.

Eşzamanlı kullanım (Simultaneous-Use) denetimi yapmak için de session{} bölümüne 'sql' eklenmelidir.

Tüm kimlik denetimi denemelerini veritabanına kaydetmek için post-auth{} bölümüne 'sql' eklenmelidir.

Uyarı
Yapılandırma dosyasında bunlardan başka hiç bir satırı yorumları okuyup anlamadan silmemeli veya değiştirmemelisiniz!

radiusd.conf dosyanız aşağıdakine benzer olmalıdır:

authorise {
	preprocess
	chap
	mschap
	suffix
	eap
	# We leave "files" enabled to allow creation of test users in /etc/raddb/users
	files
	sql
	pap
}

accounting {
	# We leave "detail" enabled to _additionally_ log accounting to /var/log/radius/radacct
	detail
	sql
}