Uno Sbampato in giro per la rete .. proveniente da Platania (39°0′0″N 16°19′0″E)
In: Fedora| How-To & Guide
4 feb 2008In questo fine settimana mi è capitato di effettuare un lavoro per un cliente che mi ha richiesto di installare su un server Fedora 8 , Freeradius + Mysql che verrà utilizzato con un Mikrotik e per la gestione Radius Manager. Freeradius e mysql sono software opensource invece radiusmanager invece è proprietario costa intorno ai 99$ ed è stato acquistato dal mio cliente quindi era già definito nel progetto del sistema.
Dato che ho impiegato un po’ a configurare tutto e non si trova gran che in rete su configurazioni del genere voglio scrivere sul mio blog qualcosina in merito, inserirò in modo schematico i passi che ho compiuto per la mia installazione di freeradius + mysql non tratterò cmq radius manager perchè è un software proprietario.
Requisiti Sistema per l’installazione
FreeRadius 1.1.7
PHP 4 or better
MySql 5 or better
mysql-devel package
php-mysql extension
glibc 2.3 or better
libstdc++ 3.2 or better (compat-libstdc++ 3.2)
C/C++ compiler
Javascript enabled browser on client machines
Installazione
Ci sono 2 vie per l’installazione di Freeradius :
1° Metodo
Scarichiamo il pacchetto dal sito http://www.freeradius.org/download.html e procediamo con l’estrazione e la compilazione:
[root@localhost ~]# gzip –d freeradius-1.1.7.tar.gz
[root@localhost ~]# tar xvf freeradius-1.1.7.tar
[root@localhost ~]# cd freeradius-1.1.7
[root@localhost ~]# ./configure
[root@localhost ~]# make
[root@localhost ~]# make install
2° Metodo
Se volete procedere invece con l’installazione via Yum procediamo così:
[root@localhost ~]# yum install freeradius freeradius-mysql
in questo modo si installa freeradius e freeradius-mysql che è il link con il server DB
Dopo aver installato quindi il pacchetto in uno dei 2 modi procediamo con:
[root@localhost ~]# chmod 644 /etc/raddb/dictionary
Ora invece procediamo con un test provvisorio del radius lanciando da terminale il comando radiusd –x
[root@localhost ~]# radiusd –x
…
Listening on authentication *:1812
Listening on accounting *:1813
Ready to process requests.
se al termine del test si conclude con la riga finale Ready to process requests il test è andato a buon fine.
Ora procediamo con l’aggiunta del NAS client (o più Clients) nel file /etc/raddb/clients.conf
client 192.168.0.0/16 {
secret = testing123
shortname = private-network
}
Come potete notare c’è l’host o l’ip del NAS client e i dati identificativi per il NAS.
Poi procediamo a definire i parametri sql per la connessione al DB, editiamo quindi il file /etc/raddb/sql.conf
# Connect info
server = “localhost“
login = “radius“
password = “radius123″
# Database table configuration
radius_db = “radius”
I parametri in grassetto sono i parametri modificabili per effettuare una prova potete utilizzare quelli. Sono comunque definibili in base al proprio DB su mySQL
ora nello stesso file /etc/raddb/sql.conf
abilitiamo eliminando il # a simul_count_query …
# Uncomment simul_count_query to enable simultaneous use checking
simul_count_query = “SELECT COUNT(*) \
FROM ${acct_table1} \
WHERE UserName=’%{SQL-User-Name}’ \
AND AcctStopTime = 0″
Editiamo /etc/raddb/radiusd.conf eliminando i # ai riferimenti sql e commentiamo invece quelli riferiti a files per disabilitare il controllo per l’autenticazione da file utilizzando invece la modalità mysql.
# See “Authorization Queries” in sql.conf
sql
# See “Accounting queries” in sql.conf
sql
##
See “Simultaneous Use Checking Querie” in sql.conf
sql
Commentare inoltre radutmp nella sezione session
session {
# radutmp
##
See “Simultaneous Use Checking Querie” in sql.conf
sql
}
Inseriamo in /etc/raddb/users
DEFAULT Auth-Type = Local
Exec-Program-Wait=”/usr/local/bin/rmauth \”%{NAS-IP-Address}\” \”%{User-Name}\” \”%{Calling-Station-Id}\””
*questa parte è formata da 2 righe di cui Exec-Program-Wait … non parte dal bordo ma è presente un tab che sposta Exec.. a destra !!
Aggiungiamo a /etc/raddb/acct_users le seguenti righe:
DEFAULT Acct-Status-Type == Interim-Update
Exec-Program-Wait = “/usr/local/bin/rmacnt %{Acct-Session-Id}“
DEFAULT Acct-Status-Type == Start
Exec-Program-Wait = “/usr/local/bin/rmacnt %{Acct-Session-Id}“
DEFAULT Acct-Status-Type == Stop
Exec-Program-Wait = “/usr/local/bin/rmacnt %{Acct-Session-Id}”
Create il database per FreeRadius ‚con PhpMyAdmin o con MySql
Io ne ho creato uno chiamato radius e un utente radius con relativa passw con ALL privilegi
Ora procediamo con un nuovo test per verificare che funzioni il demone radiusd
[root@localhost ~]# radiusd –x
Nelle righe precedenti dovreste trovare gli handler che crea il demone mysql
…
Listening on authentication *:1812
Listening on accounting *:1813
Ready to process requests.
[root@localhost ~]# radtest user passw 192.168.3.2 1812 testing123
radtest [user] [passw] [host/ip NAS] [port] [secret]
se va in porto l’autenticazione con la richiesta accettata da parte del radius l’installazione è andata a buon fine!!
I passi sono un po’ confusi ma cmq spero possano essere d’aiuto cmq a chi deve installare questo tool.
fedora, 8, freeradius, guida, linux, Mikrotik, mysql, nas, radius, manager, redhat, Software, tool, access, point, wifi, wireless, router, rete, net,
Blog personale di Antonio Di Cello (Rafanto) .. informazioni,suggerimenti e curiosità sul mondo Linux, Maemo e OpenSource
1 Response to Freeradius + MySql su Fedora 8
Freeradius + MySql su Fedora 8 « Rafanto’s Blog
marzo 12th, 2008 at 17:11
[…] Freeradius + MySql su Fedora 8 […]