Hardware-hard net-wifi
Configuration Wifi
Présentation
Introduction
Tout d'abord, que veut dire Wifi ? Wifi est la contraction de Wireless Fidelity soit " Fidélité Sans Fil " en français (mais, cela ne veut franchement rien dire). En fait, Wifi est le nom commercial de la norme Ethernet sans fil 802.11. Airport est un synonyme de Wifi pour les Mac.
Wifi permet donc de créer un réseau local Ethernet sans fil.
Les équipements Wifi les plus répandus à l'heure actuelle sont répartis en deux familles :
- Wifi b ou 802.11b pour un débit théorique de 11Mb.
- Wifi g ou 802.11g pour un débit théorique de 56Mb qui sont légèrement plus chers que les précédents, mais restent compatibles.
Tous les mécanismes que vous auriez pu lire sur le réseau local filaire restent valables :
- identification de la machine par son adresse IP sur le réseau
- se connecter à Internet à l'aide d'une passerelle (ou gateway)
- configurer un serveur DHCP...
Les principaux équipements Wifi sont :
- carte Wifi permet à une machine de se connecter à un réseau local Wifi. Ces cartes existent en différents formats (PCI, PCMCIA ou USB).
- point d'accès Wifi (ou AP pour Access Point) permet à plusieurs machines équipées d'une carte Wifi de s"intégrer à un réseau local pouvant comporter à la fois des machines Wifi et des machines filaires. Si ce réseau local possède une passerelle vers Internet (ou Gateway en anglais), alors votre machine Wifi pourra s"y connecter.
Tout comme le réseau filaire, il existe des équipements " tout intégré " qui remplissent les fonctions de modem ADSL, routeur et point d'accès Wifi.
Certains de ces équipements " tout intégré " fonctionnent d'ailleurs sous Gnu/Linux. En revanche, vérifiez que le constructeur ne viole pas la licence GPL en ne fournissant pas les sources des différents logiciels sous cette licence. Je ne donnerai aucune liste de constructeurs étant donné que diverses pressions vers ceux-ci peuvent changer leur comportement. Par exemple, vous pouvez (ou devez) refuser l'achat de leurs produits quels qu"ils soient. Un truc pour connaître ces bandits, un tour sur www.google.fr et cherchez-y "router GPL violation'.
En revanche, je peux fournir une liste de constructeur respectueux de la licence :
Cette liste pourra être mise à jour, je ne connais pas toutes les marques.
Fonctionnement
Les signaux utilisés pour les connexions Wifi sont des signaux radioélectriques basés sur une technologie mise au point par les militaires (troll detected :-)). Ces signaux sont situés dans une bande de fréquence autour de 2.4 GHz. A titre de comparaison, les téléphones mobiles GSM utilisent les fréquences 0,9 GHz et 1,8 GHz, les futurs téléphones mobiles UMTS utiliseront des fréquences autour de 2 Ghz.
Les signaux Wifi sont classés en 14 canaux numérotés de 1 à 14. A chacun des canaux est associé une fréquence unique et différente des autres. En France, seul certains canaux sont autorisés, les autres canaux sont toujours utilisés par les militaires. Pour connaître la liste des fréquences légales, consultez le site de l'Autorité de Régulation des Télécommunications (http://www.art-telecom.fr/).
Plusieurs points d'accès connectés au même réseau peuvent être utilisés pour couvrir une surface importante découpée en cellules comportant chacune au moins un point d'accès. Ainsi, les utilisateurs pourront se déplacer de cellule en cellule et garder la connexion avec le réseau sans déconnexion (système de roaming) : similaire au principe des cellules des téléphones GSM.
Les cartes Wifi supportent deux modes de connexion :
- mode Ad-hoc : connexion au sein d'un réseau d'une seule cellule sans point d'accès entre équipements. Cette méthode ne nécessite pas l'achat de point d'accès
- mode Infrastructure : connexion au sein d'un réseau d'une ou plusieurs cellules via un ou plusieurs points d'accès qui font office de hub. Cette méthode nécessite soit l'achat d'un ou plusieurs points d'accès, soit la configuration d'un ou plusieurs postes munis d'une carte Wifi configurée en mode Master
Les cartes Wifi peuvent être configurés dans divers modes :
- Ad-hoc : la carte peut se connecter à un réseau d'une seule cellule sans point d'accès
- Managed : la carte peut se connecter à un réseau d'une ou plusieurs cellules avec point d'accès
- Master : la carte joue le rôle d'un point d'accès maître
- Repeater : la carte joue le rôle d'un répéteur entre différents noeuds. Cette méthode peut être utilisée pour transmettre une connexion Wifi sur de longues distances
- Secondary : la carte joue le rôle d'un backup pour Master ou Repeater
- Monitor : la carte est passive et ne fait que recevoir les messages
Pour se connecter à un réseau Wifi, les cartes Wifi doivent connaître en plus du canal choisi, le nom du réseau ou SSID (pour Service Set Identifier). Le SSID est une chaîne de alphanumérique de 32 caractères maximum dépendante de la casse.
Il y a deux méthodes pour récupérer le SSID d'un réseau Wifi :
- le point d'accès diffuse périodiquement le SSID, n'importe qui peut le récupérer. Ce message particulier s"appelle beacon frame.
- le point d'accès ne diffuse pas le SSID, tous les utilisateurs doivent le connaître.
Plusieurs niveaux de sécurité, plus ou moins efficaces (voir Sécurité sous Wifi), sont disponible en Wifi :
- Contrôle par adresse MAC : une liste d'adresse MAC d'équipements autorisés ou refusés à se connecter peut être configurée sur le point d'accès
- Chiffrement des messages via une clé WEP' ('Wired Equivalent Piracy). Cette clé de 128 bits maximum doit être connue de tous les utilisateurs Wifi du réseau. Ce chiffrement peut être configuré soit en mode open (ouvert = non obligatoire) ou en mode restricted (restreint = obligatoire). En mode restricted, l'équipement n'accepte que les messages chiffrés, alors qu"en mode open, l'équipement accepte les messages en clairs et chiffrés
Le chiffrement par clé WEP n'est malheureusement pas très sécurisé. En effet, un simple "script kiddy" peut casser la clé WEP en 10 minutes.
Pour renforcer la sécurité du Wifi, un remplaçant au WEP a été trouvé : WPA (Wifi Protected Access). Malheureusement, comme le WPA est une extension de la norme Wifi, celui-ci n'est pas (ou pas encore) intégré dans tous les équipements et/ou drivers.
Le WPA se décline en deux modes :
- mode WPA PSK (Pre-Shared Key) : les messages sont chiffrés avec une clé WPA. Cette clé doit être connue de tous les utilisateurs Wifi du réseau. Cette méthode est similaire au mode WEP restricted, mais nettement plus sécurisé
- mode WPA Enterprise : la connexion au réseau est précédée d'une authentification sur un serveur de type Radius. Après cette authentification, le fonctionnement est identique au mode WPA PSK.
Installation d'une carte Wifi
Les cartes Wifi compatibles avec Linux dépendent du chipset intégré à celles-ci. Les projets suivants permettent d'obtenir les drivers associés :
- Linux-Wlan pour les cartes 802.11b à base de chipset Prism2/2.5/3
- Prism54 pour les cartes 802.11g à base de chipset Prism GT/Duette/Indigo
- MadWifi pour les cartes à base de chipset Atheros
- rt2x00 pour les cartes à base de chipsets Ralink
- ...à compléter
Pour les cartes non supportées par les projets précédents, il existe 2 méthodes pour utiliser les drivers de Windows.
Dommage, Stallman a inventé la GPL lorsqu"il s"est aperçu que le driver de son imprimante fraîchement achetée était propriétaire et à décider d'écrire un driver libre pour cette dernière sous GPL. A vous de choisir en consommateur averti, privilégiez dans la mesure du possible des cartes ayant des drivers libres.
- DriverLoader de Linuxant (http://www.linuxant.com/driverloader/) est un chargeur de drivers capable de le charger à partir des drivers Windows. Ce produit est payant et non libre.
- NdisWrapper (http://ndiswrapper.sourceforge.net/) est, tout comme DriverLoader, un chargeur de drivers capable de le charger à partir des drivers Windows. Ce produit est quant à lui libre.
Installation d'une carte à base de chipset Prism GT/Duette/Indigo
Installation du module
Le module prism54 a été intégré dans le code officiel du noyau à partir du noyau 2.6.5 (version 1.1 des drivers). En revanche, les distributions récentes n'utilisant pas encore cette version de kernel (comme la Mandrake 10.0) intègrent ce module avec les patchs associés.
Si le module est présent dans votre distribution, il doit se situer sous :
/lib/modules/<version>/kernel/3rdparty/prism54
/lib/modules/<version>/kernel/net/wireless/prism54
Si vous n'avez pas trouver ce module ou que vous voulez mettre à jour vos drivers, suivez la procédure présentée dans le fichier README du tarball du site http://www.prism54.org, sinon passez directement à l'installation du firmware.
Installation du firmware
Ce module nécessite un firmware (i.e. un binaire directement chargé par le système dans la carte). Sous Gnu/Linux, ce chargement est effectué par le logiciel hotplug.
Le constructeur du chipset Prism GT est GlobespanVirata (racheté par Conexant http://www.conexant.com/). Ce firmware est propriétaire et n'est distribué que dans les drivers Windows : utilisez le fichier *.arm inclus. En effet, l'équipe de http://www.prism54.org/ n'a pas reçu l'autorisation de Conexant de redistribuer ce firmware même pour un usage non commercial.
Récupérez donc le firmware dans les drivers Windows et copiez ce firmware dans le répertoire /usr/lib/hotplug/firmware. Ensuite, renommez ou mieux créez un lien symbolique vers ce fichier.
Pour connaître le nom exact du fichier, tapez dmesg
et repérer les lignes suivantes :
NET: Registered protocol family 17
ethX: islpci_open()
ethX: resetting device...
ethX: uploading firmware...
prism54: request_firmware() failed for "isl3890"
ethX: could not upload firmware ("isl3890")
Pour créer un lien symbolique, entrez les commandes suivantes :
cd /usr/lib/hotplug/firmware
ln -s <fichier arm> isl3890
Installation d'une carte à base de chipset Atheros
Ajout de Dimitri CLATOT
Installation des modules
Les modules madwifi est encore en version beta mais fonctionnent sans problème. Si les modules sont présents dans votre distribution, ils doivent se situer sous :
/lib/modules/<version>/net/ath_pci.ko
/lib/modules/<version>/net/ath_hal.ko
/lib/modules/<version>/net/wlan.ko
Sinon, il existe sous forme de package (ici et ici pour Fedora) mais l'on peut utiliser la dernière version CVS. Pour cela, entrez les commandes suivantes :
cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/madwifi co madwifi
cd madwifi
make
make install
Puis il faut rendre executable les modules ainsi créés:
chmod +x /lib/modules/<version>/net/ath_pci.ko
chmod +x /lib/modules/<version>/net/ath_hal.ko
chmod +x /lib/modules/<version>/net/wlan.ko
Pour une Fedora, si vous utilisez un noyau non compilé par vos soins, il faut au préalable un fichier .config, voici comment j'ai procédé :
ln -s /usr/src/linux-2.X/configs/kernel-<version>.config /lib/modules/<version>/build/.config
ainsi qu'installer le package sharutils :
yum install sharutils
On peut l'activer en utilisant la commande suivante :
modprobe ath_pci
Les fichiers de configuration détaillés par la suite sont identiques à l'exception de remplacer ethX par athX
Configuration d'une carte Wifi
D'abord, installez les paquetages suivants :
- wireless-tools
- pump
Configuration " simple "
Cette configuration est déconseillée pour un usage privé (voir le paragraphe Sécurité sous Wifi), mais est très souvent la configuration par défaut des points d'accès.
En revanche, cette configuration est la plus simple et conviendra parfaitement à des manifestation publique comme des Install-Parties. Elle pourra aussi avantageusement être utilisée pour tester et se familiariser avec la configuration de vos matériels.
d'abord, configurez votre point d'accès avec les paramètres suivants (consultez la notice de votre équipement) :
- diffusion du SSID
- serveur DHCP activé
- option de sécurité désactivée (i.e. ni de WEP ni de WPA)
Ensuite, tapez la commande iwconfig
pour connaître le nom de votre interface Wifi :
lo no wireless extensions.
ethX NOT READY! ESSID:off/any
Mode:Managed Channel:6 Access Point: 00:00:00:00:00:00
Tx-Power=31 dBm Sensitivity=0/200
Retry min limit:0 RTS thr=0 B Fragment thr=0 B
Encryption key:off
Link Quality:0 Signal level:0 Noise level:0
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
Ici, l'interface Wifi est ethX. Pour demander une adresse IP au serveur DHCP, tapez la commande pump ethX
Enfin, vérifiez les paramètres Wifi et IP de votre interface à l'aide des commandes iwconfig ethX
et ifconfig ethX
.
Trouvez ci-desssous le résultat de la commande iwconfig ethX
ethX IEEE 802.11b/g ESSID:"MY-SSID" Nickname:"bart"
Mode:Managed Channel:11 Access Point: XX:YY:ZZ:XX:YY:ZZ
Bit Rate:54Mb/s Tx-Power=31 dBm Sensitivity=20/200
Retry min limit:8 RTS thr:2347 B Fragment thr:2346 B
Encryption key:off
Link Quality:179 Signal level:0 Noise level:66
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
Trouvez ci-dessous le résultat de la commande ifconfig ethX
ethX Lien encap:Ethernet HWaddr XX:YY:ZZ:XX:YY:ZZ
inet adr:192.168.0.3 Bcast:192.168.0.255 Masque:255.255.255.0
adr inet6: fe80::209:5bff:fec8:d260/64 Scope:Lien
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1431 errors:0 dropped:0 overruns:0 frame:0
TX packets:361 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
RX bytes:218359 (213.2 Kb) TX bytes:49173 (48.0 Kb)
Interruption:9
Vous êtes maintenant connecté au réseau Wifi.
Configuration " personnalisée "
Configurez le mode de fonctionnement
iwconfig ethX mode <mode>
où mode est égal à : ad-hoc, managed
Configurez, éventuellement, le canal utilisé
iwconfig ethX channel <channel>
où channel est égal à la valeur du canal utilisé
Configurez, éventuellement, la clé WEP et le mode de connexion WEP
iwconfig ethX key <key> <mode>
où key est égal à la valeur de la clé choisie sur le point d'accès
mode est la valeur du mode de connexion WEP : open ou restricted
Configurez le SSID du réseau
iwconfig ethX essid <SSID>
où SSID est le nom du réseau
Ces différents paramètres peuvent être renseignés dans le fichier /etc/sysconfig/network-scripts/ifcfg-ethX
DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.0.3
NETMASK=255.255.255.0
NETWORK=192.168.0.0
BROADCAST=192.168.0.255
ONBOOT=yes
MII_NOT_SUPPORTED=yes
# Wifif
MODE=managed
ESSID=MY-SSID
CHANNEL=11
KEY=XXYYZZ
Ensuite, entrez la commande ifup ethX
pour vérifier votre paramétrage.
Sécurité sous Wifi
Le réseau Wifi est un réseau sans fil dont la portée dépasse l'environnement dans lequel vous allez vous en servir : le Wifi, tout comme le réseau Internet, doit être considéré comme un milieu hostile.
Les simples recommandations suivantes pourront sécuriser à un niveau acceptable pour la majorité des réseaux privés Wifi :
- lors du paramétrage de vos équipements Wifi, faites le sans utiliser le lien Wifi : privilégiez les liens filaires tels que le câble série ou le câble réseau (ceci dépend de votre matériel)
- ne pas diffusez le SSID et trouvez un nom assez complexe pour éviter les attaques à base de dictionnaires
- activez le contrôle par adresse MAC
- activez le chiffrement WEP en mode restricted uniquement : choisissez une longueur maximale de clé de 128 bits
- si vous optez pour une configuration à base de fichiers n'oubliez pas de fixer la permission 500 sur vos fichiers
- ajoutez un firewall entre votre réseau Wifi et votre réseau filaire
Selon votre matériel et le niveau de sécurité désiré. vous pouvez suivre les recommandations suivantes, dans l'ordre croissant de sécurité (mais aussi de prix) :
- activez le chiffrement en mode WPA PSK : ce mode est plus sécurisé que le chiffrement WEP, mais tout comme ce dernier, la sécurité repose sur le secret de ce code. En revanche, il ne nécessite aucun serveur d'authentification
- activez le chiffrement en mode WPA Entreprise avec authentification Radius : ce mode implique l'installation d'un serveur Radius : il existe des implémentations de serveur Radius sous Gnu/Linux
- activez le chiffrement WPA2 : ce mode est plus sécurisé que le chiffrement WPA (algorithme AES au lieu de RC4). En revanche, ce mode nécessite une puissance CPU nettement plus importante
Copyright
Copyright © 12/06/2004, ST
Ce document est publié sous licence Creative Commons Attribution, Partage à l'identique, Contexte non commercial 2.0 : http://creativecommons.org/licenses/by-nc-sa/2.0/fr/ |