Transformer PC en point accès WIFI - et comme passerelle à un serveur radius

Voila je peux facilement mettre ma carte réseau comme point d’accès (driver madwifi sous linux) mais comment puis je faire pour que ce point d’accès “factice” puisse supporter aussi d’être une passerelle entre des clients et un serveur d’authentification radius ?

Je suis ouvert a toute solutions autant sous windows que sous linux (a part celle d’acheter un routeur WIFI compatible) :slight_smile:

Je déplace sur le forum Réseaux :wink:

Merci Delvin, en effet, c’est plus à propos :slight_smile:

Je crois que j’ai trouvé mon bonheur :slight_smile:

http://hostap.epitest.fi/hostapd/

Franchement, hostapd c’est ultra puissant oO :ouch:

Point accès tout chiffrage configurable (WPA1|2 (PSK ou EAP) (tkip ou ccmp)) , restriction mac, limitation nb de clients, systeme d’authentification (open ou shared key)
Client pour radius local (implémente un serveur radius aussi :ouch: )
Client pour serveur radius externe :miam: (ce que je cherchais pour mettre avec freeradius)) supporte tout a priori (eap tls, ttls etc) et meme plusieurs serveurs secondaires !

Vraiment, j’ai que du respect pour les petits gars qui s’occupent du projet, ca me dépasse tellement c’est puissant … et gratuit, et en open source :peur: :jap:

Je vais vous faire partager les différents problème que j’ai rencontrés, peut être cela servira t’il a quelq’un : )

Déja, voici les excellent tutos qui m’ont servis et que je vous conseille vivement :
Ce qui suit sert a les compléter, car tout ne marche pas si bien du premier coup :wink: et la partie dans le cas ou vous n’avez pas de point d’accès matériel supportant le radius n’est pas traité (je le fais ici en utilisant hostapd)

Installation de FreeRadius en mode EAP/TLS
http://www.alphacore.net/spip/article.php3?id_article=33

Installation de FreeRADIUS en mode EAP/TTLS
http://www.alphacore.net/spip/article.php3?id_article=45

Le lien vers Hostapd :
http://hostap.epitest.fi/hostapd/

Et un tuto
http://www.lea-linux.org/cached/index/Crée…ec_hostAPd.html

La version que j’ai utilisée était la hostapd-0.5.5, et freeradius-1.1.3, le tout sous deux distrib Slackware current

Alors premièrement, je n’ai pas été capable dans une configuration classique (avec une seule carte réseau wifi) de faire fonctionner hostapd+freeradius sur la même machine. J’ai donc pourquivi mes test dans une configuration typique :

Hostapd sur PC2 (équipé d’une carte Dlink DWLG520 drivers madwifi-ng r1705)
Freeradius sur PC1

PC1 <= ethernet cable croisé => PC2 => WIFI

Problème survenue sur l’installation de Hostapd

Qu’est ce que hostapd ?
“hostapd is a user space daemon for access point and authentication servers. It implements IEEE 802.11 access point management, IEEE 802.1X/WPA/WPA2/EAP Authenticators, RADIUS client, EAP server, and RADIUS authentication server. The current version supports Linux (Host AP, madwifi, Prism54 drivers) and FreeBSD (net80211).”

Installation et configuration
Premièrement, Hostapd supporte bien les drivers madwifi-ng.
Pour compiler hostapd, je vous refere au tuto de lea-linux. Cependant j’attire votre attention sur cette partie du fichier config que vous devez completer:

CONFIG_DRIVER_MADWIFI=y
CFLAGS += -I../madwifi # change to reflect local setup; directory for madwifi src

Cela suppose que vous placiez les source des drivers madwifi-ng dans le répertoire précedent et dans le répertoire "madwifi".

Puis vous pouvez lancer la compilation : make && make install. Aucun erreur ne devrait alors survenir si vous avez bien placé vos sources comme il faut dans le dossier madwifi. :slight_smile:

Lancement de hostapd

Mauvais nouvelle, Par "défaut" cela ne marche pas. :slight_smile:

Je présume que vos drivers madwifi-ng sont correctement installés. Si vous lancer hostapd par exemple avec la commande

hostapd /etc/hostapd/hostapd.conf

Vous allez obtenir une erreur “invalid argument”. Cela provient du fait que hostapd n’arrive pas a mettre votre carte réseau en mode point d’accès et monitor.

Pour résoudre cela :

Suppresion de l’interface par défaut ath0 en mode station

wlanconfig ath0 destroy

Création de l’interface ath0 en mode ap

wlanconfig ath0 create wlandev wifi0 wlanmode ap

J’espère que dans les versions a venir de hostapd, ce bug sera corrigé.

Vous trouverez un fichier de configuration par défaut de hostapd (hostapd.conf) dans les paquets debian par exemple:

ici (à convertir avec alien par exemple selon votre distribution)

Pour Hostapd, ce sont les seuls problèmes pouvant poser "problème", sinon ce sont des erreurs de configuration dans le fichier de config (mauvaise ip du serveur radius externe, mauvaise clé de secret partagé etc…)

Petits conseil :
Lancer toujours freeradius sur le PC1 avant de lancer hostapd. Sinon hostapd n’arrive pas a joindre le serveur radius et peut enchainer les erreurs.

Installation de freeradius

Le gros problème que j’ai rencontré a été lors de la génération des certificats, et en particulier la génération du certificat serveur. J’obtenait une erreur de la part d’open ssl sur un fichier manquant bss_file.c etc…
En fait il s’agit de ce que j’ai pu trouvé d’un changement de fonction dans la dernière version d’OPEN SSL qui n’est plus compatible avec le script de génération de ce certificat. Ce bug n’est quasi pas documenté, la seule facon pour le résoudre est de ne pas utiliser openssl-0.9. 8b-i486-2.tgz fourni sur les ftp de slackware-current, mais la version précédente qui est openssl-0.9.7g-i486-1.tgz dispo ici par exemple :

http://ftp.belnet.be/pub/mirror/ftp.slackw…9.7g-i486-1.tgz

N’oublie par d’éditer les fichiers bash de génération des certificats en leur indiquant votre chemin vers le répertoire d’open ssl par défaut (/etc/ssl sous slackware), ainsi que le répertoire lib d’open ssl, sinon là aussi, plantages assurés :slight_smile:

Voila ce que ca donne pour chacun des certificats a générer (root, serveur, client) sous slackware avec une installation directes de packages tgz :

#!/bin/sh
SSL=/etc/ssl
export PATH=${SSL}/bin/:${SSL}/misc:${PATH}
export LD_LIBRARY_PATH=/usr/lib

Ensuite, une petite "erreur" dans le tutorial lors de la configuration du fichier eap.conf :

Lors de la génération des certificats on va vous demander un “challenge password”. Cependant votre choix n’a aucune influence, car les scripts donnés dans le tuto mettent tout les mots de passe à “whatever”. Donc quand on vous demande un challenge password, appuyer sur entrée directement, car il ne sera pas utilisé.

Extrait du man Open ssl

Donc il faut lire

Apres cela, c’était ok pour les certificats :slight_smile:

A continuer … (j’ai d’autres choses à rajouter) :slight_smile: