R�seaux sans fil sous Linux

ArticleCategory: System Administration[Choose a category, translators: do not translate this, see list below for available categories]

System Administration

AuthorImage:[Here we need a little image from you]

[Photo of Wang Xu]

TranslationInfo:[Author + translation history. mailto: or http://homepage]

original in cn Wang Xu 

cn to en Wang Xu

en to fr Laurent RICHARD

AboutTheAuthor:[A small biography about the author]

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.

Abstract:[Here you write a little summary]

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.

ArticleIllustration:[One image that will end up at the top of the article]

interconnection sans fil entre des ordinateurs

ArticleBody:[The main part of the article]

Introduction

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.

Fonctionnement des cartes r�seaux sans-fil

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 :

Dans les sections suivantes, l'auteur nous illustrera ces m�thodes avec des exemples.

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=y
Si ce n'est pas le cas, vous devriez reconfigurer le noyau et activer l'option � Wireless LAN (non-hamradio) Drivers and Wireless Extensions �.

Support du noyau pour le r�seau sans-fil

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.

Modules ind�pendants pour les cartes r�seaux sans-fil sp�cifiques

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.tgz
Ensuite, 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 install
Apr�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 ipw2100
Vous 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=wlan0
Ainsi, l'interface sera nomm�e wlan0. Pour les autres arguments, vous pouvez lire les documents inclus dans le paquet source du pilote ipw2100.

Faire fonctionner les autres cartes

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 install
Ensuite, vous pouvez charger le pilote Windows dans la sous-couche adaptatrice
APTITUDE:/usr/src/ndiswrapper-0.11# ndiswrapper -i ../wg121/WG121V200/ndis5/netwg121.inf
o� 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.

Authentification

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.

Utilitaires pour les r�seaux sans-fil

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:0

Avec 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:0

Ici, 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:0

Vous 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=1

Et 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.

Conclusion

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 !

R�f�rences

  1. Le projet de sous-couche adaptatrice NDIS, http://ndiswrapper.sourceforge.net;
  2. Le projet Prism54, http://prism54.org;
  3. Le projet IPW2100, http://ipw2100.sourceforge.net;
  4. Le projet Open1x, http://open1x.sourceforge.net;
  5. Jean Tourrilhes, outils sans fil, http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html.