Rafanto.net Blog
msgbartop
Uno Sbampato in giro per la rete .. proveniente da Platania (39°0′0″N 16°19′0″E)
msgbarbottom

04 feb 08 Freeradius + MySql su Fedora 8

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.

  • Inoltre installando RadiusManager ho anche effettuato una prova successiva con radtest

[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.

, , , , , , , , , , , , , , , , , , , ,

Tags: , , , , , , , , , , , , , , , , ,



Reader's Comments

  1. |

    [...] Freeradius + MySql su Fedora 8 [...]



Leave a Comment