Guide d utilisation du réseau sans fil pour les utilisateurs de LINUX Nos partenaires : CISR/réseau-intra/EG version du lundi 17 juillet 2006 Page 1 sur 10
1. Introduction Ce texte est une adaptation et traduction de la documentation de Jean Tourrilhes que l on peut trouver à l adresse suivante : http://www.hpl.hp.com/personal/jean_tourrilhes/linux/linux.wireless.pdf et des articles «Hardware-hard_net-wifi» et «Utiliser_la_carte_wifi_Intel_PRO_Wireless_2200BG» du site lea-linux.org, respectivement aux adresses http://lea-linux.org/cached/index/hardware-hard_netwifi.html# et http://lea-linux.org/cached/index/utiliser_la_carte_wifi_intel_pro_wireless_2200bg.html#. Plusieurs étapes sont nécessaires pour le fonctionnement du wifi sous linux. 1. Installation des drivers de la carte Wifi s ils ne sont pas déjà inclus dans le noyau de la distribution utilisée. 2. Installation du package WirelessTools qui permet de paramétrer la carte Wifi et du package Wpa_supplicant pour se connecter de manière sécurisée ( WEP,WPA). 3. Configuration de la connexion Wifi 2. Pré requis sur le noyau Le noyau de la distribution utilisée doit être configuré avec l option «Wireless LAN Drivers (non-hamradio) & Wireless Extensions» activée. Dans le cas d une distribution Debian, vous pouvez vérifier cela à l aide de la commande qui permet de voir les options qui ont permis de compiler le noyau : [root@localhost]# more /boot/config-(numerodunoyau) 3. Installation des drivers de la carte réseau wifi Avant de pouvoir se connecter en Wifi, il faut tout d abord identifier la carte réseau wifi que l on utilise, vérifier qu elle est compatible avec linux et enfin installer les drivers correspondant s ils ne sont pas déjà inclus dans le noyau. CISR/réseau-intra/EG version du lundi 17 juillet 2006 Page 2 sur 10
3.1 Identification de la carte wifi utilisée Différentes commandes sont disponibles pour identifier sa carte wifi selon son type (pci, usb, pcmcia) et le noyau Linux que l on utilise. Pour les cartes PCI, il suffit de taper : [root@localhost]# lspci Pour les cartes reliées en usb, il faut taper la commande suivante : [root@localhost]# lsusb Remarque, si cette commande ne marche pas, on peut récupérer les informations en regardant les logs du noyau à l aide la commande : [root@localhost]# dmesg Pour les cartes PCMCIA, suivant le type de carte (32 ou 16 bits) et le type de noyau, différentes commandes sont possibles. - Carte PCMCIA 32 bits et un noyau récent ( 2.6.X ou 2.4.X ) : [root@localhost]# lspci - Carte PCMCIA 32 bits et un ancien noyau : [root@localhost]# cardctl ident - Carte PCMCIA 16 bits et un noyau récent ( > 2.6.14 ) : [root@localhost]# pccardctl ident - Carte PCMCIA 16 bits et un ancien noyau : [root@localhost]# cardctl ident En cas de doute ou d échec d une commande, les autres commandes peuvent être essayées. CISR/réseau-intra/EG version du lundi 17 juillet 2006 Page 3 sur 10
3.2 Compatibilité des cartes wifi avec Linux Il n existe pas de liste exhaustive concernant la compatibilité des cartes wifi avec linux. Cependant, on peut se référer aux documents suivants : - Linux Wireless HowTo en anglais [1] qui énumère un grand nombre de matériels compatibles - le site http://linux-wless.passys.nl/ qui permet d interroger une base de données par chipset, par constructeur ou par interface (pci,usb, ) pour déterminer la compatibilité d une carte - le site http://kmuto.jp/debian/hcl/index.cgi permet de voir si les pilotes de votre carte sont disponibles - les sites de constructeur de cartes http://www.netgear.com, http://www.linksys.com, http://www.d-link.com - les sites Web et FAQ sur le Wifi tels que http://www.wlanfr.net - effectuer une recherche à l aide d un moteur de recherche!!! 3.3 Installation des drivers Les cartes Wifi compatibles avec Linux dépendent du chipset intégré à celles-ci. Les projets suivants permettent d'obtenir les drivers associés : MadWifi pour les cartes à base de chipset Atheros ( http://wiki.linuxquestions.org/wiki/madwifi ) Intel_Pro_Wireless ( http://wiki.linuxquestions.org/wiki/intel_pro_wireless ) Prism 2/2.5/3 ( http://wiki.linuxquestions.org/wiki/prism_2_drivers ) Ralink RT2400/2500 ( http://wiki.linuxquestions.org/wiki/ralink_wireless_drivers ) Prism 54/GT/Duette/Indigo ( http://wiki.linuxquestions.org/index.php?title=prism54&action=edit ) Texas Instruments ACX100/111 (http://wiki.linuxquestions.org/index.php?title=acx100&action=edit ) RealTek ( http://wiki.linuxquestions.org/index.php?title=rtl8180&action=edit ) Atmel ( http://wiki.linuxquestions.org/wiki/at76c5xxx ) Pour les cartes non supportées par les projets précédents, certains constructeurs de cartes Wifi mettent à disposition sur leur site des drivers linux. Si ce n est pas le cas, il existe deux méthodes pour utiliser les drivers de Windows : NdisWrapper (http://ndiswrapper.sourceforge.net/) est un chargeur de drivers capable de les charger à partir des drivers Windows. Ce produit est libre. On peut trouver la liste des cartes compatibles à l adresse suivante : http://ndiswrapper.sourceforge.net/mediawiki/index.php/list DriverLoader de Linuxant (http://www.linuxant.com/driverloader/) est un chargeur de drivers comme NdisWrapper. Ce produit est payant et non libre. CISR/réseau-intra/EG version du lundi 17 juillet 2006 Page 4 sur 10
4. Installation des packages Wirelesstools et wpa_supplicant 4.1 Installation du package wireless-tools Ce package est un ensemble d outils facilitant l utilisation d une connexion Wifi.Il est disponible à l adresse suivante http://www.hpl.hp.com/personal/jean_tourrilhes/linux/tools.html. Cependant, il est maintenant inclus dans la plupart des distributions Linux. Deux commandes sont particulièrement intéressantes : iwconfig qui permet de configurer les paramètres de la connexion wifi. iwlist qui permet de scanner et de lister les ssids, les fréquences et les bornes wifi à proximité. Avec une distribution Debian, il suffit de taper la commande ci-dessous pour installer ce package : [root@localhost]# apt-get install wireless-tools La commande iwconfig permet de connaitre la configuration des interfaces réseaux sans fil. [root@localhost]# iwconfig lo eth0 no wireless extensions. no wireless extensions. ath0 IEEE 802.11 ESSID:"" Mode:Managed Frequency:2.412 GHz Access Point: 00:00:00:00:00:00 Bit Rate:0 kb/s Tx-Power:20 dbm Sensitivity=0/3 Retry:off RTS thr:off Fragment thr:off Encryption key:off Power Management:off Link Quality=0/94 Signal level=-95 dbm Noise level=-95 dbm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0 La commande suivante permet d obtenir la liste des ssids captés par la carte réseau sans fil. [root@localhost]# iwlist ath0 scan ath0 Scan completed : Cell 01 - Address: 00:0B:86:C3:79:22 ESSID:"UCBL-Portail" Mode:Master Frequency:2.437 GHz (Channel 6) Quality=28/94 Signal level=-67 dbm Noise level=-95 dbm Encryption key:off Bit Rate:1 Mb/s Bit Rate:2 Mb/s Bit Rate:5 Mb/s Bit Rate:6 Mb/s Bit Rate:9 Mb/s Bit Rate:11 Mb/s Bit Rate:12 Mb/s Bit Rate:18 Mb/s CISR/réseau-intra/EG version du lundi 17 juillet 2006 Page 5 sur 10
Bit Rate:24 Mb/s Bit Rate:36 Mb/s Bit Rate:48 Mb/s Bit Rate:54 Mb/s Extra:bcn_int=100 Cell 02 - Address: 00:0B:86:C3:79:22 4.2 Installation du package wpa_supplicant Le package wpa_supplicant permet l utilisation d une connexion wifi sécurisée. Il est indispensable si l on veut se connecter aux ssids «UCBL-DynWep» et «UCBL-WPA- WPA2» qui utilisent une méthode d authentification 802.1x et un chiffrement des données. Il n est cependant pas nécessaire de l installer si on se connecte seulement au ssid «UCBL- Portail». Le package peut faire partie de votre distribution Linux ou être téléchargé directement à l adresse suivante http://hostap.epitest.fi/wpa_supplicant/. L installation sur une Debian se fait en tapant la commande ci-dessous : [root@localhost]# apt-get install wpasupplicant 5. Configuration d une connexion wifi à l université Claude Bernard Lyon1 Pour rappel, il existe trois modes de connexion au réseau sans fil de l université correspondant à trois SSIDs : UCBL-Portail, UCBL-DynWep et UCBL-WPA-WPA2. Seuls, les deux derniers sont sécurisés. 5.1 Connexion à UCBL-Portail Pour se connecter à UCBL-Portail, seules trois commandes sont nécessaires : [root@localhost]# iwconfig [root@localhost]# iwconfig ath0 essid UCBL-Portail [root@localhost]# pump-i ath0 La première permet de récupérer le nom de l interface Wifi. lo eth0 no wireless extensions. no wireless extensions. ath0 IEEE 802.11 ESSID:"" Mode:Managed Frequency:2.412 GHz Access Point: 00:00:00:00:00:00 Bit Rate:0 kb/s Tx-Power:20 dbm Sensitivity=0/3 Retry:off RTS thr:off Fragment thr:off Encryption key:off Power Management:off Link Quality=0/94 Signal level=-95 dbm Noise level=-95 dbm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0 CISR/réseau-intra/EG version du lundi 17 juillet 2006 Page 6 sur 10
La seconde permet de régler le SSID. Il faut bien remplacer ath0 de l exemple par le nom de l interface qui vous aura été fournie par la première commande. La troisième commande permet de récupérer une adresse IP. Il peut être nécessaire d installer le package pump si la commande n est pas disponible. Il faut ensuite ouvrir votre navigateur Web préféré et taper l adresse d un site Web extérieur à l université. Actualisez la page car celle-ci ne doit pas provenir du cache du navigateur. La page suivante doit apparaitre. Remplissez les deux champs USERNAME et PASSWORD qui correspondent à votre login et à votre mot de passe utilisés pour l accès à l Intranet de l université, sélectionnez univlyon1.fr dans le champ FQDN et cliquez sur la case Log In. La page ci-dessous apparait et une redirection automatique vers le site demandé s effectue. La connexion Wifi est maintenant effective et opérationnelle. CISR/réseau-intra/EG version du lundi 17 juillet 2006 Page 7 sur 10
Remarque : Il est très important de rajouter cette page dans vos bookmarks ou favoris car il faudra revenir sur cette page pour vous déconnecter. Une autre manière de se déconnecter est de garder la petite fenêtre pop-up en bas à droite durant toute la connexion et de cliquer sur Logout pour se déconnecter 5.2 Connexion à UCBL-DynWep Le package wpasupplicant étant installé, éditez le fichier /etc/wpa_supplicant.conf avec votre éditeur préféré et copier le contenu ci-dessous. # fichier de configuration pour se connecter sur le # ssid UCBL-WPA-WPA2 ctrl_interface=/var/run/wpa_supplicant ctrl_interface_group=0 eapol_version=1 ap_scan=1 fast_reauth=1 network={ } ssid="ucbl-dynwep" key_mgmt=ieee8021x eap=peap identity="votrelogin" password="votrepassword" phase2="auth=mschapv2" eapol_flags=3 # iwconfig # wpa_supplicant D madwifi i ath0 -c /etc/wpa_supplicant.conf # pump i ath0 CISR/réseau-intra/EG version du lundi 17 juillet 2006 Page 8 sur 10
La première commande permet de récupérer le nom de l interface Wifi comme dans le paragraphe 5.1. La seconde permet de lancer wpa_supplicant. Il faut bien remplacer madwifi par le nom du driver correspondant à votre carte. La troisième commande permet de récupérer une adresse IP. Il peut être nécessaire d installer le package pump si la commande n est pas disponible. Après cette dernière commande, la connexion Wifi est maintenant effective et opérationnelle. 5.3 Connexion à UCBL-WPA-WPA2 Le package wpasupplicant étant installé, éditer le fichier /etc/wpa_supplicant.conf avec votre éditeur préféré et copier le contenu ci-dessous. # fichier de configuration pour se connecter sur le # ssid UCBL-WPA-WPA2 ctrl_interface=/var/run/wpa_supplicant ctrl_interface_group=0 eapol_version=1 ap_scan=1 fast_reauth=1 network={ } ssid="ucbl-wpa-wpa2" key_mgmt=wpa-eap eap=peap identity="votrelogin" password="votrepassword" phase2="auth=mschapv2" # iwconfig # wpa_supplicant D madwifi i ath0 c /etc/wpa_supplicant.conf # pump i ath0 La première commande permet de récupérer le nom de l interface Wifi comme dans le paragraphe 5.1. La seconde permet de lancer wpa_supplicant. Il faut bien remplacer madwifi par le nom du driver correspondant à votre carte. La troisième commande permet de récupérer une adresse IP. Il peut être nécessaire d installer le package pump si la commande n est pas disponible. Après cette dernière commande, la connexion Wifi est maintenant effective et opérationnelle. CISR/réseau-intra/EG version du lundi 17 juillet 2006 Page 9 sur 10
6. Références Voici la liste des sites intéressants au sujet du wifi sous linux qui ont servi à l élaboration de ce document. [1] http://www.hpl.hp.com/personal/jean_tourrilhes/linux/linux.wireless.pdf [2] http://lea-linux.org/cached/index/hardware-hard_net-wifi.html# [3] http://lea-linux.org/cached/index/utiliser_la_carte_wifi_intel_pro_wireless_2200bg.html# [4] http://www.hpl.hp.com/personal/jean_tourrilhes/linux/tools.html CISR/réseau-intra/EG version du lundi 17 juillet 2006 Page 10 sur 10