Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ceci est une ancienne révision du document !
Vous avez un ordinateur portable, et vous connectez souvent de WiFi en WiFi. Le matin, c'est le WiFi de la maison, puis y'a le wifi de la station de métro, le wifi de la gare, le wifi du train (pour les veinards qui en ont un), le wifi du boulot, le wifi des clients, etc. Dans ce cas, vous faîtes déjà certainement du roaming, i.e. de l'itinérance, entre les différents points d'accès qui vous irradient au fil de votre route.
En mode graphique, on connaît bien NetworkManager et Wicd qui sont tous les deux capables de faire du roaming, c'est à dire de détecter les réseaux présents et de se connecter à ceux connus.
NetworkManager peut également être utilisé en mode console. Mais aujourd'hui, nous allons étudier wpasupplicant
qui permet déjà de faire cela.
apt-get install wpasupplicant
On supposera que wlan0
est votre interface wifi.
On commence par tuer tous les processus wpa_supplicant
tournant :
pkill wpa_supplicant
On va, ensuite, lancer wpa_supplicant
dans un terminal :
wpa_supplicant -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf
Successfully initialized wpa_supplicant
Si wpa_supplicant
ne vous rend pas la main après avoir affiché le message, au-dessus, c'est que tout va bien.
Sinon, vous pouvez lancer wpa_supplicant' en mode debug pour comprendre ce qui ne va pas:
<code root>wpa_supplicant -d -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf</code>
==== Scanner les points d'accès disponibles ====
Dans un autre terminal, on va lancer l'interface commande
wpa_cli :
<code root>wpa_cli -i wlan0</code>
<code root>wpa_cli v2.4
Copyright © 2004-2015, Jouni Malinen j@w1.fi and contributors
This software may be distributed under the terms of the BSD license.
See README for more details.
Interactive mode
></code>
<note warning>A partir d'ici, on se retrouve dans l'interface commande de wpa_cli.
>
Le prompt doit être affiché.</note>
Lancer un scan des points d'accès :
<code» scan</code>
<code>OK
>
<3>CTRL-EVENT-SCAN-STARTED
>
<3>CTRL-EVENT-SCAN-RESULTS
>
<3>WPS-AP-AVAILABLE</code>
Afficher le résultat du scan :
<code» scan_results</code>
<code>bssid / frequency / signal level / flags / ssid
42:03:81:d1:d4:53 2457 -16 [WPA-EAP-CCMP][ESS] FreeWifi_secure
42:03:81:d1:d4:50 2457 -16 [WPA-PSK-CCMP][ESS]
42:03:81:d1:d4:51 2457 -17 [WPA2-PSK-CCMP][ESS]
f4:ca:e5:92:3f:58 2422 -64 [WPA-PSK-CCMP][ESS] Freebox-59C501
f4:ca:e5:92:3f:5a 2422 -64 [WPA2-EAP-CCMP+TKIP][ESS] FreeWifi_secure
00:19:70:7c:1e:d5 2437 -85 [WPA-PSK-CCMP+TKIP][WPA2-PSK-CCMP+TKIP][WPS][ESS] Livebox-9a79
42:03:81:d1:d4:52 2457 -16 [ESS] FreeWifi
f4:ca:e5:92:3f:59 2422 -64 [ESS] FreeWifi
06:19:70:7c:1e:d5 2437 -87 [ESS] orange</code>
<code» quit</code>
==== Configuration initiale ====
<code root>cp /usr/share/doc/wpasupplicant/examples/wpa-roam.conf /etc/wpa_supplicant/wpa_supplicant.conf</code>
<code root>chmod 0600 /etc/wpa_supplicant/wpa_supplicant.conf</code>
Dans le fichier
/etc/network/interfaces :
<file text /etc/network/interfaces>
allow-hotplug wlan0
iface wlan0 inet manual
wpa-driver wext
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
# pas d'id_str, 'default' est utilisée comme interface par défaut.
iface default inet dhcp
</file>
<note>Si vous n'arriviez pas à faire fonctionner votre carte avec le driver
wext, vous pouvez essayer avec le driver
nl80211 à la place.</note>
==== Ajouter un réseau ====
<code root>wpa_passphrase votre-ssid votre-mot-de-passe » /etc/wpa_supplicant/wpa_supplicant.conf</code>
en remplaçant
votre-ssid par le nom de votre réseau Wifi et
votre-mot-de-passe par votre mot de passe.
Ceci va ajouter l'entrée suivante à la fin de votre
/etc/wpa_supplicant/wpa_supplicant.conf :
<file text /etc/wpa_supplicant/wpa_supplicant.conf>network={
ssid=“votre-ssid”
#psk=“votre-mot-de-passe”
psk=360b2c805ecd920b79a370af532d2f7636bab7049ed2dc068c2dae17f5e1c38e
}</file>
Pensez à effacer la ligne avec votre mot de passe en clair !
=== Fixer des paramètres particulier pour un réseau ===
Dans le fichier
/etc/wpa_supplicant/wpa_supplicant.conf :
<code text /etc/wpa_supplicant/wpa_supplicant.conf>network={
ssid=“wifi-maison”
psk=123456789…
# Cet id_str indiquera à /sbin/wpa_action de faire un 'ifup maison'
id_str=“maison”
}</code>
Dans le fichier
/etc/network/interfaces :
<code text /etc/network/interfaces># id_str=“maison”
iface maison inet static
address 192.168.0.20
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1
</code>
==== Redémarrer le wifi et chercher à se connecter à un réseau connu ====
Tapez la comande suivant dans un terminal root :
<code root>wpa_cli reconfigure</code>
Vous devriez alors lire un message semblable à celui-ci :
Selected interface 'wlan0'
OK
===== Sources =====
*
/usr/share/doc/wpasupplicant/README.Debian.gz''