Configuration du wifi sous Linux
Transcription
Configuration du wifi sous Linux
WiFi sous Linux • Première étape : diagnostic • Deuxième étape : la carte n'est pas reconnue • Troisième étape : configurer la carte • En WEP • En WPA • Quatrième étape : se connecter au point d'accès • Toujours en difficulté ? • A lire aussi: Wifi linux Ce tutoriel s'adresse aux personnes sous debian et les distributions qui se basent dessus (ubuntu, xandros...). Le tutoriel s'appuie directement sur les gestionnaires de paquets en ligne de commande pour s'affranchir de l'interface graphique utilisée (KDE, gnome...), mais on pourrait installer ces paquets via synaptic, adept ou tout autre assistant graphique. De même, dans ce tutoriel, on modifie directement les fichiers de configuration réseau pour s'abstraire des éventuels assistants (comme Network Manager) et de leur interface graphique. Toutefois, de plus en plus linux permet (si la carte wifi est correctement prise en charge par linux !) de se connecter à un réseau sans fil très facilement. Le but de ce tutoriel est de détailler pas à pas toute mise en place manuelle du wifi sous debian ou distribution dérivée. Pour toutes ces raisons, le tutoriel ne parlera que de commandes à taper dans un terminal et s'abstrait complètement de l'interface graphique utilisée. Pour lancer un terminal : http://doc.ubuntu-fr.org/terminal Première étape : diagnostic Les cartes wifi sont de mieux en mieux reconnues et souvent tout marche directement. Le wifi se configure avec iwconfig, qui appartient au paquet wireless-tools. 1) Sous debian, ce paquet n'est pas présent par défaut (sous ubuntu passer à l'étape 2). Pour l'installer : sudo aptitude update sudo aptitude safe-upgrade sudo aptitude install wireless-tools Évidemment, ça suppose d'avoir un autre moyen de se connecter (ethernet,...). Sinon, relevez l'adresse des paquets qu'aptitude cherche à télécharger, récupérez-les (par exemple sous un système ou le Wi-Fi fonctionne) et mettez-les dans /var/cache/apt/archives. Puis relancez la commande : sudo aptitude install wireless-tools 2) Listons à présent les cartes disponibles. Sur les portables, vérifiez que l'interrupteur de la carte wifi est activé (la diode devrait être allumée même si sous linux ça ne veut pas dire grand chose) : (mando@cenedra) (~) $ /sbin/iwconfig lo no wireless extensions. eth0 no wireless extensions. wmaster0 no wireless extensions. eth1 IEEE 802.11g ESSID:"xxxxx" Mode:Managed Frequency:2.412 GHz Bit Rate=48 Mb/s Nickname:"" Access Point: xx:xx:xx:xx:xx:xx Tx-Power=27 dBm Retry min limit:7 RTS thr:off Fragment thr=2346 B Power Management:off Link Quality=57/100 Rx invalid nwid:0 Signal level=-74 dBm Rx invalid crypt:0 Tx excessive retries:0 Invalid misc:0 Noise level=-96 dBm Rx invalid frag:0 Missed beacon:0 Dans cet exemple, tout va bien, une carte wifi nommée eth1 a été trouvée. Selon la machine et la marque, la carte peut s'appeler différemment (eth2, wlan0, ra0, ...), la seule chose qui compte, c'est ce qui apparaît dans iwconfig. Si la carte n'apparaît pas dans le iwconfig, c'est que la carte n'est pas prise en charge. Dans ce cas, passez à la seconde étape, et sinon, directement à la troisième étape. Deuxième étape : la carte n'est pas reconnue Si la carte n'est pas directement reconnue, il faut essayer selon la marque. En général, il suffit de s'inspirer de ce qui est dit ici : http://doc.ubuntu-fr.org/wifi Dans les grandes lignes ou si la carte n'est pas référencée sur la page de documentation mentionnée cidessus, on adoptera la démarche suivante. 1) Chercher un drivers linux Pour les ralink : (mando@cenedra) (~) $ apt-cache search ralink rt2400-source - source for rt2400 wireless network driver rt2500-source - source for rt2500 wireless network driver rt2570-source - source for rt2570 wireless network driver Pour les atheros, on utilise par exemple madwifi. Pour les intel : il faut installer un firmware (pensez à rajouter les dépôts non-free dans /etc/apt/sources.list si ces paquets n'apparaissent pas) : (mando@aldur) (~) $ apt-cache search firmware | grep -i intel | grep -i firmware firmware-ipw2x00 - Binary firmware for Intel Pro Wireless 2100, 2200 and 2915 firmware-iwlwifi - Binary firmware for Intel Wireless 3945 and 4965 Parfois d'autre cartes peuvent marcher avec cette méthode 2) Convertir le driver windows avec ndiswrapper. On pourra s'inspirer des liens suivants (le premier est appliqué à une mandriva mais modulo le urpmi évoqué au début, la démarche reste la même) : Wifi livebox et ndiswrapper sous Mandriva 2005 Installer un pilote wifi grâce à Ndiswrapper http://doc.ubuntu-fr.org/ndiswrapper Troisième étape : configurer la carte Je pars du principe que le point d'accès distribue dynamiquement (par DHCP) une adresse IP, des routes, des DNS, ce qui est le cas de la majorité des points d'accès wifi (box en particulier). Sur les dernières distributions, plutôt que d'aller modifier les fichiers de configuration à la main, on utilisera une interface graphique comme par exemple Network Manager. Cela signifie que la plupart du temps, ce qui est indiqué ci-dessous n'a pas besoin d'être fait ! http://doc.ubuntu-fr.org/networkmanager Si on ne veut pas ou peut pas passer par Network Manager, la méthode "manuelle" est détaillée ci-dessous. En WEP Il suffit de modifier le fichier /etc/network/interfaces conformément à cet exemple en tapant en root ou avec sudo : sudo nano /etc/network/interfaces Ensuite, on modifie la section relative à la carte (ici eth1) sans toucher au reste : auto eth1 iface eth1 inet dhcp wireless-essid Mon_EssiD wireless-key 1234567890ABCDEF ... où 1234567890ABCDEF désigne la clé WEP. Attention à bien respecter la casse au moment de saisir l'ESSID. On sauve et quitte (ctrl x). En WPA C'est à peine plus compliqué, mais il faut au préalable installer wpa_supplicant. Si seule la connexion Ethernet est possible et que ce paquet manque, reproduisez la démarche proposée dans la première étape pour récupérer wpasupplicant et ses dépendances : sudo aptitude install wpasupplicant Ensuite, on corrige /etc/network/interfaces : sudo nano /etc/network/interfaces Et on modifie la section correspondant à la carte wifi (ici eth1) : auto eth1 iface eth1 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf On sauve et on quitte (ctrl x). Il faut à présent configurer wpasupplicant : sudo nano /etc/wpa_supplicant/wpa_supplicant.conf Dans ce fichier, on met : ctrl_interface=/var/run/wpa_supplicant eapol_version=1 ap_scan=1 fast_reauth=1 network={ ssid="Mon_EssiD" scan_ssid=1 proto=WPA key_mgmt=WPA-PSK psk=1234567890ABCDEF priority=5 } ... où 1234567890ABCDEF désigne la clé WPA. Attention à bien respecter la casse au moment de saisir l'ESSID. On sauve et quitte (ctrl x). Note : sur les versions récentes, il semblerait que la clé WPA puisse directement être configurée dans /etc/network/interfaces et qu'il n'y ait plus forcément besoin de wpa_supplicant. Quatrième étape : se connecter au point d'accès 1) Préparez le routeur : •Pour les détenteurs d'une freebox, assurez-vous que le service wifi est activé sur l'interface web de la freebox et que vous êtes en mode routeur. Pensez à configurer les éventuelles redirections de ports dont vous pourriez avoir besoin si vous étiez en mode modem. •Pour les détenteurs de livebox, appuyez sur le bouton qui fait clignoter la diode wifi (au bas de la livebox, ou au dos de la livebox) •Pour les détenteurs de routeurs wifi effectuant un filtrage sur l'adresse MAC, ajoutez au préalable l'adresse MAC de votre carte wifi dans la liste des interfaces autorisées par votre routeur, en vous connectant en ethernet ou USB à l'interface de votre routeur. Vous pouvez récupérer cette adresse avec la commande ifconfig : (mando@cenedra) (~) $ /sbin/ifconfig ... eth1 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx inet adr:192.168.0.13 Bcast:192.168.0.255 Masque:255.255.255.0 ... d- Pour les autres... ben... lisez la notice, j'ai jamais testé :-) 2) Connectez l'interface. Étant donné que /etc/network/interfaces est prêt, on peut directement utiliser ifup (connecte l'interface) et ifdown (déconnecte l'interface) : sudo ifup eth1 Notons que ceci équivaut à : sudo ifconfig eth1 up sudo dhclient eth1 Si tout se passe bien, ça devrait ressembler à ça : (mando@cenedra) (~) $ sudo dhclient eth1 [sudo] password for root: Internet Systems Consortium DHCP Client V3.0.6 Copyright 2004-2007 Internet Systems Consortium. All rights reserved. For info, please visit http://www.isc.org/sw/dhcp/ wmaster0: unknown hardware address type 801 wmaster0: unknown hardware address type 801 Listening on LPF/eth1/00:19:d2:4d:2e:f5 Sending on LPF/eth1/00:19:d2:4d:2e:f5 Sending on Socket/fallback DHCPREQUEST of 192.168.0.13 on eth1 to 255.255.255.255 port 67 .... DHCPACK of 192.168.0.13 from 192.168.0.254 bound to 192.168.0.13 -- renewal in 343576 seconds Ici la carte wifi a reçu l'IP locale 192.168.0.13 (qui a dit que 13 portait malheur ?) A priori, si le DHCPACK a marché, tout devrait être bon car on a aussi reçu des routes et des DNS. Pour s'en assurer : /sbin/route -n cat /etc/resolv.conf On peut vérifier que tout marche bien : nslookup www.google.fr ping -c2 www.google.fr Partant de là tout devrait marcher ;-) Toujours en difficulté ? Il suffit d'ouvrir un message sur le forum linux Pensez à préciser : •votre modèle de carte wifi •votre distribution •votre type de routeur Il faudra aussi reporter les résultats des commandes de diagnostic suivantes : /sbin/iwconfig /sbin/ifconfig /sbin/route -n cat /etc/resolv.conf nslookup www.google.fr ping -c2 www.google.fr ... et le contenu des fichiers de configurations wifi : cat /etc/network/interfaces cat /etc/wpa_supplicant/wpa_supplicant.conf Pensez à anonymiser les clés (WEP, WPA) qui pourraient apparaître lors du iwconfig et dans les fichiers de configuration.
Documents pareils
TUTORIEL Starinux : Dongle WiFi de la Livebox sous Linux
lo no wireless extensions.
eth0 no wireless extensions.
eth1 IEEE 802.11b ESSID:"Wanadoo_xxxx"
Mode:Managed Frequency:2.457 GHz Access Point: 00:03:C9:71:FF:76
Bit Rate:54 Mb/s Tx-Power:32 dBm
RTS ...
Installation d`une connexion WIFI WPA2
Listing 8. Configuration du fichier wpa supplicant
# nano /etc/wpa/wpa_supplicant
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=wheel
ap_scan=0
#update_config=1
network={
ssid="gentoo...