Posted: Mon Aug 15, 2011 19:59 Post subject: Installation FreeRADIUS avec relai WRTG54L ( flashé DD-WRT)
Bonjour à tous!
J'ai acheté recemment un routeur WRTG54L, je l'ai flashé avec DD-WRT pour tester un relai radius:
Je veux que les personnes qui se connectent en wifi sur mon routeur s'authentifie sur un serveur radius ( uniquement radius pour l'instant sans passer par un hostspot style chilispot)
J'ai tout installé :
FreeRADIUS,MYSQL, le réseau fonctionne bien
La commande "radtest" sur le serveur radius fonctionne mais lorsque j'essaye de connecter mon Iphone en wifi il n'arrive pas à sauthentifier , voici les logs du serveurs radius:
Mon Aug 15 21:48:08 2011 : Auth: Login incorrect: [fred/<via Auth-Type = EAP>] (from client 192.168.2.1 port 0 via TLS tunnel)
Mon Aug 15 21:48:08 2011 : Auth: Login incorrect: [fred/<via Auth-Type = EAP>] (from client 192.168.2.1 port 59 cli 581faab67df0)
192.168.2.1 est l'adresse de mon routeur
581faab67df0 est l'adresse MAC de mon Iphone
fred est l'utilisateur de la base de donnée
J'ai installé FreeRADIUS sur une Debian, je n'ai pas touché à la config des certificat ou autres chiffrements, juste installation basique.
Je ne comprend pas les logs.
dans ta base de donnée, as tu bien afecté fred au group qui fait authtype:=eap ?
apparement le mot passe pour fred n'est pas reconnu. Attention radtest ca reconnait les mot de passe de type user-password, je suis pas persuadé que c'est ce format qu'il te faut pour l'eap
Non je n'ai pas affecté fred au group qui fait authtype:=eap
Pour la base j'ai suivi ces lignes suivantes :
# echo "create database radius;" | mysql -u root -p
# echo "grant all on radius.* to radius@'localhost' identified by 'motdepasse_sql'; flush privileges;" | mysql -u root -p
# mysql -uroot -p radius < /etc/freeradius/sql/mysql/schema.sql
# mysql -uroot -p radius < /etc/freeradius/sql/mysql/nas.sql
Ensuite j'ai rempli la base ainsi :
echo "INSERT INTO radcheck(UserName,Attribute,op,Value) VALUES (fred,'Cleartext-Password',':=','motdepasse');" | mysql -u root -p radius
C'est donc ça l'erreur?
Et comment affecté le user fred au groupauthtype:=eap ?
de la meme manière que pour la table radcheck....en ajoutant un enregistrement dans la table usergroup qui liera l'utilisateur au group qui fait l'authtype:=eap.
Mais si tu regarde bien dans google a freeradius+eap tu devrais trouver la bonne marche a suivre.
bon alors pour faire simple. si tu utilise mysql dans ton radiud.conf doit commenté "file" et décommenté "sql".
A partir de ce moment et si tu as activer readclient dans sql.conf
freeradius ne lit plus ni le fichier user, ni le fichier client.conf mais toutes les données stockées dans mysql.
dans ce cas, ce seront les données stockées dans mysql qui prendront le dessus. Si tu eux utiliser les fichiers user et client.conf alors il te faut décommenté file et commenté sql dans radiusd.conf
Et si je veut n'utiliser que la méthode d'authentification par adresse mac sans passer par EAP?
Type
:
0123456789ab Auth-Type :=Local, User-Password == 0123456789ab
comme j'ai dit j'ai réussi à authentifier mon smartphone en wifi via radius et le fichier user :
login Cleartext-Password := "mot de passe"
et le client.conf
client 192.168.2.1 {
shorttname = dd-wrt
secret = alonso
nastype = other
}
je voudrais laisser tomber les fichiers de configuration et installer tout sur une base SQL:
pour cela j'ai fait ceci :
# echo "create database radius;" | mysql -u root -p
# echo "grant all on radius.* to radius@'%' identified by 'motdepasse_sql'; flush privileges;" | mysql -u root -p
# mysql -uroot -p radius < /etc/freeradius/sql/mysql/schema.sql
# mysql -uroot -p radius < /etc/freeradius/sql/mysql/nas.sql
et j'ai remplit la table radcheck avec les paramètres suivants ( les mêmes que dans mon user ):
echo "INSERT INTO radcheck(UserName,Attribute,op,Value) VALUES ('Thus0','Cleartext-Password',':=','motdepasse');" | mysql -u root -p radius
Mais l'authentification ne marche pas..
Je pense peut-être à l'équivalent de client.conf dans ma base?
Pourtant lorsque je lance une requete sur la table radcheck cela m'affiche bien la ligne que j'avais dans mon user..
Il te faut créer un enregistrement dans la table Nas qui remplacera le client.conf
Il te faut créer un enregistrement dans la table radgroupcheck ou tu indiqueras le type d'authentification (eap).
Il te faut créer enregistrement dans la table usergroup qui fait le lien entre l'enregistrement utilisateur et le groupe auquel il appartient (eap).
Il te faut modifier le fichier radiusd.conf pour qu'il utilise mysql
Il te faut modifier le fichier sql.conf en décommentant la ligne readclient=yes
Je synthétise, tu trouveras facilement des howto sur le sujet freeradius+eap+mysql