Home (autres pages) Léa Linux TrustOn Me OpenVPN French Linux Doc Project Livre d'OR

1. Informations

L'installation de ce serveur radius se fait en plusieurs étapes : - installation et configuration de la plateforme linux - installation et configuration de la base de données MySQL - compilation, installation de FreeRadius - configuration réseau du serveur Linux - configuration de FreeRadius pour l'interconnexion avec CAR La version de FreeRadius testée est la version 0.9.3 téléchargeable : freeradius-0.9.3.tar.gz. Adresses à voir : http://www.linux-tarn.org/documentation/linuxtarn/freeradius/install_en_freeradius.rtf http://www.frontios.com/freeradius.html http://www.oreilly.de/catalog/radius/chapter/ch05.html

2. Installation de la plateforme Linux

La distribution Linux retenue est la Mandrake 10 Community. Elle propose des paquetages récents, un noyau linux 2.6 et la plupart des services à installer en standard. La documentation est disponible sur le site www.linux-mandrake.com. Les principaux groupes de paquetages à installer sont : - ordinateur réseau - configuration - utilitaires console - développement - base de données - parefeu / routeur - serveur réseau - station de travail KDE Ensuite, une sélection des paquetages individuellement permet d'optimiser l'installation du système mais est plus longue.

3. Installation et Configuration de MySQL

NOTE: l'installation de MySQL doit se faire avant l'installation de FreeRadius car lors de la configuration des fichiers sources de FreeRadius, les librairies SQL sont testées. L'installation de la distribution Linux propose l'installation de paquetages MySQL mais ne dipose pas du paquetage de développement. De fait, il est nécessaire de télécharger les paquetages suivant sur le site ftp://ftp.inria.fr/pub/MySQL/Downloads/MySQL-4.0/ : MySQL-client-4.0.18-0.i386.rpm MySQL-embedded-4.0.18-0.i386.rpm MySQL-shared-4.0.18-0.i386.rpm MySQL-devel-4.0.18-0.i386.rpm MySQL-server-4.0.18-0.i386.rpm Ensuite la mise à jour des paquetages pré-installés de MySQL se fait par la commande suivante :
$ rpm -Uvh *.rpm
Par défaut, la base d'utilisateurs de MySQL ne contient que le compte "root" qui est sans mot de passe. Le compte "root" doit être configuré par la commande suivante :
$ /usr/bin/mysqladmin -u root password 'PASSWORD'
Ensuite, il faut créer l'utilisateur "radius" avec lequel nous créerons et maintiendrons les bases de données :
$ mysql -u root -p ### TAPER LE MOT DE PASSE ### mysql> create database radius; mysql> GRANT ALL PRIVILEGES ON *.* TO radius@localhost IDENTIFIED BY 'radius' WITH GRANT OPTION; mysql> quit
Deux utilitaires graphiques supplémentaires ont été installés à partir de paquetages téléchargés sur l'Internet : . mysql-administrator, qui permet l'administration du serveur MySQL . gmyclient, pour consulter et modifier les bases de Pour se connecter à la base de données, il suffit de lancer "gmyclient" puis de se connecter à sur le serveur "localhost" avec "radius/radius" et de se connecter sur la base de données "radius". La librairie libmysql10-3.23.55-1mdk.i586.rpm a du être installée car la version plus récente, installée par la distribution Mandrake 10, provoque une erreur fatale.

4. Téléchargement, compilation et installation de FreeRadius

La session est ouverte sous le compte "utilisateur".
Téléchargement du tarball freeradius [/home/moncompte] wget ftp://ftp.freeradius.org/pub/radius/freeradius-0.9.3.tar.gz extraction des fichiers sources [/home/moncompte] tar xzvf freeradius-0.9.3.tar.gz compilation et installation de FreeRadius [/home/moncompte] cd freeradius-0.9.3 [/home/moncompte/freeradius-0.9.3] ./configure [/home/moncompte/freeradius-0.9.3] make [/home/moncompte/freeradius-0.9.3] su [/home/moncompte/freeradius-0.9.3] make install [/home/moncompte/freeradius-0.9.3]
L'installation se fait dans le répertoire /usr/local : . client et programmes de test : /usr/local/bin . fichiers de configuration : /usr/local/etc . librairies: /usr/local/lib . serveur : /usr/local/sbin . logs : /usr/local/var . documentations : /usr/local/share/doc . dictionnaires : /usr/local/share/freeradius.0.9.3 A noter que la configuration de compilation par défaut possède un support. Un lien symbolique peut être créé de /usr/local/etc/raddb vers /etc/raddb pour faciliter l'accès aux fichiers de configuration. Afin d'éviter le lancement du client Radius sur le compte "root", il est nécessaire de créer un nouveau compte "système", ce qui se fait en ajoutant la ligne suivante au fichier /etc/passwd : radius:x:14:100:system user for radius:/sbin:/bin/bash puis on change les droits et l'appartenance des fichiers du serveur Radius :
$ mkdir -p /usr/local/var/log/radius $ chown -R radius.users /usr/local/var/log/radius $ mkdir -p /usr/local/var/run/radiusd $ chown -R radius.users /usr/local/var/run/radiusd
Il est nécessaire de créer les tables de la bases de données qui seront utilisées par le serveur radius :
$ cd /home/adminwlan/freeradius-0.9.3/src/modules/rlm_sql/drivers/rlm_sql_mysql Création des bases dans la base "radius" $ mysql -uradius -pradius radius < db_mysql.sql
Enfin, il faut modifier le fichier /etc/ld.so.conf et ajouter le chemin "/usr/local/lib" pour que les librairies rlm-sql, installées par FreeRadius, soient trouvées.

5. Configuration de FreeRadius

5.1. Configuration pour l'utilisation de MySQL

La configuration SQL de FreeRadius commence par la modification du fichier /etc/raddb/sql.conf :
# Connect info server = "localhost" login = "radius" password = "radius"
# Database table configuration radius_db = "radius"
Ensuite, il faut modifier le fichier radius.conf : . section authorize: on commente "file" et l'on ajoute "sql" . section accounting: on ajoute "sql" après "unix"

5.2. Test de l'installation de FreeRadius

Lancer "gmyclient", se loguer en tant que 'radius/radius' en locahost sur la base "radius" . Puis ajouter quelques utilisateurs à la table "radcheck". Exemple, "test1@freeradius.com" et "test2@freeradius.com" avec les mots de passe "test1" et "test2". Exécuter le serveur Radius :
$ radiusd -X
Puis, dans une autre console, tester l'accès au service radius avec la commande radtest :
$ radtest "test1@freeradius.com" test1 localhost 1812 test123 Sending Access-Request of id 133 to 127.0.0.1:1812 User-Name = "test1@freeradius.com" User-Password = "test1" NAS-IP-Address = INT-RADIUS NAS-Port = 1812 rad_recv: Access-Accept packet from host 127.0.0.1:1812, id=133, length=20 $ radtest "test3@freeradius.com" test3 localhost 1812 test123 Sending Access-Request of id 137 to 127.0.0.1:1812 User-Name = "test3@freeradius.com" User-Password = "test3" NAS-IP-Address = INT-RADIUS NAS-Port = 1812 rad_recv: Access-Reject packet from host 127.0.0.1:1812, id=137, length=20 $

5.3. Installation de FreeRadius en tant que service Linux

Copier le fichier /usr/local/sbin/rc.radiusd dans le répertoire /etc/init.d :
$ cp /usr/local/sbin/rc.radiusd /etc/init.d/radiusd $ cd /etc/init.d
et ajouter les deux lignes suivantes après l'ensemble des premiers commentaires:
# chkconfig: 2345 92 08 # description: Serveur Radius.
puis lancer la modification des services lors du démarrage du serveur :
$ chkconfig --add radiusd
NOTE: j'ai préféré reprendre le script de démarrage du daemon "proftpd" et le modifier.

6. Interconnexion d'un autre radius avec FreeRadius

6.1. Configuration de FreeRadius

Pour ajouter un radius à la liste des clients (ou NAS), il suffit d'ajouter les lignes suivantes au fichier /etc/raddb/clients.conf
client ADRESSE_IP_PEER { secret = MOTDEPASSE_SECRET shortname = NOM nastype = TYPE }
Puis de redémarrer le service Radius
$ /etc/init.d/radiusd restart

6.2. Configuration du radius à inteconnecter

Eh bien là, il faut vous référer à la document de votre autre radius...
Me contacter | ©2004-2005 Raum
Livre d'OR