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