Introduction
On verra au fur et à mesure de l'article, comment faire, avec Linux,
plusieurs virgueries qui sont impossibles sur des Systèmes
d'Exploitation propiétaires, comme par exemple
construire un Acces Point sur Linux avec une carte Conceptronic (Chipset
PRISM2) assez bon marché et qui n'est pas en principe préparée pour
servir de Maître (ou access point) d'un réseau.
Les cartes sans fil ont basiquement trois façons de travailler: ad-hoc, managed et master.
-
Ad-hoc: ces réseaux sont constitués généralement par des
ordinateurs avec des cartes sans fil "normales" et ils sont
configurés pour faire travailler les ordinateurs du réseau "deux à
deux", tous les ordinateurs reçoivent les paquets de tous et ils
envoyent leurs paquets à tous les ordinateurs du réseau. Pour le faire,
on n'a pas besoin de choses spéciales, il suffit de créer un réseau avec
un nom (ESSID), si possible encrypter les données en 128 octets (avec
WEP) et ne pas avoir trop d'ordinateurs sur un même réseau.
-
Managed: sur ce genre de réseaux il existe un serveur
indépendant,
Access Point (ou Base Station selon la terminologie
commerciale d'Apple) sur lequel se branchent tous les ordinateurs. L' access point
alors se charge d'envoyer des trames 802.11 aux destinataires.
Habituellement les access points sont capables de faire du roaming,
c'est à dire que les clients peuvent être en mouvement et changer de
point d'accès selon la puissance du signal reçu. La différence la plus
grande avec une carte qui peut être access point (ou mode
master) est qu'il faut faire du bridging de paquets IP et
manipler en plus des octets du 802.11 à très bas niveau,
normalement directement avec carte. De la même manière, les access points
offrent des services supplémentaires de routage d'IP, de serveur DHCP
et de bridging comme sur une Ethernet. Quand un ordinateur ou une
carte sont branchés au réseau grâce à un point d'accès, on dit qu'ils sont
en mode managed.
-
Master: c'est la façon de travailler de l' access point
décrit antérieurement. Comme on le verra à la fin de l'article, il est
possible de fabriquer un access point avec Linux.
Modules du noyau (kernel)
La plupart des cartes que l'on vend maintenant sont du genre Orinoco (Lucent), Symbol HR
et Prism 2. Toutes ces cartes sont supportées par le "pilote"
(driver) orinoco_cs inclus dans le noyau 2.4.x, mais seulement
pour travailler en mode managed ou ad-hoc, elles ne sont pas capables
de travailler en mode master.
Il y a en plus un petit probleme, car les pilotes ne sont pas
tout à fait actualisés avec la dernière version et quand la carte partage
les lignes d'interruptions avec des autres dispositifs, elle génère beaucoup de
lignes de logs dûs au "événements vides". Ce problème est
déjà réparé sur les dernières versions que l'on peut télécharger sur http://ozlabs.org/people/dgibson/dldwd/
et les compiler. C'est assez simple et le README est assez clair.
Mais comme on le verra plus tard, il existe d'autres options, les
nouveaux linux-wlan-ng ou le fantastique pilote pour Prism2 (i.e. ceux
employés par Conceptronic) qui vont nous permetre de
transformer Linux en un access point à un prix ridicule
si on a une carte Prism2 de Intersil.
Configuration des cartes: iwconfig
Une fois que les modules du noyau nécessaires ont été chargés, la
configuration des cartes est similaire à celle des cartes ethernet avec
la commande ifconfig mais cette fois aidé par une nouvelle commande de
iwconfig, qui permet de changer les paramètres spécifiques des
réseaux sans fils. Par exemple
- Identificateur de réseau (essid)
- Fréquence ou chaîne (freq/channel)
- Modalité (mode: master|managed|ad-hoc)
- Vitesse (rate)
- Clé de cryptage (key/enc)
- Puissance de transmission (txpower)
- etc.
Bref, avec iwconfig, on configure les
paramètres spéciaux du sans fil et avec ifconfig, on configure les paramètres normaux du réseau IP.
Note sur le cryptage
Si on spécifie une clé (key) pour iwconfig, les transmissions seront
cryptées avec le protocole WEP. Sur Linux il y a deux manières de les
spécifier:
- Avec un mot de passe : iwconfig interface key "s:mi_clave". La clé
doit être de 5 caractères pour le cryptage de 40 octets et de 13 pour
128 octets (en réalité, la clé ne fait que 104 octets).
- Avec la clé en hexadécimal: iwconfig interface key
"mi_clave_en_hexa". Dans ce cas, on introduit directement la clé de
5 ou 14 caractères directement en hexadecimal.
Pour une plus grande sécurité, les caractères aléatoires
pour former la clé sont conseillés.
Utilisateurs de Mac OS X
Pour introduire la clé sur le gestionnaire Airport du Mac OS X, il faut
que les caractères soient en hexadécimal et avec un $ au début. |