Introduction à wpa_supplicant
wpa_supplicant est un client
d'accès au Wi-Fi protégé (WPA) et compatible IEEE 802.1X. Il
implémente la négociation de clé WPA avec une authentification WPA
et le protocole d'authentification étendue (EAP) avec un serveur
d'authentification. De plus, il contrôle l'itinérance et
l'authentification/association IEEE 802.11 des pilotes. Il est
pratique pour se connecter à un point d'accès protégé par mot de
passe.
Ce paquet est connu pour se construire correctement sur une
plateforme LFS-7.2.
Information sur le paquet
Dépendances de wpa_supplicant
Recommandées
libnl-3.2.14 et OpenSSL-1.0.1c.
Facultative
D-BUS-1.6.8 et libxml2-2.9.0
Notes utilisateur : http://wiki.linuxfromscratch.org/blfs/wiki/wpa_supplicant
Configuration du noyau
Activez les options suivantes dans la configuration du noyau et
recompilez si nécessaire :
[*] Networking support --->
[*] Wireless --->
[*] cfg80211 - wireless configuration API
[*] cfg80211 wireless extensions compatibility
[*] Generic IEEE 802.11 Networking Stack (mac80211)
Device Drivers --->
[*] Network device support --->
[*] Wireless LAN --->
Selectionnez les options que supportent votre matériel :
lspci de PCI
Utils-3.1.10 peut être utilisé pour voir votre configuration
matérielle.
Installation de wpa_supplicant
En premier vous devez créer un fichier de configuration initial
pour la construction. Vous pouvez lire wpa_supplicant/README
et wpa_supplicant/defconfig
pour les explications
des options suivantes aussi bien que pour les autres options qui
peuvent être utilisées. Créer un fichier de configuration qui peut
fonctionner avec les initialisations standards pour le WiFi en
lançant les commandes suivantes:
cat > wpa_supplicant/.config << "EOF"
CONFIG_BACKEND=file
CONFIG_CTRL_IFACE=y
CONFIG_DRIVER_NL80211=y
CONFIG_DRIVER_WEXT=y
CONFIG_DRIVER_WIRED=y
CONFIG_EAP_GTC=y
CONFIG_EAP_LEAP=y
CONFIG_EAP_MD5=y
CONFIG_EAP_MSCHAPV2=y
CONFIG_EAP_OTP=y
CONFIG_EAP_PEAP=y
CONFIG_EAP_TLS=y
CONFIG_EAP_TTLS=y
CONFIG_IEEE8021X_EAPOL=y
CONFIG_IPV6=y
CONFIG_LIBNL32=y
CONFIG_PEERKEY=y
CONFIG_PKCS12=y
CONFIG_READLINE=y
CONFIG_SMARTCARD=y
CONFIG_WPS=y
CFLAGS += -I/usr/include/libnl3
EOF
Si vous souhaitez utiliser WPA
Supplicant avec NetworkManager-0.9.6.4, soyez
certain d'avoir installé D-BUS-1.6.8 et
libxml2-2.9.0, ensuite ajoutez les options
suivantes dans le fichier de configuration de WPA Supplicant en lançant les commandes
suivantes :
cat >> wpa_supplicant/.config << "EOF"
CONFIG_CTRL_IFACE_DBUS=y
CONFIG_CTRL_IFACE_DBUS_NEW=y
CONFIG_CTRL_IFACE_DBUS_INTRO=y
EOF
Installez WPA Supplicant en
lançant les commandes suivantes:
cd wpa_supplicant &&
make BINDIR=/sbin LIBDIR=/lib
Ce paquet n'est pas livré avec une suite de tests.
Maintenant en tant qu'utilisateur root
:
install -v -m755 wpa_{cli,passphrase,supplicant} /sbin &&
install -v -m644 doc/docbook/wpa_supplicant.conf.5 /usr/share/man/man5 &&
install -v -m644 doc/docbook/wpa_{cli,passphrase,supplicant}.8 /usr/share/man/man8
Si vous avez construit WPA
Supplicant avec le support D-Bus, vous devez installez les fichiers de
configuration de D-Bus. Installez
les en lançant les commandes suivantes en tant qu'utilisateur
root
:
install -v -m644 dbus/fi.{epitest.hostap.WPASupplicant,w1.wpa_supplicant1}.service \
/usr/share/dbus-1/system-services &&
install -v -m644 dbus/dbus-wpa_supplicant.conf /etc/dbus-1/system.d/wpa_supplicant.conf
Note
Vous devrez redémarrer le démon du système D-Bus avant que vous puissiez utiliser
l'interface D-Bus de
WPA Supplicant.
Configuration de wpa_supplicant
Fichier de Configuration
/etc/wpa_supplicant.conf
Information de Configuration
Pour se connecter à un point d'acces qui utilise un mot de passe
vous devez mettre la clé public dans /etc/wpa_supplicant.conf
. Utilisez wpa_passphrase pour la générer.
SSID est la chaîne que le point d'accès ou le routeur transmet
pour s'identifier. En tant qu'utilisateur root
:
wpa_passphrase SSID
SECRET_PASSWORD
> /etc/wpa_supplicant.conf
/etc/wpa_supplicant.conf
peut
retenir les détails de plusieurs points d'accès. Quand vous
lancez wpa_supplicant il scannera les
SSIDs qu'il peut voir et choisira le mot de passe approprié pour
se connecter.
Si vous souhaitez vous connecter à un point d'accès qui n'est pas
protégé par un mot de passe, indiquez une entrée comme cela dans
in /etc/wpa_supplicant.conf
.
Remplacez "Some-SSID" avec le SSID du point d'accès/routeur.
network={
ssid="Some-SSID
"
key_mgmt=NONE
}
Il y a beaucoup d'options que vous pouvez utiliser pour
personnaliser la façon de se connecter à chaque point d'accès.
Elles sont décrites en détails dans le fichier wpa_supplicant/wpa_supplicant.conf
dans les
sources.
Pour utiliser wpa_cli pour contrôler le
lancement du démon >wpa_supplicant, ajoutez une
interface de contrôle dans /etc/wpa_supplicant.conf
. En tant
qu'utilisateur root
:
echo ctrl_interface=/run/wpa_supplicant >> /etc/wpa_supplicant.conf
Connexion à un point d'accès
Si votre routeur/point d'accès utilise DHCP pour vous allouer une
adresse IP vous pouvez installer dhcpcd-5.6.2 et l'utiliser
pour la connexion. En tant qu'utilisateur root
:
wpa_supplicant -B -c/etc/wpa_supplicant.conf -iwlan0 -Dnl80211,wext
sleep 2 # let it settle
dhcpcd
Sinon, vous pouvez utiliser une adresse statique de votre réseau
local. L'avantage, c'est que vous pouvez mettre le nom d'hôte
dans le fichier /etc/hosts
.
Remplacez 192.168.1.6 avec l'adresse statique que vous avez
choisie. Remplacez 192.168.1.1 avec l'adresse IP de votre point
d'accès/routeur. En tant qu'utilisateur root
:
ip addr add 192.168.1.6 dev wlan0
ip link set wlan0 up
wpa_supplicant -B -c/etc/wpa_supplicant.conf -iwlan0 -Dnl80211,wext
ip route add 192.168.1.1 dev wlan0
ip route add default via 192.168.1.1 dev wlan0