HOWTO Wi-Fi
Un article de Gentoo Linux Wiki.
Cet article est une ébauche. Vous pouvez l'aider à s'enrichir en le complétant.
|
|
Sommaire |
[modifier] Introduction
Cet article a pour but d'être aussi complet que possible pour l'installation du Wi-Fi sous Gentoo. N'hésitez pas à le compléter.
[modifier] Installation
Depuis le baselayout 1.11.0, il suffit d'installer les wireless-tools :
emerge net-wireless/wireless-tools
Il faut au minimum que cela soit activé dans le noyau :
| Configuration du noyau Linux : |
CONFIG_NET_RADIO=y CONFIG_NET_WIRELESS=y |
[modifier] Madwifi
Pour les cartes à base de chipset Atheros :
emerge net-wireless/madwifi-ng emerge net-wireless/madwifi-ng-tools
[modifier] ipw2100/ipw2200
Pour les cartes Intel PRO/Wireless 2100 :
emerge net-wireless/ieee80211 net-wireless/ipw2100 net-wireless/ipw2100-firmware
Pour les cartes Intel PRO/Wireless 2200BG et 2915ABG :
emerge net-wireless/ieee80211 net-wireless/ipw2200 net-wireless/ipw2200-firmware
[modifier] ipw2100 (and 2200?) with kernel > 2.6.18
Attention : net-wireless/ieee80211 n'a pas l'air de supporter le noyau 2.6.19 pas plus que les suivants (2.6.22), essayer les modules noyau à la place. Il est possible de faire uniquement:
emerge net-wireless/ipw2100-firmware
Vous risquez ensuite d'obtenir a) un boot très lent se bloquant sur le chargement du IPW2100 b) pas de wifi si vous avez compilé :
Device Drivers ---> Network device support --> Wireless LAN ---> <*> Intel Pro/Wireless 2100 Network connection
Le problème semble lié à l'ordre des chargements des fonctionnalités lors du boot (cf. http://www.oreillynet.com/onlamp/blog/2004/10/fedora_core_2_linux_and_centri.html). Il suffit de remplacer par :
Device Drivers ---> Network device support --> Wireless LAN ---> <M> Intel Pro/Wireless 2100 Network connection
Pour que l'ordre soit correct. Vous pourrez le confirmer en tapant :
dmesg |grep ipw2100
qui vous donnera :
ipw2100: Intel(R) PRO/Wireless 2100 Network Driver, git-1.2.2 ipw2100: Copyright(c) 2003-2006 Intel Corporation ipw2100: Detected Intel PRO/Wireless 2100 Network Connection
[modifier] ipw3945
Attention: le module ipw3945 n'est plus maintenu. Comme mentionné sur la page sourceforge d'ipw3945, il est conseillé d'utiliser iwlwifi
Pour les cartes Intel PRO/Wireless 3945 :
emerge net-wireless/ipw3945 net-wireless/ipw3945d net-wireless/ipw3945-ucode
Modifiez le fichier /etc/conf.d/net en ajoutant :
| File: /etc/conf.d/net |
RC_NEED_wlan="ipw3945d" |
[modifier] NdisWrapper
Pour connaitre la liste des chipset supportés : http://ndiswrapper.sourceforge.net/mediawiki/index.php/List
emerge net-wireless/ndiswrapper
Décompressez les drivers Windows :
emerge app-arch/cabextract app-arch/unshield cabextract drivers.exe unshield Disk1/data1.cab
Ensuite :
ndiswrapper -i /emplacementsfichiers/<driver>.inf
Pour vérifier que ça a marché :
ndiswrapper -l Installed ndis drivers: bcmwl5 present
Pour charger le module ndiswrapper au démarrage :
echo "ndiswrapper" >> /etc/modules.autoload.d/kernel-<version>
[modifier] rt2400/rt2500/rt2570
Vous avez 2 choix : soit les drivers stables, soit ceux en développement.
[modifier] Drivers en développement
Pour tous les chipset ralink 2400,2500 ou 2570 :
echo "net-wireless/rt2x00 ~x86" >> /etc/portage/package.keywords emerge net-wireless/rt2x00
Avec ces drivers, vous pouvez passer directement à la partie configuration.
[modifier] Drivers stables
Pour chipset ralink 2400 :
emerge net-wireless/rt2400
Pour chipset ralink 2500 :
emerge net-wireless/rt2500
Pour chipset ralink 2570 :
emerge net-wireless/rt2570
Vous devez avoir l'ensemble de ces options dans le noyau :
| Configuration du noyau Linux : |
* CONFIG_NET_WIRELESS * CONFIG_NET_RADIO * CONFIG_IEEE80211 * CONFIG_IEEE80211_CRYPT_WEP (si vous utilisez WEP) |
Si vous utilisez un noyau récent vous devez supprimer le support ieee802.11 du noyau. Pour cela exécutez la commande suivante :
/bin/sh /usr/portage/net-wireless/ieee80211/files/remove-old /usr/src/linux
emerge net-wireless/rt2500
cd /etc/init.d ln -s net.lo net.ra0 rc-update add net.ra0 default
| File: /etc/Wireless/RT2500STA/RT2500STA.dat |
# Copy this file to /etc/Wireless/RT2500STA/RT2500STA.dat # This file is a binary file and will be read on loading rt2500.o module. # Use "vi -b RT2500STA.dat" to modify settings according to your need. [Default] AdhocOfdm=0 CountryRegion=0 WirelessMode=0 TXBurst=0 TurboRate=0 BGProtection=0 ShortSlot=0 TxRate=0 PSMode=CAM SSID=my router name goes here NetworkType=Infra AuthMode=WPAPSK EncrypType=TKIP WPAPSK=my long pass goes here hehehe PSMode=CAM |
| File: /etc/conf.d/net |
# This blank configuration will automatically use DHCP for any net.* # scripts in /etc/init.d. To create a more complete configuration, # please review /etc/conf.d/net.example and save your configuration # in /etc/conf.d/net (this file :]!). modules=( "!iwconfig" ) |
Pour charger le module au démarrage :
| File: /etc/modules.autoload.d/kernel-2.6 |
# /etc/modules.autoload.d/kernel-2.6: kernel modules to load when system boots.# # Note that this file is for 2.6 kernels. # # Add the names of modules that you'd like to load when the system # starts into this file, one per line. Comments begin with # and # are ignored. Read man modules.autoload for additional details. # For example: # 3c59x rt2500 |
[modifier] Configuration
[modifier] Recherche des réseaux
Pour trouver un réseau :
iwlist eth1 scan
(Remplacez eth1 par votre interface Wi-Fi)
Ce qui vous donnera quelque chose come çà :
eth1 Scan completed :
Cell 01 - Address: 00:01:02:03:04:05
ESSID:"NOM_RESEAU1"
Protocol:IEEE 802.11bg
Mode:Master
Channel:11
Encryption key:on
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 6 Mb/s; 9 Mb/s
11 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s; 36 Mb/s
48 Mb/s; 54 Mb/s
Quality=31/100 Signal level=-90 dBm Noise level=-90 dBm
Extra: Last beacon: 960ms ago
Cell 02 - Address: 00:02:03:04:05:FF
ESSID:"NOM_RESEAU2"
Protocol:IEEE 802.11bg
Mode:Master
Channel:11
Encryption key:on
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 6 Mb/s; 9 Mb/s
11 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s; 36 Mb/s
48 Mb/s; 54 Mb/s
Quality=28/100 Signal level=-92 dBm Noise level=-92 dBm
Extra: Last beacon: 3560ms ago
Ici on a 2 réseaux 802.11g avec pour SSID NOM_RESEAU1 et NOM_RESEAU2. La ligne Encryption key:on nous indique qu'une clef est nécessaire pour le réseau.
[modifier] Réseau ouvert
Si le réseau n'est pas crypté vous pouvez faire ainsi :
iwconfig eth1 essid "NOM_RESEAU_OUVERT"
ou
iwconfig eth1 ap 00:01:02:03:3A:05
(avec 00:01:02:03:3A:05 correspondant au BSSID/MAC du réseau ouvert.
ou encore pour vous connecter à n'importe quelle AP :
iwconfig eth1 ap any
ou
iwconfig eth1 ap auto
[modifier] WEP
Vous pouvez modifier le fichier /etc/conf.d/wireless.example, par exemple pour un réseau utilisant une clef WEP :
| File: /etc/conf.d/wireless |
key_VOTRE-ESSID="s:maclefwep enc open" preferred_aps=( "VOTRE-ESSID" ) |
[modifier] WPA
Pour un réseau utilisant WPA :
[modifier] rt2500
En utilisant le driver rt2500 :
| File: /etc/conf.d/wireless |
iwpriv_VOTRE-ESSID=(
"set AuthMode=WPAPSK"
"set EncrypType=TKIP"
"set WPAPSK=voteclefWPA"
)
|
[modifier] Madwifi
Si vous utilisez madwifi :
Installer wpa_supplicant :
USE="madwifi" emerge net-wireless/wpa_supplicant
| File: /etc/conf.d/net |
modules=( "wpa_supplicant" ) wpa_supplicant_eth1="-Dmadwifi" |
[modifier] Autres
Installer wpa_supplicant :
emerge net-wireless/wpa_supplicant
Puis modifier le fichier /etc/conf.d/net :
| File: /etc/conf.d/net |
modules=( "wpa_supplicant" ) wpa_supplicant_eth1="-Dwext" |
Puis configurez wpa_supplicant :
Créez le fichier /etc/wpa_supplicant/wpa_supplicant.conf :
| File: /etc/wpa_supplicant/wpa_supplicant.conf |
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=wheel
network={
ssid="simple"
psk="votreclefWPA"
priority=5
}
|
Pour des configurations plus complexes, lisez le fichier /usr/share/doc/wpa_supplicant-(version)/wpa_supplicant.conf.example.gz.
Ensuite, créez le script d'initialisation pour votre carte Wi-Fi :
cd /etc/init.d ln -s net.lo net.eth1 ./net.eth1 start
Démarrez l'interface automatiquement :
rc-update add net.eth1 default
[modifier] Adresse IP
[modifier] DHCP
Ajoutez au fichier /etc/conf.d/net ceci :
| File: /etc/conf.d/net |
config_VOTRE-ESSID=( "dhcp" ) |
Ou si vous voulez une configuration plus générale, non lié à un ESSID :
| File: /etc/conf.d/net |
config_eth1=( "dhcp" ) |
(avec eth1 correspondant à votre interface Wi-Fi)
[modifier] IP fixe
Comme avec une interface fixe :
| File: /etc/conf.d/net |
config_eth1=( "192.168.0.2/24" ) routes_eth1=( "default via 192.168.0.1" ) |
[modifier] Utilisation
[modifier] Gérer les réseaux
[modifier] wpa_gui
wpa_gui est livré avec wpa_supplicant et permet, une fois le service lancé, de gérer les clefs pour votre réseau WPA.
[modifier] kwifimanager
KwifiManager permet de voir la puissance de votre réseau quand vous êtes connecté et de détecter d'autres réseaux. Il nécessite KDE.
Installation :
emerge kde-base/kwifimanager
[modifier] WiFi Radar
|
|
WiFi Radar est un utilitaire en Python/PyGTK2 permettant de gérer les profiles Wi-Fi.
Pour l'installer :
echo "net-wireless/wifi-radar" >> /etc/portage/package.keywords emerge wifi-radar
Pour pouvoir l'utiliser en tant qu'utilisateur :
emerge app-admin/sudo echo "%users ALL = /usr/sbin/wifi-radar" >> /etc/sudoers
Editez le fichier /etc/wifi-radar.conf selon votre interface réseau wifi.
Lancez WiFi Radar :
wifi-radar
[modifier] Attaquer un réseau
[modifier] Aircrack-ng
Aircrack-ng est un utilitaire pour retrouver une clef WEP que l'on a égaré.
Il faut commencer par repérer les réseaux :
airodump-ng eth1
Vous pouvez voir les BSSID, les canaux utilisés et le cryptage.
Une fois que vous connaissez le canal :
airodump-ng -c 11 --ivs -w dump eth1
(où 11 et le canal que l'on veut attaquer)
Repérez le BSSID et tapez :
aircrack-ng -b BSSID dump-*.ivs
Il faut entre 250 000 et 500 000 IVs pour avoir la clef.
| Note: airodump-ng et aircrack-ng peuvent être lancé en même temps |
[modifier] Kismet
|
|
Kismet est logiciel permettant de détecter les réseaux Wi-Fi, de les sniffer et de détecter les instrusions.
Insataller Kismet :
emerge net-wireless/kismet
Pour configurer Kismet, étitez le fichier /etc/kismet.conf.
suiduser doit être un utilisateur normal du systéme.
source est de la forme :
typesource,interface,nom,canal
Par exemple :
ipw3945,eth1,ipw3945,11
(pour le drivers ipw3945 et l'interface eth1)
Une liste compléte des types de sources est disponible à cette adresse : http://www.kismetwireless.net/documentation.shtml
Le reste de la configuration peut-être laissé par défaut si vous lancez le service et le client sur la même machine.
Pour lancer le service :
cd /etc/init.d ./kismet start
Pour lancer l'interface graphique :
kismet_client
[modifier] Liens
- (en) Page d'accueil de wpa_supplicant
- (en) Page d'accueil drivers ipw2100
- (en) Page d'accueil drivers ipw2200
- (en) Page d'accueil drivers ipw3945
- (en) Page d'accueil drivers madwifi
- (en) Page d'accueil drivers rt2x00
- (en) Page d'accueil NdisWrapper
- (en) Page d'accueuil de Aircrack-ng
- (en) Page d'accueil de WiFi Radar

