|
|
Ce document est disponible en: English ChineseGB Deutsch Francais Italiano Turkce |
par Wang Xu <wangxu[at]linuxfocus.org> L´auteur: Wang Xu est doctorant à l'Université des Postes et Télécommunications de Pékin en Chine et s'intéresse plus particulièrement aux communications sans fil. Il est une fervent adepte de Linux depuis 1999 alors qu'il n'était encore qu'un lycéen. A côté de Linux, il s'adonne également à TeX, C/C++, Perl, etc. Traduit en Français par: Laurent RICHARD <kouran[at]linuxmail.org> Sommaire:
|
Réseaux sans fil sous LinuxRésumé:
Dans cet article, l'auteur nous parle des pilotes de plusieurs cartes réseaux
sans-fil assez répandues et de quelques problèmes comme l'authentification
basée sur le 802.1x.
|
Les réseaux sans-fil (IEEE 802.11b/a/g) deviennent de plus en plus populaires à mesure que les périphériques sans-fil deviennent bon marché et que de plus en plus d'organisations fournissent un accès sans-fil à leur personnel ou au public. Quasiment tout nouvel ordinateur portable possède une carte sans-fil intégrée et les plus anciens ont une carte réseau sans-fil PCMCIA. Même les ordinateurs de bureau peuvent avoir des cartes réseaux sans-fil USB, voire des cartes réseaux sans-fil intégrées. D'autre part, les points d'accès (Access Point en anglais ou AP) sans-fil sont déployés sur les campus universitaires, les bâtiments contenant des bureaux, les hôtels, les habitations, etc. Le réseau sans-fil facilite le déploiement de réseaux locaux et permet l'informatisation mobile/nomade, laquelle est une autre révolution de notre vie professionnelle et quotidienne.
De ce fait, dans le monde Linux, il est dès lors tout aussi essentiel de pouvoir avoir accès aux réseaux sans-fil. Le reste de cet article sera organisé de la façon suivante. Tout d'abord, attardons-nous à voir comment les cartes fonctionnent. Ensuite, essayons d'accéder aux réseaux en utilisant l'authentification et donnons une brève introduction sur les outils pour la configuration de l'interface sans-fil. Nous terminerons par une conclusion sur ce que nous aurons appris.
Une fois que vous avez une carte réseau sans-fil installée sur votre ordinateur, la première étape est d'installer le pilote et de le faire fonctionner. Une carte réseau sans-fil implémente les fonctions de la couche physique (PHY) et la sous-couche de contrôle d'accès aux médias (MAC) comme spécifié dans au moins une des séries de protocoles IEEE 802.11 pendant que le pilote contrôle la carte et fournit d'autres interfaces de gestion spécifiques du réseau sans-fil.
Il n'existe pas une méthode unique pour installer les pilotes étant donné la multitude de vendeurs et de cartes se trouvant sur le marché. Cependant, la plupart d'entre elles peut fonctionner au travers de 3 méthodes :
Veuillez notez que même si vous utilisez une des deux dernières méthodes, vous devez vous assurer que le support du réseau sans-fil a bien été activé dans la configuration du noyau :
gnawux@APTITUDE:~$ grep CONFIG_NET_RADIO /boot/config-`uname -r` CONFIG_NET_RADIO=ySi ce n'est pas le cas, vous devriez reconfigurer le noyau et activer l'option « Wireless LAN (non-hamradio) Drivers and Wireless Extensions ».
Les pilotes qui sont assez aboutis et qui n'ont pas de problèmes de licences sont introduits dans le noyau Linux. Ainsi, la liste des cartes réseaux sans-fil dépend de la version du noyau et il est donc conseillé de vérifier si le nouveau noyau a un meilleur support de votre carte avant d'installer le pilote.
Dans cette section, l'auteur va illustrer comment utiliser le pilote pour les cartes réseaux sans-fil basées sur les chipsets Intersil Prism (ISL38xx). La liste des cartes supportées peut être trouvée à l'adresse http://prism54.org [2].
Pour utiliser une carte basée sur le chipset Prism, vous aurez besoin du dernier noyau 2.6 et d'activer l'option « Intersil Prism GT/Duette/Indigo PCI/Cardbus » dans la section « Wireless LAN driver » de la configuration du noyau et recompiler le noyau.
Si vous lisez le texte d'aide du module avec attention lorsque vous configurerez le noyau, vous pourrez trouver que vous allez avoir besoin d'un firmware du site Internet du projet prism54.org [2]. Cela provient du fait que la carte n'a pas d'EPROM pour stocker son firmware. Dès lors, il faudra télécharger le firmware lorsque le pilote initialisera la carte. Le firmware ne peut pas faire partie du noyau pour des raisons de conflit de licence. Après avoir récupéré le firmware et l'avoir mis dans « /usr/lib/hotplug/firmware/ », relancer votre ordinateur et vous remarquerez que vous avez une interface ethernet supplémentaire provenant de votre carte réseau sans-fil.
Beaucoup de nouvelles cartes, comme d'autres nouveaux composants, ne possèdent pas de pilotes compatibles GPL qui soient fournis par les vendeurs ou les pilotes développés par la communauté open-source ne sont pas encore assez aboutis pour être inclus dans le noyau. Dès lors, ces pilotes sont fournis en tant que modules et certains d'entre eux seront éventuellement ajoutés dans les prochains noyaux quand ils seront terminés.
Un de ces pilotes les plus célèbres est le ipw2100 [3] pour la carte Intel Pro/Wireless 2100 faisant partie de la technologie Intel Centrino® qui est installée sur beaucoup d'ordinateurs portables. Dans cette section, l'auteur va faire une introduction à l'installation du pilote ipw2100.
D'abord, vous aurez besoin de télécharger le paquet source du pilote ainsi que le firmware sur le site Internet du projet, http://ipw2100.sourceforge.net. Après vous être assuré que votre noyau est assez récent et l'avoir recompilé avec le support des modules, du firware hotplug et du réseau sans-fil comme dit plus haut, décompressez le paquet source :
APTITUDE:/usr/src# tar -zxvf ipw2100-1.0.1.tgzEnsuite, allez dans le répertoire source pour le compiler et l'installer :
APTITUDE:/usr/src/ipw2100-1.0.1# make APTITUDE:/usr/src/ipw2100-1.0.1# make installAprès avoir installé les modules, il vous indique que vous devrez installer le firmware :
Don't forget to copy firmware to /usr/lib/hotplug/firmware/ and have the hotplug tools in place.Comme le dit si bien le message : décompressez le firmware dans le répertoire hotplug et la procédure d'installation sera terminée. Maintenant, vous pouvez activé le module ipw2100 en faisant :
APTITUDE:/usr/src/ipw2100-1.0.1# modprobe ipw2100Vous pouvez aussi ajouter ici certains arguments pour vos différentes configurations. Par exemple, l'argument ifname permet de spécifier le nom de l'interface :
APTITUDE:/usr/src/ipw2100-1.0.1# modprobe ipw2100 ifname=wlan0Ainsi, l'interface sera nommée wlan0. Pour les autres arguments, vous pouvez lire les documents inclus dans le paquet source du pilote ipw2100.
Malheureusement, certaines cartes ne possèdent pas de pilote pour Linux ou celui-ci ne fonctionne pas pour différentes raisons. Cependant, cela ne veut pas dire que vous ne pouvez pas l'utiliser sous Linux. Au moins, vous avez la sous-couche adaptatrice NDIS [1].
La plupart des cartes réseaux sans-fil pour les ordinateurs de bureau ou les ordinateurs portables supportent Windows 2000/XP, lequel gère le support du réseau sans-fil via une interface standard appelée NDIS. Ainsi, les pilotes pour de telles cartes supportent généralement le NDIS. Dès lors, nous pouvons créer une sous-couche adaptatrice pour le pilote et le faire ainsi fonctionner sous Linux comme si il était sous Windows 2000/XP, ce qui nous mène au projet ndiswrapper.
Dans cette section, l'auteur va installer la sous-couche adaptatrice ndis pour une carte réseau sans-fil Netgear 121 par exemple. D'abord, nous allons télécharger la sous-couche adaptatrice ndis depuis le site Internet du projet http://ndiswrapper.sourceforge.net et préparer le pilote NDIS pour Windows. La sous-couche adaptatrice ndis consiste en un module du noyau ainsi qu'en quelques outils. Vous devez la compiler et l'installer :
APTITUDE:/usr/src/ndiswrapper-0.11# make installEnsuite, vous pouvez charger le pilote Windows dans la sous-couche adaptatrice
APTITUDE:/usr/src/ndiswrapper-0.11# ndiswrapper -i ../wg121/WG121V200/ndis5/netwg121.infoù le fichier .inf est le pilote NDIS pour Windows. Après avoir installé le pilote NDIS, vous pourrez voir
APTITUDE:/usr/src/ndiswrapper-0.11# ndiswrapper -l Installed ndis drivers: netwg121 driver present
Félicitations ! La procédure d'installation est terminée.
Si vous accédez à un réseau sans-fil dans un espace public, le réseau sans-fil peut requérir que vous vous identifiiez pour des raisons de sécurité. La plupart des méthodes d'authentification pour les réseaux sans-fil sont basées sur l'IEEE 802.1x (EAP) et l'IEEE 802.11i. Les méthodes basées sur l'EAP sont actuellement les plus populaires.
Il y a beaucoup de méthodes d'authentification basées sur l'EAP, comme par exemple EAP-MD5, EAP-TLS, EAP-TTLS, EAP-SIM, LEAP, etc. Les utilisateurs Linux peuvent utiliser xsupplicant fourni par le projet Open1x [4] afin d'accéder à un réseau nécessitant une authentification basée sur le 802.1x. Dans cette section, l'auteur va utiliser le protocole LEAP qui est fourni par Cisco corp. comme exemple. Note: le fait de savoir si le protocole peut être supporté dépend de la carte et du pilote, par exemple même si votre xsupplicant est correctement installé et configuré, vous serez incapable d'accéder au réseau car votre carte ou le pilote ne le supporte pas.
Vous pouvez télécharger xsupplicant depuis le site Internet du projet, http://open1x.sourceforge.net, et l'installer. Ensuite, modifiez le fichier de configuration /etc/xsupplicant/xsupplicant.conf. Voici un exemple pour LEAP.
#example of /etc/xsupplicant/xsupplicant.conf #for LEAP protocol network_list = all #the list of networks to access default_netname = default #the default access network first_auth_command = <BEGIN_COMMAND>dhclient %i<END_COMMAND> #The command before authentication, which is usually used to get some info from #the network logfile = /var/log/xsupplicant.log #log file myssid #here is your network id, may be listed in the network list { type = wireless ssid = <BEGIN_SSID>myssid<END_SSID> allow_types = all identity = <BEGIN_ID>aptitude<END_ID> eap-leap { username = <BEGIN_UNAME>aptitude<END_UNAME> password = <BEGIN_PASS>passwd<END_PASS> }#setup for leap }LEAP est une méthode simple d'authentification mais il existe beaucoup d'autres configurations pour les autres méthodes. Veuillez donc vous référer aux exemples et au document de xsupplicant.
Comme vous le savez, les réseaux sans-fil fournissent une interface identique à celle d'ethernet et vous pouvez l'utiliser comme une autre interface ethernet. D'un autre côté, une carte réseau sans-fil offre bien plus de possibilités qu'une carte ethernet grâce au média sans fil. Ainsi, il y a quelques outils pour configurer le réseau sans-fil et obtenir des renseignements sur son état. Vous pourrez trouver les outils sans-fil sur http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html [5] dont le contributeur est Jean Tourrilhes.
L'outil le plus utile est iwconfig lequel peut être utilisé comme ifconfig. La commande iwconfig sans argument affichera le statut de fonctionnement actuel de la carte :
gnawux@APTITUDE:~$ /sbin/iwconfig wlan0 wlan0 unassociated ESSID:off/any Nickname:"ipw2100" Mode:Managed Channel=0 Access Point: 00:00:00:00:00:00 Bit Rate=0 kb/s Tx-Power:off Retry:on RTS thr:off Fragment thr:off Power Management:off Link Quality:0 Signal level:0 Noise level:0 Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0Avec l'argument « mode », vous pouvez changer le mode de fonctionnement de la carte réseau sans-fil :
APTITUDE:/home/gnawux# iwconfig wlan0 mode 1 APTITUDE:/home/gnawux# iwconfig wlan0 wlan0 unassociated ESSID:off/any Nickname:"ipw2100" Mode:Ad-Hoc Channel=0 Cell: 00:00:00:00:00:00 Bit Rate=0 kb/s Tx-Power:off Retry:on RTS thr:off Fragment thr:off Encryption key:off Power Management:off Link Quality:0 Signal level:0 Noise level:0 Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0Ici, nous changeons la carte réseau sans-fil en mode « Ad Hoc ». Nous pouvons également changer le nom du réseau au travers de l'argument « essid »:
APTITUDE:/home/gnawux# iwconfig wlan0 essid gnawux APTITUDE:/home/gnawux# iwconfig wlan0 wlan0 IEEE 802.11b ESSID:"gnawux" Nickname:"ipw2100" Mode:Ad-Hoc Frequency:2.412 GHz Cell: 02:0C:F1:0F:11:2A Bit Rate=0 kb/s Tx-Power:off Retry:on RTS thr:off Fragment thr:off Encryption key:off Power Management:off Link Quality=60/100 Signal level=-83 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0Vous avez peut-être remarqué que nous avons maintenant plus d'informations sur l'état du fait que nous avons un ESSID valide. Pour les autres arguments de iwconfig, reportez vous à iwconfig(8).
Un puissant outil est iwlist avec lequel vous pouvez obtenir la liste des ressources disponibles. Avec l'argument « scanning », nous pouvons obtenir la liste des points d'accès disponibles :
gnawux@APTITUDE:~$ /sbin/iwlist wlan0 scanning wlan0 Scan completed : Cell 01 - Address: 00:0D:BD:6F:B4:48 ESSID:"<hidden>" Protocol:IEEE 802.11b Mode:Master Channel:6 Encryption key:on Bit Rate:11 Mb/s Extra: Rates (Mb/s): 1 2 5.5 11 Extra: Signal: -70 dBm Extra: Last beacon: 59ms ago Cell 02 - Address: 86:CF:C1:34:12:06 ESSID:"gnawux" Protocol:IEEE 802.11b Mode:Ad-Hoc Channel:11 Encryption key:off Bit Rate:11 Mb/s Extra: Rates (Mb/s): 1 2 5.5 11 Extra: Signal: -37 dBm Extra: Last beacon: 2ms ago </hidden>Et avec l'argument « frequency » (freq), nous pouvons obtenir la liste des fréquences :
gnawux@APTITUDE:~$ /sbin/iwlist wlan0 freq wlan0 14 channels in total; available frequencies : Channel 01 : 2.412 GHz Channel 02 : 2.417 GHz Channel 03 : 2.422 GHz Channel 04 : 2.427 GHz Channel 05 : 2.432 GHz Channel 06 : 2.437 GHz Channel 07 : 2.442 GHz Channel 08 : 2.447 GHz Channel 09 : 2.452 GHz Channel 10 : 2.457 GHz Channel 11 : 2.462 GHz Channel 12 : 2.467 GHz Channel 13 : 2.472 GHz Channel 14 : 2.484 GHz Current Channel=1Et bien sûr, vous pouvez vous référer à iwlist(8) pour les autres arguments.
A coté des deux ci-dessus, il existe d'autres utilitaires comme iwevent, iwgetid, iwpriv ou iwspy pour vous permettre d'obtenir l'état de fonctionnement de votre carte réseau sans-fil et de le gérer.
L'auteur nous montrer l'installation du pilote pour différentes cartes réseaux sans-fil et nous montre comment s'authentifier. Les puissants utilitaires pour les cartes réseaux sans-fil sont aussi introduits dans cette article.
Merci à la contribution de la communauté open-source grâce à laquelle nous somme capables d'accéder au réseaux sans fil sous Linux mais également d'en profiter pleinement !
Site Web maintenu par l´équipe d´édition LinuxFocus
© Wang Xu "some rights reserved" see linuxfocus.org/license/ http://www.LinuxFocus.org |
Translation information:
|
2005-02-15, generated by lfparser version 2.52