Le système d'exploitation GNU-Linux/Réseaux sans fil
Théorie des réseaux sans fil
[modifier | modifier le wikicode]Réseaux sans fil de type PAN, LAN, MAN et WAN
[modifier | modifier le wikicode]Distances et débits
[modifier | modifier le wikicode]Les réseaux sans fil PAN
[modifier | modifier le wikicode]PAN : Personal Area Network
La norme ZBEE
[modifier | modifier le wikicode]- Norme 802.15.4
- Consomme très peu d'énergie
- Bas débit (maximum 250 Kbit/s)
- Idéal pour les applications de type domotique et automatisme
- Faible coûts de fabrication du composant (1$)
La norme définit trois débits différents :
- 250 Kbit/s en 2.4 GHz (international)
- 20 Kbit/s en 868 MHz (Europe)
- 40 Kbit/s en 915 MHz (USA)
La norme Wireless USB
[modifier | modifier le wikicode]Objectif : remplacer l'USB
Autres noms : W-USB (Wireless USB), UWB (Ultra-Wide Band), Wimedia
- Norme 802.15.3
- Très haut débit (jusqu'à 480 Mbit/s)
- Idéal pour les applications multimédia (audio, vidéo) et pour le transfert de données
- Possibilité de fonctionner en réseau ou en mode ad-hoc
- Authentification et chiffrement possible
Débits théoriques :
- 54 Mbit/s à 2.4 GHz
- jusqu'à 480 Mbit/s de 3.1 à 10.7 GHz
La norme Bluetooth
[modifier | modifier le wikicode]- Norme 802.15.1
- Inventé par Ericsson, aujourd'hui groupement de 2500 sociétés
- Technologie peu onéreuse (composant à partir de 3$) et fortement intégré (puce de 9 mm x 9 mm)
- Débits théoriques : de 1 à 3 Mbit/s selon la version de la norme
La norme Bluetooth utilise la fréquence 2.4 GHz et définit trois puissances d'émission :
- 1 mW : portée de quelques mètres
- 2.5 mW : portée de 10 à 20 mètres
- 100 mW : portée de 100 mètres
Un réseau Bluetooth, un piconet, est composé d'un maître et de 7 esclaves maximum. Le débit sera partagé entre les différents membres du piconet.
On peut interconnecter des piconets pour former un scatternet (scatter : dispersion)
Les communications peuvent être symétrique (vitesses d'émission et de réception identiques) ou asymétrique (vitesses d'émission et de réception différentes).
Les réseaux sans fil LAN
[modifier | modifier le wikicode]LAN : Local Area Network
La norme Wifi
[modifier | modifier le wikicode]Principales normes 802.11 :
- 802.11a : fréquence d'émission à 5 GHz, débit jusqu'à 54 Mbit/s
- 802.11b : fréquence d'émission à 2.4 GHz, débit jusqu'à 11 Mbit/s
- 802.11g : fréquence d'émission à 2.4 GHz, débit jusqu'à 54 Mbit/s
- 802.11n : fréquence d'émission à 2.4 GHz ou 5 GHz, débit jusqu'à 300 Mbit/s en utilisant les technologies MIMO (Multiple-Input Multiple-Output) et OFDM (Orthogonal Frequency Division Multiplexing)
Très proche de l'ethernet câblé (802.3), utilise la sous-couche LLC générique de la couche 2, et ré-implémente la sous-couche MAC.
Contrairement à ethernet câble qui est basé sur la technique d'accès CSMA/CD, la norme Wi-Fi utilise le CSMA/CA (Carrier Sense Multiple Access / Collision Avoidance).
Il y a plusieurs modes de fonctionnement, dont voici les principaux :
- mode Ad-Hoc permet d'établir des connexions sans passer par un point d'accès
- mode Infrastructure permet d'établir des connexions en passant par un point d'accès, et également de gérer un système de distribution basé sur plusieurs points d'accès utilisant le même ESSID.
- mode monitor permet de passer la carte Wi-Fi en mode promiscuous, c'est à dire qu'elle voit passer toutes les trames, et pas seulement celles qui lui sont destinées.
Le Wi-Fi utilise des trames de synchronisation temporelle, appelée les beacon frames. Ces trames contiennent l'heure du point d'accès.
Sécurité WEP
[modifier | modifier le wikicode]- Premier protocole d'authentification et de chiffrement
- Signifie : Wired Equivalent Privacy
- Aujourd'hui totalement obsolète car non sécurisé
- Utilise des clés de 64 bits (clé secrète de 40 bits + vecteur d'initialisation -IV- de 24 bits) ou des clés de 128 bits (clé secrète de 104 bits + vecteur d'initialisation -IV- de 24 bits)
- Définit deux techniques d'authentification : Open System Authentication (diffusion du ESSID) et Shared Key Authentication (pas de diffusion d'informations avant l'authentification)
Sécurité WPA
[modifier | modifier le wikicode]- Inventé pour pallier les failles de sécurité du WEP
- Signifie : Wi-Fi Protected Access
- La norme WPA1 fonctionne sur du matériel existant (mais est cassable). La norme WPA2 nécessite du matériel plus puissant (authentification et chiffrement plus complexe) et est la méthode la plus sécurisée à l'heure actuelle
- Utilise le standard 802.1x qui se charge de l'authentification et de la génération de la clé
- Le modèle 802.11i assure la sécurité au niveau de la sous-couche MAC via le protocole TKIP (Temporal Key Integrity Protocol) ou via le protocole CCMP (Counter with Cipher Block Chaining Message Authentication Code Protocol) (plus sécurisé)
Les réseaux sans fil MAN
[modifier | modifier le wikicode]MAN : Metropolitan Area Network
La norme Wimax
[modifier | modifier le wikicode]Les réseaux sans fil WAN
[modifier | modifier le wikicode]WAN : Wide Area Network
La norme 802.20
[modifier | modifier le wikicode]Mise en pratique
[modifier | modifier le wikicode]Les commandes Wi-Fi
[modifier | modifier le wikicode]Utilisateurs de Gnome, Attention ! les commandes ci-dessous ne fonctionneront que si vous avez désactivé au préalable Network Manager :
Ubuntu 9.10 et supérieur :
# service network-manager stop
Ubuntu 9.04 :
# service NetworkManager stop
iwconfig
[modifier | modifier le wikicode]Invoquée seule, la commande iwconfig affiche toutes les interfaces réseaux :
# iwconfig lo no wireless extensions. eth0 no wireless extensions. wmaster0 no wireless extensions. wlan0 IEEE 802.11bg ESSID:"" Mode:Managed Frequency:2.412 GHz Access Point: Not-Associated Tx-Power=20 dBm Retry long limit:7 RTS thr:off Fragment thr:off Encryption key:off Power Management: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
On peut indiquer à la commande iwconfig l'interface à afficher :
# iwconfig wlan0 wlan0 IEEE 802.11bg ESSID:"" Mode:Managed Frequency:2.412 GHz Access Point: Not-Associated Tx-Power=20 dBm Retry long limit:7 RTS thr:off Fragment thr:off Encryption key:off Power Management: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
On peut également utiliser la commande iwconfig pour configurer les paramètres du réseau sans fil :
- Pour définir le nom du réseau :
# iwconfig wlan0 essid "MON RESEAU"
- Pour définir le canal à utiliser :
# iwconfig wlan0 channel 3
on peut également spécifier la fréquence avec l'option freq :
# iwconfig wlan0 freq 2.412G
- pour définir le débit
# iwconfig wlan0 rate auto
- pour fixer le débit :
# iwconfig wlan0 rate 11M
Le 802.11b définit les débits suivants : 1, 2, 5.5 et 11 Mbit/s.
Le 802.11g définit en plus les débits suivants : 6, 9, 12, 18, 24, 36, 48 et 54 Mbit/s.
- Pour activer ou non le chiffrement WEP :
# iwconfig wlan0 key off
- pour spécifier la clé WEP :
# iwconfig wlan0 key 1234567890
on peut gérer de trousseau de quatre clés. On indique le numéro de clé entre crochets :
# iwconfig wlan0 key [1] 1234567890
- pour changer le mode (ad-hoc, managed, monitor ...) de la carte :
Attention, il faut que la configuration côté IP soit arrêtée :
# ifconfig wlan0 down # iwconfig wlan0 mode Ad-Hoc # ifconfig wlan0 up
- pour changer la puissance d'émission (si la carte le permet) :
# iwconfig eth0 txpower 60mW
On peut également spécifier plusieurs paramètres sur la même ligne :
# iwconfig wlan0 channel 11 key off essid NETGEAR
iwlist
[modifier | modifier le wikicode]La commande iwlist permet d'obtenir des informations complémentaires. Invoquée seule, elle affiche la liste des options disponibles :
# iwlist Usage: iwlist [interface] scanning [essid NNN] [last] [interface] frequency [interface] channel [interface] bitrate [interface] rate [interface] encryption [interface] keys [interface] power [interface] txpower [interface] retry [interface] ap [interface] accesspoints [interface] peers [interface] event [interface] auth [interface] wpakeys [interface] genie [interface] modulation
On peut optionnellement spécifier l'interface réseau (inutile si il n'y en a qu'une).
- Afficher la liste des réseaux détectés :
# iwlist scan ... wlan0 Scan completed : Cell 01 - Address: 00:09:5B:6F:3C:38 Channel:11 Frequency:2.462 GHz (Channel 11) Quality=57/70 Signal level=-53 dBm Encryption key:off ESSID:"NETGEAR" Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s Mode:Master Extra:tsf=0000001241f8f0da Extra: Last beacon: 192ms ago IE: Unknown: 00074E455447454152 IE: Unknown: 010482840B16 IE: Unknown: 03010B
- afficher les canaux et fréquences disponibles, et également le canal/fréquence actuellement utilisé :
# iwlist freq # OU iwlist channel ... wlan0 13 channels in total; available frequencies : Channel 01 : 2.412 GHz Channel 02 : 2.417 GHz Channel 03 : 2.422 GHz Channel 04 : 2.427 GHz Channel 05 : 2.432 GHz Channel 06 : 2.437 GHz Channel 07 : 2.442 GHz Channel 08 : 2.447 GHz Channel 09 : 2.452 GHz Channel 10 : 2.457 GHz Channel 11 : 2.462 GHz Channel 12 : 2.467 GHz Channel 13 : 2.472 GHz Current Frequency:2.447 GHz (Channel 8)
- afficher la liste des clés WEP :
# iwlist encryption # OU iwlist keys ... wlan0 2 key sizes : 40, 104bits 4 keys available : [1]: 1234-5678-90 (40 bits) [2]: off [3]: off [4]: off Current Transmit Key: [1]
- afficher les possiblités d'authentification du driver de la carte :
# iwlist auth ... wlan0 Authentication capabilities : WPA WPA2 CIPHER-TKIP CIPHER-CCMP Current Authentication algorithm : open shared-key
- afficher la liste des points d'accés détectés :
# iwlist ap # OU iwlist accesspoints ath0 Peers/Access-Points in range: 5A:1D:14:86:97:BC : Quality=34/70 Signal level=-61 dBm Noise level=-95 dBm 5A:1D:14:86:97:BE : Quality=34/70 Signal level=-61 dBm Noise level=-95 dBm 5A:1D:14:86:97:BF : Quality=33/70 Signal level=-62 dBm Noise level=-95 dBm ...
iwevent
[modifier | modifier le wikicode]La commande iwevent permet d'afficher en temps réel les évènements Wi-Fi de la carte.
On lance iwevent sur une console, et sur une autre, on passe des commandes iwconfig. On constate que iwevent affiche les évènements générés :
# iwevent ... 09:15:01.261767 wlan0 New Access Point/Cell address:Not-Associated 09:15:01.261858 wlan0 Set Frequency=2.412 GHz (Channel 1) ... 09:15:40.112202 wlan0 Set Frequency=2.462 GHz (Channel 11) 09:16:01.762209 wlan0 Custom driver event:ASSOCINFO(ReqIEs=00074e455447454152010402040b16 RespIEs=010482840b16) 09:16:01.762247 wlan0 New Access Point/Cell address:00:09:5B:6F:3C:38
iwpriv
[modifier | modifier le wikicode]La commande iwpriv permet de configurer des paramêtres propres à la carte Wi-Fi.
# iwpriv wlan0 wlan0 no private ioctls.
Par exemple, le driver de cette carte ne fournit de paramêtres spécifiques à configurer.
Avec un autre driver, on obtient la liste des ioctl configurables :
# iwpriv ath0 ath0 Available private ioctls : setoptie (8BEE) : set 256 byte & get 0 getoptie (8BEF) : set 0 & get 256 byte setkey (8BF2) : set 64 byte & get 0 delkey (8BF4) : set 7 byte & get 0 setmlme (8BF0) : set 42 byte & get 0
Certaines cartes ethernet câble permettent également de configurer des paramêtres internes :
# iwpriv eth0 eth0 Available private ioctl : setqualthr (89F0) : set 1 byte & get 0 gethisto (89F7) : set 0 & get 16 int # iwpriv eth0 setqualthr 20 # iwpriv eth0 gethisto
iwspy
[modifier | modifier le wikicode]Si la carte et le driver le permettent, la commande iwspy permet d'afficher des statistiques en temps réel sur la liaison Wi-Fi :
# iwspy ath0 ath0 Statistics collected: 00:15:6D:D0:E3:E0 : Quality=22/70 Signal level=-74 dBm Noise level=-96 dBm Link/Cell/AP : Quality=22/70 Signal level=-74 dBm Noise level=-96 dBm Typical/Reference : Quality:0 Signal level:0 Noise level:0
Par exemple, la carte (et/ou driver) ci-dessous ne permet pas de collecter des informations.
# iwspy wlan0 wlan0 Interface doesn't support wireless statistic collection
Autres commandes utiles
[modifier | modifier le wikicode]lspci
[modifier | modifier le wikicode]# lspci ... 00:1f.1 IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller (rev 01) 00:1f.2 IDE interface: Intel Corporation 82801GB/GR/GH (ICH7 Family) SATA IDE Controller (rev 01) 00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 01) 04:04.0 Ethernet controller: Atheros Communications Inc. Atheros AR5001X+ Wireless Network Adapter (rev 01) 04:08.0 Ethernet controller: Intel Corporation PRO/100 VE Network Connection (rev 01)
lsusb
[modifier | modifier le wikicode]# lsusb ... BUS 005 Device 003: ID 0846:6a00 Netgear, Inc. WG111 WiFi (v2)
lshw
[modifier | modifier le wikicode]# lshw -class network ... *-network:0 description: Wireless interface product: Atheros AR5001X+ Wireless Network Adapter vendor: Atheros Communications Inc. physical id: 4 bus info: pci@0000:04:04.0 logical name: wmaster0 version: 01 serial: 00:24:01:13:fe:de width: 32 bits clock: 33MHz capabilities: pm bus_master cap_list logical ethernet physical wireless configuration: broadcast=yes driver=ath5k latency=168 maxlatency=28 mingnt=10 multicast=yes wireless=IEEE 802.11bg resources: irq:18 memory:50000000-5000ffff
Test du réseau Ad-Hoc
[modifier | modifier le wikicode]Il faut tout d'abord passer la carte en mode Ad-Hoc :
# ifconfig wlan0 down # iwconfig wlan0 mode Ad-Hoc # ifconfig wlan0 up
On ajuste ensuite les paramêtres Wifi :
# iwconfig wlan0 essid "UPVD" channel 3 key off
On spécifie ensuite une adresse MAC commune à tout le réseau Ad-Hoc :
# iwconfig wlan0 ap 00:11:22:33:44:55
On spécifie les paramêtres IP :
# ifconfig wlan0 10.0.0.1 netmask 255.255.255.0
Désormais, les différents membres du réseau Ad-Hoc doivent pouvoir se pinguer.
Si ce n'est pas le cas, on peut essayer de changer la fréquence et de la remettre pour forcer une ré-detection / re-configuration.
Connexion à un réseau sans chiffrement
[modifier | modifier le wikicode]# iwconfig wlan0 essid "NETGEAR" channel 11 key off # dhclient wlan0
Connexion à un réseau WEP
[modifier | modifier le wikicode]# iwconfig wlan0 essid "NETGEAR" channel 11 key CAFECAFECA # dhclient wlan0
Connexion à un réseau WPA
[modifier | modifier le wikicode]Pour se connecter à un réseau WPA depuis Linux, il faut avoir installé le package wpasupplicant :
# apt-get install wpasupplicant
On crée le fichier de configuration suivant :
# cat /etc/wpa_supplicant.conf network={ ssid="RESEAUWPA" scan_ssid=1 proto=WPA key_mgmt=WPA-PSK psk="supermotdepassetressecure" }
On lance la commande wpa_supplicant :
# wpa_supplicant -D wext -i wlan0 -c /etc/wpa_supplicant.conf
Cette commande ne rend pas la main, donc soit on la lance en tâche de fond avec &, soit on la laisse tourner et on ouvre une nouvelle fenêtre.
On lance ensuite le client DHCP pour obtenir une adresse IP :
# dhclient wlan0