In 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,
Tags: Fedora, freeradius, guida, linux, manager, Mikrotik, mysql, nas, net, point, radius, redhat, Rete, router, Software, tool, wifi, Wireless
[...] Freeradius + MySql su Fedora 8 [...]