Gentoo Logo

Avertissement : Ce manuel a été remplacé par une version plus récente et n'est plus maintenu.


[ << ] [ < ] [ Sommaire ] [ > ] [ >> ]


4. Les réseaux sans fil

Table des matières :

4.a. Introduction

Faire fonctionner le réseau sans fil est en général assez direct sur Linux. Il y a deux manières de le configurer : les clients graphiques ou la ligne de commande.

Le moyen le plus facile est d'utiliser un client graphique, une fois que vous avez installé un environnement de bureau. La plupart des clients graphiques tels que wicd et NetworkManager, sont d'usage assez évident. Ils offrent une interface simple qui vous permet de configurer votre réseau en quelques secondes.

Note : wicd possède une fonctionnalité de ligne de commande en plus de l'interface graphique principale. Vous pouvez l'obtenir en installant wicd avec l'option ncurses de la variable USE. Cet utilitaire wicd-curses est particulièrement utile pour ceux qui n'utilisent pas un environnement de bureau basé sur gtk, mais désirent néanmoins un outil en ligne de commande facile qui ne requiert pas d'éditer des fichiers de configuration.

Néanmoins, si vous ne voulez pas utiliser un client graphique, vous pouvez configurer le sans fil en ligne de commande en éditant quelques fichiers de configuration. Ceci prend un peu plus de temps, mais demande moins de paquets à télécharger et installer. Comme les client graphiques sont d'usage évident (avec des écrans d'aide en page d'accueil) nous nous focaliserons sur la configuration en ligne de commande.

Vous pouvez configurer le réseau sans fil en ligne de commande en installant wireless-tools ou wpa_supplicant. La chose importante à se rappeler, c'est que vous configurez les réseaux sans fil globalement et non pas par interface.

wpa_supplicant est le meilleur choix mais il ne gère pas tous les pilotes. Pour une liste des matériels supportés, lisez le site web de wpa_supplicant.

wireless-tools supporte pratiquement toutes les cartes et tous les pilotes, mais il ne sait pas se connecter aux points d'accès qui ne font que du WPA. Si vos réseaux n'offrent que le chiffrage WEP ou sont complètement ouverts, il se peut que vous préfériez la simplicité de wireless-tools.

Attention : le pilote linux-wlan-ng n'est pas supporté par baselayout pour le moment, à cause de sa mise en place et de sa configuration qui est complètement différente de ce qui se fait ailleurs. Des rumeurs émanant des développeurs de linux-wlan-ng affirmeraient que leur procédure de mise en place se conformerait à celle de wireless-tools. Lorsque ceci sera effectif, vous pourrez utiliser linux-wlan-ng avec notre baselayout.

Certaines cartes sans fil sont désactivées par défaut. Pour les activer, reportez-vous à la documentation de votre matériel. Certaines de ces cartes peuvent être débloquées en utilisant l'application rfkill. Si c'est votre cas, exécutez la commande rfkill list pour afficher la liste des cartes disponibles et rfkill unblock <index> pour activer la fonctionnalité sans fil. Si ce n'est pas le cas, vous devez débloquer la carte sans fil via un bouton, un commutateur ou une combinaison particulière de touches sur votre ordinateur.

4.b. WPA Supplicant

WPA Supplicant est un paquet qui vous permettra de vous connecter à un point d'accès WPA.

Exemple de code 2.1 : installer wpa_supplicant

# emerge net-wireless/wpa_supplicant

Important : vous devez activer CONFIG_PACKET dans votre noyau pour que wpa_supplicant puisse fonctionner.Essayer la commande grep CONFIG_PACKET /usr/src/linux/.config pour savoir si c'est activé dans votre noyau.

Note : selon les options USE , wpa_supplicant peut installer une interface graphique écrite en Qt4, qui s'intégrera parfaitement dans KDE. Pour l'avoir, exécutez echo "net-wireless/wpa_supplicant qt4" >> /etc/portage/package.use en tant qu'administrateur root avant d'installer wpa_supplicant.

Nous devons maintenant indiquer dans le fichier /etc/conf.d/net que nous préférons utiliser wpa_supplicant plutôt que wireless-tools (si les deux sont installés, wireless-tools est l'interface par défaut).

Exemple de code 2.2 : configuration de /etc/conf.d/net pour wpa_supplicant

# On préfère utiliser wpa_supplicant :
modules="wpa_supplicant"

# Il est important de spécifier à wpa_supplicant quel pilote nous
# allons utiliser car il n'est pas encore doué pour les devinettes :
wpa_supplicant_eth0="-Dmadwifi"

Note : si vous utilisez le pilote host-ap, vous devez placer la carte en mode Managed afin qu'elle puisse être utilisée correctement par wpa_supplicant. Vous pouvez utiliser la commande iwconfig_eth0="mode managed" dans /etc/conf.d/net pour ce résultat.

Plutôt simple, n'est-ce pas ? Pourtant, nous devons encore configurer wpa_supplicant lui-même, ce qui peut devenir bien plus fastidieux selon le niveau de sécurité demandé par le point d'accès auquel vous souhaitez vous connecter. L'exemple ci-dessous est repris puis adapté depuis le fichier /usr/share/doc/wpa_supplicant-<version>/wpa_supplicant.conf.gz fourni avec wpa_supplicant.

Exemple de code 2.3 : un exemple de fichier /etc/wpa_supplicant/wpa_supplicant.conf

# La ligne ci-dessous ne doit pas être changée sinon cela ne marchera pas :
ctrl_interface=/var/run/wpa_supplicant

# On s'assure que seul root peut lire la configuration WPA :
ctrl_interface_group=0

# Laissons wpa_supplicant se charger de scanner et de choisir un
# point d'accès :
ap_scan=1

# Cas simple : WPA-PSK, une phrase ASCII en guise de PSK, on autorise
# tous les chiffrages disponibles :
network={
    ssid="simple"
    psk="une phrase super secrete"
    # Plus la priorité est haute, plus tôt se fera la reconnaissance :
    priority=5
}

# Idem, mais en demandant un scan spécifique à un SSID (pour les points
# d'accès qui rejettent les SSID de diffusion (broadcast) :
network={
    ssid="second ssid"
    scan_ssid=1
    psk="phrase tres secrete"
    priority=2
}

# Seul WPA-PSK est utilisé. N'importe quel chiffrage est autorisé.
network={
    ssid="exemple"
    proto=WPA
    key_mgmt=WPA-PSK
    pairwise=CCMP TKIP
    group=CCMP TKIP WEP104 WEP40
    psk=06b4be19da289f475aa46a33cb793029d4ab3db7a23ee92382eb0106c72ac7bb
    priority=2
}

# Connexion en clair (pas de WPA, pas de IEEE 802.1X) :
network={
    ssid="test-en-clair"
    key_mgmt=NONE
}

# Connexion à clé WEP partagée (pas de WPA, pas de IEEE 802.1X) :
network={
    ssid="static-wep-test"
    key_mgmt=NONE
    # Les clefs entres guillemets sont des chaines ASCII
    wep_key0="abcde"
    # Les clefs sans guillemets sont en hexadécimal
    wep_key1=0102030405
    wep_key2="1234567890123"
    wep_tx_keyidx=0
    priority=5
}

# Connexion à clé WEP partagée (pas de WPA, pas de IEEE 802.1X) en
# utilisant une authentification à clé partagée IEEE 802.11 :
network={
    ssid="static-wep-test2"
    key_mgmt=NONE
    wep_key0="abcde"
    wep_key1=0102030405
    wep_key2="1234567890123"
    wep_tx_keyidx=0
    priority=5
    auth_alg=SHARED
}

# Réseau IBSS/ad-hoc avec WPA-None/TKIP :
network={
    ssid="test adhoc"
    mode=1
    proto=WPA
    key_mgmt=WPA-NONE
    pairwise=NONE
    group=TKIP
    psk="une phrase secrete"
}

4.c. Wireless Tools

Mise en place et mode « Managed »

Wireless Tools fournit un moyen générique de configurer des interfaces sans fil jusqu'au niveau de sécurité WEP. Bien que WEP soit une méthode faiblement sécurisée, elle reste la plus répandue.

La configuration de Wireless Tools est contrôlée par quelques variables. L'exemple de fichier de configuration ci-dessous devrait couvrir tous vos besoins. Sachez simplement qu'en cas de non-configuration, nous essayons tout de même de connecter l'interface au point d'accès le plus fort, quel qu'il soit.

Exemple de code 3.1 : installer wireless-tools

# emerge net-wireless/wireless-tools

Note : bien que vous puissiez stocker la configuration du réseau sans fil dans le fichier /etc/conf.d/wireless, ce guide vous recommande de la placer dans le fichier /etc/conf.d/net.

Important : vous devrez consulter la documentation sur les noms des variables.

Exemple de code 3.2 : exemple de configuration /etc/conf.d/net avec iwconfig

# On préfère utiliser iwconfig plutôt que wpa_supplicant :
modules=( "iwconfig" )

# On configure les clés WEP pour les points d'accès nommés ESSID1 et ESSID2.
# Vous pouvez mettre jusqu'à quatre clés WEP, mais seulement une pourra
# être active à la fois. Au cas où vous auriez déjà une clé WEP active, on
# spécifie un index [1] lors de la création de la clé. On règle ensuite le
# niveau de sécurité pour ce même index [1].
#
# Le préfixe « s: » de la clé indique que c'est une clé ASCII. Sinon, ce serait
# une clé hexadécimale.
#
# « enc open » spécifie le mode de sécurité « open » (le moins sécurisé),
# « enc restricted » spécifie le mode « restricted » (le plus sécurisé).
key_ESSID1="[1] s:votrecle key [1] enc open"
key_ESSID2="[1] aaaa-bbbb-cccc-dd key [1] enc restricted"

# La variable ci-dessous n'est utilisée que lorsqu'on procède à un scan
# pour trouver les points d'accès disponibles.

# Parfois, plusieurs points d'accès peuvent être accessibles. Nous
# devons donc définir un ordre pour pouvoir choisir auquel se connecter.
preferred_aps="'ESSID1' 'ESSID2'"

Réglagesfins pour la sélection de points d'accès

Vous pouvez éventuellement rajouter des options pour affiner la sélection des points d'accès. Ceci n'est pas indispensable.

Vous pouvez décider si nous devons nous connecter uniquement aux points d'accès préférés ou pas. Par défaut, si tout ce qui a été configuré a échoué et si nous pouvons nous connecter à un point d'accès non chiffré, alors nous le ferons. Ce comportement peut être contrôlé par la variable associate_order. Voici une table qui présente les valeurs acceptables et à quoi elles servent.

Valeur Description
any Comportement par défaut.
preferredonly Nous nous connecterons uniquement à un point d'accès présent dans la liste.
forcepreferred Nous forcerons la connexion à un point d'accès dans l'ordre listé si ceux-ci ne sont pas trouvés lors d'un scan.
forcepreferredonly Ne lance pas le scan. Essaye simplement de se connecter à l'un d'entre eux dans l'ordre indiqué.
forceany Pareil que forcepreferred puis essaie n'importe quel autre point d'accès si cela n'a pas marché.

Enfin, voici les variables blacklist_aps et unique_ap. blacklist_aps fonctionne d'une manière similaire à preferred_aps. unique_ap attend yes ou no pour savoir si une deuxième interface peut se connecter sur le même point d'accès que la première.

Exemple de code 3.3 : exemples pour liste noire (blacklist)_aps et unique_ap

# Il se peut que vous souhaitiez ne pas vous connecter à certains
# points d'accès :
blacklist_aps="'ESSID3' 'ESSID4'"

# Si vous avez plus d'une carte sans fil, vous pouvez spécifier ici si vous
# acceptez que plusieurs cartes se connectent au même point d'accès.
# Il faut mettre « yes » (par défaut) ou « no ».
unique_ap="yes"

Modes Ad-Hoc et Master

Vous pouvez aussi vous déclarer comme nœud Ad-Hoc si vous n'arrivez pas à joindre un point d'accès.

Exemple de code 3.4 : se replier sur le mode Ad-Hoc

adhoc_essid_eth0="Mon noeud Adhoc"

Et pourquoi pas se connecter à des réseaux Ad-Hoc ou bien tourner en mode Master pour devenir nous-même un point d'accès ? Voici la configuration qu'il vous faut. Vous aurez peut-être à spécifier des clés WEP comme indiqué précédemment.

Exemple de code 3.5 : exemple de configuration Ad-Hoc/Master

# Spécifie le mode.
# Peut être « managed » (par défaut), « ad-hoc » ou « master ».
# Attention, tous les pilotes ne supportent pas forcément tous les modes.
mode_eth0="ad-hoc"

# Spécifie l'ESSID des interfaces.
# En mode managed, cela force l'interface à essayer de se connecter à l'ESSID
# spécifié et à aucun autre.
essid_eth0="Mon noeud adhoc"

# Le canal à utiliser (par défaut c'est 3) :
channel_eth0="9"

Important : ce qui suit est repris en l'état de la documentation NetBSD sur WaveLAN. Il y a 14 canaux possibles. Nous avons été informés que les canaux 1 à 11 sont légaux en Amérique du Nord, 1 à 13 dans une grande partie de l'Europe, 10 à 13 en France et uniquement le 14 au Japon. En cas de doute, consultez la documentation fournie avec la carte ou avec le point d'accès. Assurez-vous que le canal choisi correspond à celui du point d'accès (ou de l'autre carte en réseau Ad-Hoc). Par défaut, ce canal est le numéro 3 sur les cartes vendues en Amérique du Nord et dans une grande partie de l'Europe, 11 en France et 14 au Japon).

Problèmes et résolutions concernant Wireless Tools

Il existe quelques variables supplémentaires que vous pouvez utiliser pour vous aider à résoudre les problèmes de pilote ou d'environnement pour faire fonctionner votre réseau sans fil. Voici une table répertoriant ce que vous pouvez essayer :

Variable Valeur par défaut Description
iwconfig_eth0 Lisez man iwconfig pour savoir ce qu'il est possible d'indiquer à iwconfig.
iwpriv_eth0 Lisez man iwpriv pour savoir ce qu'il est possible d'indiquer à iwpriv.
sleep_scan_eth0 0 Le nombre de secondes à attendre avant de lancer un scan. Cette commande est requise lorsque le pilote a besoin de temps supplémentaire pour compléter son activation et pour devenir utilisable.
sleep_associate_eth0 5 Le nombre de secondes permis à l'interface pour qu'elle réussisse à s'associer avec le point d'accès avant de passer au suivant.
associate_test_eth0 MAC Certains pilotes n'assignent pas une adresse MAC invalide pendant qu'ils essayent de se connecter.
Certains pilotes ne remettent pas à zéro le niveau de qualité pendant qu'ils essayent se se connecter.
Les valeurs autorisées sont MAC, quality ou all, pour les deux.
scan_mode_eth0 Certains pilotes doivent scanner en mode Ad-Hoc. Donc si le scan échoue systématiquement, essayez de spécifier ad-hoc ici.
iwpriv_scan_pre_eth0 Envoie des commandes iwpriv à l'interface avant le scan.
Veuillez lire man iwpriv pour les détails.
iwpriv_scan_post_eth0 Envoie des commandes iwpriv à l'interface après le scan.
Veuillez lire le man iwpriv pour les détails.

4.d. Spécifier une configuration réseau selon l'ESSID

Il se peut que lorsque vous vous connectez à ESSID1, vous ayez besoin d'une adresse IP statique et que lorsque vous vous connectez à ESSID2, vous vouliez du DHCP. En fait, on peut spécifier la plupart des variables selon l'ESSID. Voici comment faire.

Note : cela marche si vous utilisez WPA Supplicant ou Wireless Tools.

Important : vous devrez consulter la documentation sur les noms des variables.

Exemple de code 4.1 : surcharger la configuration réseau selon l'ESSID

config_ESSID1="192.168.0.3/24 brd 192.168.0.255"
routes_ESSID1="default via 192.168.0.1"

config_ESSID2="dhcp"
fallback_ESSID2="192.168.3.4/24"
fallback_route_ESSID2="default via 192.168.3.1"

# On peut également définir les serveurs de noms, entre autres.
# Note : DHCP écraserait ces valeurs à moins qu'on ne lui
# indique le contraire.
dns_servers_ESSID1="192.168.0.1 192.168.0.2"
dns_domain_ESSID1="some.domain"
dns_search_domains_ESSID1="search.this.domain search.that.domain"

# On surcharge en fonction de l'adresse MAC du point d'accès.
# C'est pratique si plusieurs points d'accès ont le même ESSID.
config_001122334455="dhcp"
dhcpcd_001122334455="-t 10"
dns_servers_001122334455="192.168.0.1 192.168.0.2"

[ << ] [ < ] [ Sommaire ] [ > ] [ >> ]


Imprimer

Voir tout

Dernière mise à jour le 17 décembre 2013

Cette traduction n'est plus maintenue

Résumé : Le sans fil n'est pas simple, espérons qu'on fera marcher le vôtre.

Sven Vermeulen
Auteur

Roy Marples
Auteur

Daniel Robbins
Auteur

Chris Houser
Auteur

Jerry Alexandratos
Auteur

Seemant Kulleen
Développeur Gentoo x86

Tavis Ormandy
Développeur Gentoo Alpha

Jason Huebel
Développeur Gentoo AMD64

Guy Martin
Développeur Gentoo HPPA

Pieter Van den Abeele
Développeur Gentoo PPC

Joe Kallar
Développeur Gentoo SPARC

John P. Davis
Correcteur

Pierre-Henri Jondot
Correcteur

Eric Stockbridge
Correcteur

Rajiv Manglani
Correcteur

Jungmin Seo
Correcteur

Stoyan Zhekov
Correcteur

Jared Hudson
Correcteur

Colin Morey
Correcteur

Jorge Paulo
Correcteur

Carl Anderson
Correcteur

Jon Portnoy
Correcteur

Zack Gilburd
Correcteur

Jack Morgan
Correcteur

Benny Chuang
Correcteur

Erwin
Correcteur

Joshua Kinard
Correcteur

Tobias Scherbaum
Correcteur

Lars Weiler
Correcteur

Jochen Maes
Correcteur

Grant Goodyear
Relecteur

Gerald J. Normandin Jr.
Relecteur

Donnie Berkholz
Relecteur

Ken Nowack
Relecteur

Xavier Neys
Correcteur, traducteur

Camille Huot
Traducteur

Benjamin Girault
Traducteur

Olivier Fisette
Traducteur

Olivier Roomans
Traducteur

Vincent Strubel
Traducteur

Clément Varaldi
Traducteur

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.