Le système d'exploitation GNU-Linux/Réseaux sans fil
Sections |
[modifier] Théorie des réseaux sans fil
[modifier] Réseaux sans fil de type PAN, LAN, MAN et WAN
[modifier] Distances et débits
[modifier] Les réseaux sans fil PAN
PAN : Personal Area Network
[modifier] La norme ZIGBEE
- 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)
[modifier] La norme Wireless USB
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
[modifier] La norme Bluetooth
- 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 8 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).
[modifier] Les réseaux sans fil LAN
LAN : Local Area Network
[modifier] La norme Wifi
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.
[modifier] Sécurité WEP
- 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)
[modifier] Sécurité WPA
- 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é)
[modifier] Les réseaux sans fil MAN
MAN : Metropolitan Area Network
[modifier] La norme Wimax
[modifier] Les réseaux sans fil WAN
WAN : Wide Area Network
[modifier] La norme 802.20
[modifier] Mise en pratique
[modifier] Les commandes Wi-Fi
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
[modifier] iwconfig
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 coté 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
[modifier] iwlist
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
...
[modifier] iwevent
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
[modifier] iwpriv
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
[modifier] iwspy
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
[modifier] Autres commandes utiles
[modifier] lspci
# 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)
[modifier] lsusb
# lsusb ... BUS 005 Device 003: ID 0846:6a00 Netgear, Inc. WG111 WiFi (v2)
[modifier] lshw
# 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
[modifier] Test du réseau Ad-Hoc
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.
[modifier] Connexion à un réseau sans chiffrement
# iwconfig wlan0 essid "NETGEAR" channel 11 key off # dhclient wlan0
[modifier] Connexion à un réseau WEP
# iwconfig wlan0 essid "NETGEAR" channel 11 key CAFECAFECA # dhclient wlan0
[modifier] Connexion à un réseau WPA
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


