Les incontournables de l`informatique sans fil sous Linux
Transcription
Les incontournables de l`informatique sans fil sous Linux
Les incontournables de l’informatique sans fil sous Linux Frédéric Guinand 1 Julien Franzolini Les interfaces Wifi Les interfaces WiFi utilisent un ensemble de prérequis afin de pouvoir communiquer, cela va bien entendu du pilote pour le système jusqu’à des fonctions élaborées de cryptage. En effet, le fait que le signal ne soit pas canalisé, comme les signaux des réseaux câblés, implique que tout le monde ”entend” tout. Cet état de fait impose à la fois un protocole d’accès au medium très strict (que nous verrons en cours) et une sécurité forte du réseau. En règle général pour ce type d’interfaces, le système inclut le pilote directement dans le noyau. C’est la méthode la plus efficace et la plus simple. Malheureusement, ceci n’est possible que si le pilote existe pour le système considéré. Les deux plus grands fabricants d’interfaces réseaux Wifi sont Intel et Realtek. Ils proposent différentes déclinaisons d’interface en fonction de leur possibilité à se connecter à du IEEE 802.11 a/b/g ou n. Lorsque l’interface réseau est présente sous la forme d’une carte reliée au bus pci, il est possible d’accéder à ses propriétés. En effet, pour lister les interfaces réseaux pci on peut utiliser la commande lspci. La configuration du noyau, pour ces interfaces, peut se faire grâce à un makefile situé dans le répertoire /usr/src/linux. Il suffit d’utiliser ce makefile avec l’option menuconfig ou xconfig1 . Une fois le module sélectionné et les choix effectués, ”il suffit” de recompiler le noyau et de l’installer pour que les changements soient pris en compte. Figure 1: Exemple d’affichage pour make menuconfig (avec les lignes correspondant aux interfaces réseaux sans fil) 1.1 Utilisation des librairies de cryptage La technologie sans fil peut faire appel à des modes de cryptage (WEP, WPA, WPA2, WPA2PSK) et des méthodes d’authenfication cryptées (TKIP, AES/CCMP). 1 e.g. make xconfig 1 Ces librairies sont chargées par défaut dans le noyau. Figure 2: Exemple d’affichage pour make menuconfig pour les propriétés de l’algorithme de cryptage. Il faut que l’interface réseau sans fil présente les propriétés requises pour la prise en charge de ces algorithmes de cryptage. 1.2 Récupération/installation d’un wrapper de pilote Dans notre cas le dongle USB Wifi n’est pas pris en charge par défaut et ne dispose pas de pilote (driver) spécifique à linux. Nous utiliserons donc le pilote pour Windows XP à l’aide d’un wrapper. L’objectif de ce wrapper est de rendre compréhensible par un système B (linux) un logiciel ayant vocation à s’exécuter sur un système A (Windows XP). 1. démarrez votre PC avec le liveCD (Ubuntu ou Open Suse), 2. insérez le dongle USB Wifi, 3. récupérez sur internet et installez ndiswrapper ainsi que les pilotes du dongle USB Wifi (recherche internet à partir du nom du dongle USB). Pour la récupération et l’installation de ndiswrapper, vous pouvez procéder de deux façons différentes. La première, qui est aussi la plus simple, est de chercher si ndiswrapper fait partie des dépôts. Tapez sudo apt-cache search ndiswrapper, si vous voyez apparaı̂tre ndiswrapper-utils-xxx et ndiswrappercommons alors vous pouvez continuer l’installation directe des paquets, sinon, si ndiswrapper n’est pas présent dans les dépôts, il faut le reconstruire. Vous devez donc télécharger les sources de ndiswrapper (merci les moteurs de recherche), puis utilisez le manuel (README et INSTALL) pour installer ndiswrapper, insérer le module dans le noyau. Ensuite : 1. pour éviter les conflits d’accès aux interfaces réseaux, il est nécessaire de stopper le logiciel de prise en charge NetworkManager. Pour le stopper : sudo /etc/init.d/NetworkManager stop 2. Vérifiez si l’installation fonctionne correctement. Tapez la commande ndiswrapper qui vous dit comment procéder. Si ce n’est pas clair, vous cherchez sur les pages de ubuntu. Pour effectuer les tâches indiquées sur 2 la page vous devez être superutilisateur (précédez vos commandes avec sudo. 2 3. lorsque vous listez, à l’aide de ndiswrapper les interfaces réseaux qui sont présentes et si tout s’est bien passé, vous devez avoir à l’affichage quelque chose du type : sis163u : driver installed device (0457:0163) present 4. après insertion du module ndiswrapper dans le noyau, le dongle USB Wifi doit s’allumer, il est temps de passer à l’étape de la configuration du matériel. 2 Configurer et utiliser l’interface WiFi 2.1 Une couche IP identique Arrivé à ce point, le matériel réseau Wifi est prêt à être utilisé. Cependant, pour avoir accès à un réseau sans fil : 1. il est nécessaire de pouvoir détecter les réseaux sans fil environnants afin de choisir celui auquel on souhaite se connecter, 2. il est impératif de réclamer au point d’accès une adresse IP pour pouvoir échanger des données avec le réseau, 3. enfin, il faut configurer un ensemble d’éléments pour que l’accès au réseau soit possible : serveurs de noms (fichier /etc/resolv.conf), masque de sous-réseau qui permet d’accéder à la passerelle (passerelle que l’on peut identifier à l’aide de la commande route, etc.) Pour l’utilisation de l’interface Wifi (détection et configuration), on utilise les wireless-tools, quant à la configuration IP de l’interface, celle-ci est le plus souvent assurée par le serveur dhcp (Dynamic Host Configuration Protocol). Le routeur LinkSys est équipé d’un serveur dhcp. Ce serveur permet d’allouer à des clients une adresse IP, met à jour le fichier dans lequel se trouve les adresses IP des serveurs de noms (/etc/resolv.conf), il met à jour également le masque de sous-réseau. Avant de procéder à la configuration de l’interface sans fil, nous allons ”réveiller” le réseau filaire. On procède en deux temps : 1. réveil de l’interface réseau filaire (eth0) : sudo ifconfig eth0 up 2. lancement d’un client dhcp sur cette interface réseau : sudo dhclient eth0 Après ces deux étapes, le réseau filaire est opérationnel. Vous pouvez examiner le fichier /etc/resolv.conf et constatez qu’il a été modifié. Lorsqu’une autre interface réseau est rendue opérationnelle par dhcp, la configuration précédente (serveur de noms, passerelle, masque de sous-réseau, etc.) est écrasée. 2 Remarque : selon les distributions le chargement du noyau est encore nécessaire mais cette étape est maintenant obselète. Utilisez dmesg si vous voulez connaitre les librairies gérées par l’interface. 3 2.2 Wireless tools 1. pour lister les points d’accès : iwlist [...] 2. pour configurer l’interface : iwconfig [...] Débrouillez-vous avec les pages de manuel : man iwlist et man iwconfig N’oubliez pas de lancer un client dhcp pour rendre votre interface opérationnelle. 3 Un script d’installation du dongle L’utilisation des livecd nécessite l’installation du dongle après chaque démarrage afin de gagner du temps. Réalisez un script qui permettra la l’installation automatique. Redémarrez après avoir sauvegarder le script, pour vérifiez qu’il fonctionne correctement. Attention toutes les données sauvegardées sur le système seront effacées après le redémarrage, vous veillerez donc à sauvegarder votre script à un endroit adéquat et pérenne. Le script devra faire: • la création du répertoire temporaire • la récupération de l’archive du wrapper et du dongle USB WiFi • l’extraction des archives • l’installation du wrapper et du pilote Windows XP • supprimer les données temporaires 4