Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
installation:wpa [Le 01/03/2007, 17:20]
thedamocles
— (Version actuelle)
Ligne 1: Ligne 1:
-<​file>​ 
-Version : Hoary, Breezy et Dapper (nouveau). 
-(marche aussi sous Edgy Eft) 
-</​file>​ 
  
-Rédigée par [[utilisateurs:​Ju]]. 
-Remis en forme par [[utilisateurs:​Id2ndR]]. 
- 
-Samuel Piau, [[utilisateurs:​id2ndr|j'​ai]] déplacé ce que tu as écris vers [[materiel:​wifi:​bcm43xx]]. 
- 
- 
-===== Introduction ===== 
- 
-WPA (Wifi Protected Access) est une alternative au [[http://​fr.wikipedia.org/​wiki/​Wired_equivalent_privacy|WEP]] (Wired Equivalent Privacy). WPA permet de s'​assurer que seules les personnes autorisées peuvent accéder à votre réseau. 
- 
- 
-===== Méthode la plus simple : avec Network-Manager (Dapper et Edgy) ===== 
- 
-La méthode la plus simple, car entièrement graphique est d'​utiliser Network-Manager (paquet network-manager et network-manager-gnome). Pour l'​installer,​ voir [[:​network-manager|la page consacrée à Network-Manager]]. 
- 
-Il suffit ensuite de cliquer sur l'​icône dans la zone de notification,​ l'​outil montre alors la liste des réseaux sans fils détectés. En cliquant sur l'un des réseaux, on peut alors entrer la clé demandée, en précisant son type, WEP ou WPA. On peut aussi créer un réseau sans fil en utilisant une clé WPA. 
- 
-Malheureusement,​ cette méthode n'est valable que pour les réseaux configurés en DHCP. On ne peut donc pas spécifier d'​adresse IP fixe. 
- 
- 
-===== Autre méthode : avec WPA-Supplicant (toutes versions) ===== 
- 
- 
-==== Installation ==== 
- 
-  * Sous [[versions:​Dapper Drake]], aucune manipulation supplémentaire n'est nécessaire. 
-  * Sur les [[:​versions]] antérieures,​ utilisez un [[:​gestionnaire de paquets]] pour installer **wpasupplicant** disponible dans les [[:​depots#​universe_et_multiverse|dépôts Universe]] (catégorie réseau). 
- 
-==== Configuration du WPA ==== 
- 
-Pour vous connecter en WPA, il faut d'​abord créer un fichier de configuration pour le wpa. 
- 
-  * Editez (avec [[:gedit]] sour Ubuntu ou [[:kate]] sous Kubuntu) le fichier ''/​etc/​wpa_supplicant.conf''​ avec les droits de [[:​sudo|super-utilisateur]]. Recopiez y le contenu suivant en adaptant les paramètres à votre réeau: 
-<​file>​ 
-ctrl_interface=/​var/​run/​wpa_supplicant 
- 
-ap_scan=1 
- 
-network={ 
-    ssid="<​MON_ESSID>"​ 
-    scan_ssid=1 
-    proto=WPA 
-    key_mgmt=WPA-PSK 
-    #​psk="<​Ma_clef_en_ascii>"​ 
-    psk=<​Ma_clef_en_hexadécimal>​ 
-        priority=5 
-} 
-</​file>​ 
- 
-**Remarque** : L'​outil wpa_passphrase vous permet de gagner un peu de temps car il vous génère la clef en hexadécimal une fois pour toute : <​code>​$ wpa_passphrase <​ssid>​ <​passphrase></​code>​ 
- 
-**Remarque 2** : La ligne //​psk="<​Ma_clef_en_ascii>"//​ est commentée (signe # au début de la ligne) : elle n'est pas utilisée. Si vous n'avez pas généré votre clef en hexadécimal il faut la décommenter et commenter la ligne suivante. 
- 
-**Remarque 3** : Dans le cas des SSID cachés, il est conseillé de mettre //​ap_scan=2//​. 
- 
-Pour connaître tous les détails sur les informations à mettre dans ce fichier, consultez [[#​Configuration du wpa_supplicant]]. 
- 
-Autre exemple de fichier de configuration si ça ne marche pas : 
-<​file>​ 
-ctrl_interface=/​var/​run/​wpa_supplicant 
-eapol_version=1 
-ap_scan=1 
-fast_reauth=1 
- 
-network={ 
-      ssid="​votre_ssid"​ 
-      proto=WPA RSN 
-      key_mgmt=WPA-PSK 
-      psk="​votre_clé_en_clair"​ 
-} 
-</​file>​ 
- 
-==== Premier test ==== 
- 
-  * Démarrer le service //​wpa_supplicant//​ qui va vous connecter au réseau. 
- 
-<​code>​$ sudo wpa_supplicant -c/​etc/​wpa_supplicant.conf -w -D<​pilote>​ -i<​interface></​code>​ 
- 
-    - Le «pilote» générique est //wext//. Si vous utilisez un pilote wifi windows via ndiswrapper,​ remplacez <​pilote>​ par ndiswrapper.\\ Vous pouvez executer ''​wpa_supplicant''​ pour avoir la liste de tous les type d'​interface du pilote supportés. 
-    - L'​interface la plus courante est //​wlan0//​.\\ Vous pouvez vérifier quelle est votre carte avec la commande ''​iwconfig''​ pour peu que le module correspondant soit inséré dans le noyau. 
- 
- 
-**Remarque** : vous pouvez utiliser l'​option //-d// pour avoir plus d'​infomations.\\ L'​option //-B// n'a pas été mise pour ne pas lancer le processus en service pour ce premier test. 
- 
-Si les informations à l'​écran vous permettent de conclure que l'​interface est connectée au point d'​accès,​ vous pouvez passer à la suite. (Arrêtez le processus ''​wpa_supplicant''​ avec les touches <​CTRL>​ + C). 
- 
- 
-==== Configuration pour une connexion automatique au démarrage ==== 
- 
-Voici les modifications a effectuer pour pouvoir vous connecter de manière automatique au démarrage. 
- 
-=== Première méthode === 
- 
-== wpasupplicant == 
- 
-Editez le fichier ''/​etc/​default/​wpasupplicant''​ avec les droits de [[:​sudo|super-utilisateur]] pour y mettre ce qui suit : 
-<​file>​ 
-ENABLED=1 
-OPTIONS="​-w -D <​pilote>​ -i <​interface>​ -c /​etc/​wpa_supplicant.conf"​ 
-</​file>​ 
- 
-Démarrez manuellement wpa_supplicant pour cette fois (ce sera automatique au prochain démarrage grâce à la ligne ''​ENABLED=1''​ plus haut) : <​code>​$ sudo /​etc/​init.d/​wpasupplicant start</​code>​ 
- 
-== Interface == 
- 
-Éditez le fichier ''/​etc/​network/​interfaces''​ avec les droits de [[:​sudo|super-utilisateur]] pour y **rajouter** ce qui suit : 
- 
-<​file>​ 
-# The Wifi network interface 
-auto <​interface>​ 
-iface <​interface>​ inet dhcp 
-</​file>​ 
- 
-Passez au [[#test]]. 
- 
-=== Deuxième méthode === 
-(méthode plus adaptée pour Dapper) 
- 
-La configuration des paramètres WPA peut se faire directement dans le fichier ''/​etc/​network/​interfaces''​ : 
-<​file>​ 
-auto <​interface>​ 
-iface <​interface>​ inet dhcp 
-    wpa-driver <​pilote>​ 
-    wpa-ssid <​essid>​ 
-    wpa-key-mgmt WPA-PSK 
-    wpa-psk "<​ma_clef_privée_en_clair>"​ 
-</​file>​ 
- 
-Cependant cette méthode pose parfois des problèmes au démarrage. Aussi il est possible de faire appel au fichier de configuration ''/​etc/​wpa_supplicant.conf''​ directement dans ''/​etc/​network/​interfaces''​. Ce fichier doit respecter la syntaxe définie par wpa_supplicant. 
-<​file>​ 
-auto <​interface>​ 
-iface <​interface>​ inet dhcp 
-     ​wpa-conf /​etc/​wpa_supplicant.conf 
-</​file>​ 
-Les utilisateurs d'un noyau inférieur à 2.6.14 doivent spécifier ''​wpa-driver''​. Pour **DAPPER** (noyau 2.6.15) ''​wext''​ est utilisé par défaut (la plupart des drivers récents utilisent ''​the generic wireless extension (WEXT)''​). ​ 
- 
-Par conséquent,​ les utilisateurs des drivers ''​atmel,​ hostap, ndiswrapper et madwifi''​ doivent vérifier dans la documentation de wpa_supplicant leur prise en charge et spécifier le driver qu'ils souhaitent utiliser. 
-<​file>​ 
-auto <​interface>​ 
-iface <​interface>​ inet dhcp 
-     ​wpa-driver <​driver> ​     
-     ​wpa-conf /​etc/​wpa_supplicant.conf 
-</​file>​ 
- 
-Passez au [[#test]]. 
- 
-=== Test === 
- 
-Remarque : dans le fichier ''/​etc/​network/​interfaces'',​ //inet dhcp// est valable si vous utilisez DHCP pour la configuration des adresses IP, ce qui est généralement le cas. 
- 
-Activez manuellement l'​interface pour cette fois : <​code>​sudo ifup <​interface></​code>​ 
- 
-Vérifiez que vous êtes connecté. 
- 
- 
-N.B : En ce qui concerne IPW2200, il faut utiliser depuis le noyau 2.6.16 le driver "​wext"​ à la place de "​ipw"​. 
- 
-===== Informations complémentaires ===== 
- 
-==== Configuration du wpa_supplicant ==== 
-(par Lstr le 10 juin 06) 
- 
-Voici comment remplir votre fichier '​wpa_supplicant.conf'​. 
-(Remarque : Tout ce qui est derrière le '#'​ est un commentaire non pris en compte par le sytème) 
- 
-<​code>​ 
-#On indique tout d'​abord ou se situe le programme (socket avec wpa_cli...) 
-ctrl_interface=/​var/​run/​wpa_supplicant 
- 
- 
-#On protège l'​accès à wpa_supplicant en l'​attribuant à un groupe 
-#Le groupe peut être un identifiant (gid) ou un nom de groupe 
-#Par défaut le gid est à 0 pour signifier que c'est le root qui protège l'​accès. 
-#​ctrl_interface_group=wheel ​ #Un exemple de nom de groupe 
-ctrl_interface_group=0 
- 
- 
-#On définit la version d'​EAPOL (un moyen de transport de données EAP) >> Version : IEEE 802.1X/​EAPOL 
-#Pour info, wpa_supplicant gère la version 2 (IEEE 802-1X-REV-d8) mais il se peut qu'il y ait des soucis avec certaines cartes. 
-#On recommande donc l'​utilisation de la version 1 
-eapol_version=1 
- 
- 
-#On définit le mode de sélection du point d'​accès (AP : Access Point) 
-#1 : Configuration classique 
-#0 : Utilisé pour le protocole IEEE 802.1X (et les réseaux établis). 
-#2 : Associe les points d'​accès dans un mode sécurisé. !!!Utilisé pour le mode Ad-Hoc!!! 
-#    Associe le SSID (nom de votre réseau) mais pas le BSSID (n° attribué à votre carte réseau). 
-#    A utiliser si vous avez une clef installée sous NDIS(WRAPPER) pour utiliser pleinement votre réseau : 
-#     dans ce cas le block network devra comprendre les informations '​key_mgmt',​ '​pairwise',​ '​group'​ et les variables de protocole. 
-ap_scan=1 
- 
- 
-#On configure la ré-authentification rapide pour protocoles EAP 
-#Par défaut, déjà initialisé puisque sa désactivation n'a pas lieu d'​être apparemment. 
-fast_reauth=1 
- 
- 
-#On peut configurer un support de moteur OpenSSL 
-#​Non-abordé 
- 
- 
-#On peut indiquer le driver utilisé mais ce n'est pas forcément recommandé 
-#​driver_param="​nom=valeur"​ 
- 
- 
-#On configure son réseau : 
- 
-#Chaque réseau différent utilise un bloc '​network'​ propre 
-#Contenu des blocs : 
-# 
-#disabled: 
-# =0 : réseau authorisé (par défaut) 
-# =1 : réseau interdit 
-# 
-# 
-#​ssid: ​ 
-#       "​nom de votre réseau"​ : entre guillemets si c'est une chaîne de caractères 
-#       ​1f25e68 : directement si c'est un nom de réseau en hexadecimal 
-# 
-# 
-#scan_ssid: 
-# =0 : ne scanne pas les requêtes des réseaux (par défaut) 
-# =1 : scanne les requêtes (recommandé) 
-# 
-# 
-#bssid: 3f:​58:​56:​fe:​c9:​68 : N° attribué à votre carte réseau (optionnel et non-recommandé surtout si votre carte change de BSSID) 
-# 
-# 
-#priority: 0 : Indique la priorité du réseau. 
-# 
-# 
-#mode: 
-#    =0 : Infrastructure ('​Managed'​) (par défaut) 
-#    =1 : IBSS (ad-hoc, peer-to-peer) 
-#Le mode ad-hoc est utilisé pour un réseau de dongle : 
-# -il n'​accepte que les modes key_mgmt=NONE (avec possibilité de clef WEP) ou WPA-NONE (avec groupe TKIP/CCMP) 
-# -plus important, ap_scan=2 obligatoirement. 
-# -enfin le bloc devra comporter : proto=WPA, key_mgmt=WPA-NONE,​ pairwise=NONE,​ group=TKIP (ou CCMP(AES), mais pas les 2), et la clé psk devra être donnée. 
-# 
-# 
-#proto: protocole 
-#     =WPA : WPA(1) (WPA/IEEE 802.11i/​D3.0) 
-#     =RSN : WPA2 (IEEE 802.11i) (par défaut) 
-# 
-# 
-#key_mgmt: encryption 
-#        =WPA-PSK : WPA '​pre-shared key' (requièrt une clef PSK) 
-#        =WPA-EAP : WPA utilisant une authentification EAP (peut utiliser un programme externe (Xsupplicant)). 
-#        =IEEE8021X : IEEE 802.1X utulisant une authentification EAP et, optionnellement la génération de clefs WEP dynamiques. 
-#        =NONE : Pas de WPA : clef WEP ou connexion directe. 
-#        =WPA-NONE : Pour réseaux Ad-Hoc (possibilité de groupage TKIP ou CCMP(AES)) 
-#Par défaut : WPA-PSK WPA-EAP 
-# 
-# 
-#auth_alg: système d'​authentification du réseau 
-#        =OPEN : pour WPA et WPA2 
-#        =SHARED : pour WEP 
-#        =LEAP : pour LEAP sur réseau EAP 
-#Par défaut : Sélection autmatique 
-# 
-# 
-#pairwise: !A ne pas confondre avec le '​group'​ qui est plus connu! 
-#        =CCMP : AES (CBC-MAC : RFC 3610, IEEE 802.11i/​D7.0) 
-#        =TKIP : (IEEE 802.11i/​D7.0) 
-#        =NONE : Utilisé pour le mode ad-hoc principalement 
-#Par défaut : CCMP TKIP 
-# 
-# 
-#group: Cryptage (courant) 
-#     =CCMP : AES (RFC 3610, IEEE 802.11i/​D7.0) 
-#     =TKIP : (IEEE 802.11i/​D7.0) 
-#     ​=WEP104 : WEP avec clef 104bits 
-#     ​=WEP40 : WEP avec clef 40bits (IEEE 802.11) 
-#Par défaut : CCMP TKIP WEP104 WEP40 
-# 
-# 
-#psk: clef WPA (256bits) 
-#   ​="​mon mot de passe" : entre guillemets pour un mot de passe '​texte'​ (entre 8 et 63caractères compris) 
-#   ​=2effca35695fe31c3b : pour une clef hexadecimale (peut être générée avec  la commande '​wpa_passphrase "​ssid"​ "mot de passe"'​) 
-#​Non-utilisé en mode EAP. 
-# This field is not needed, if WPA-EAP is used. 
-# 
-# 
-#​Paramètrage EAP 
-#​Non-Rédigé 
-# 
- 
-#Exemple de blocs: 
- 
-#WPA-PSK simple 
-network={ 
- ssid="​simple"​ 
- psk="​very secret passphrase"​ 
- priority=5 
-} 
- 
-#EAP simple : 
-network={ 
- ssid="​example"​ 
- proto=RSN 
- key_mgmt=WPA-EAP 
- pairwise=CCMP TKIP 
- group=CCMP TKIP 
- eap=TLS 
- identity="​user@example.com"​ 
- ca_cert="/​etc/​cert/​ca.pem"​ 
- client_cert="/​etc/​cert/​user.pem"​ 
- private_key="/​etc/​cert/​user.prv"​ 
- private_key_passwd="​password"​ 
- priority=1 
-} 
- 
-#WPA-PSK et -EAP simple : 
-network={ 
- ssid="​example"​ 
- bssid=00:​11:​22:​33:​44:​55 
- proto=WPA RSN 
- key_mgmt=WPA-PSK WPA-EAP 
- pairwise=CCMP 
- group=CCMP 
- psk=06b4be19da289f475aa46a33cb793029d4ab3db7a23ee92382eb0106c72ac7bb 
-} 
- 
- 
-#EAP-PSK simple : 
-network={ 
- ssid="​eap-psk-test"​ 
- key_mgmt=WPA-EAP 
- eap=PSK 
- identity="​eap_psk_user"​ 
- eappsk=06b4be19da289f475aa46a33cb793029 
- nai="​eap_psk_user@example.com"​ 
-} 
- 
- 
-#IEEE 802.1X avec clefs WEP dynamiques 
-network={ 
- ssid="​1x-test"​ 
- key_mgmt=IEEE8021X 
- eap=TLS 
- identity="​user@example.com"​ 
- ca_cert="/​etc/​cert/​ca.pem"​ 
- client_cert="/​etc/​cert/​user.pem"​ 
- private_key="/​etc/​cert/​user.prv"​ 
- private_key_passwd="​password"​ 
- eapol_flags=3 
-} 
- 
- 
-#LEAP avec clefs WEP dynamiques 
-network={ 
- ssid="​leap-example"​ 
- key_mgmt=IEEE8021X 
- eap=LEAP 
- identity="​user"​ 
- password="​foobar"​ 
-} 
- 
- 
-#Connexion directe (sans cryptage) 
-network={ 
- ssid="​plaintext-test"​ 
- key_mgmt=NONE 
-} 
- 
- 
-#Clef WEP partagée : 
-network={ 
- ssid="​static-wep-test2"​ 
- key_mgmt=NONE 
- wep_key0="​abcde"​ 
- wep_key1=0102030405 
- wep_key2="​1234567890123"​ 
- wep_tx_keyidx=0 
- priority=5 
- auth_alg=SHARED 
-} 
- 
- 
-#Ad-Hoc (IBSS) avec cryptage TKIP 
-network={ 
- ssid="​test adhoc" 
- mode=1 
- proto=WPA 
- key_mgmt=WPA-NONE 
- pairwise=NONE 
- group=TKIP 
- psk="​secret passphrase"​ 
-} 
-</​code>​ 
- 
-Source: Documentation (anglaise) de wpa_supplicant. 
- 
- 
- 
- 
-===== WPA avec une carte rt2x00 ===== 
-Vous avez essayé les méthodes ci-dessus avec votre carte rt2x00 sans succès, voici une autre solution. 
-En effet, les modules rt2x00 gèrent eux mêmes la cryptographie WPA, ce n'est donc pas possible d'​utiliser les utilitaires ci-dessus. 
-Ce qu'il faut savoir avant de s'y lancer : 
-- Tout se passe avec les commandes iwpriv et iwconfig, il faut donc que la configuration wifi soit complète 
-- Ce module a un défaut, il a besoin d'un certain temps pour se synchroniser avant de fonctionner,​ donc ne pas s'​étonner des "sleep 3" dans le script ci-dessous 
- 
-Voici donc les commandes à enchainer pour se connecter à un réseau WPA : 
-<​code>​ 
-ifconfig $IFACE down 
-ifconfig $IFACE up 
-ifconfig $IFACE down 
-ifconfig $IFACE up 
-sleep 3 
-iwconfig $IFACE mode Managed 
-iwpriv $IFACE enc 3 
-iwpriv $IFACE auth 3 
-iwconfig $IFACE essid "​$ESSID"​ 
-sleep 3 
-iwpriv $IFACE wpapsk "​$WPAPSK"​ 
-sleep 3 
-iwconfig $IFACE essid "​$ESSID"​ 
-sleep 3 
-</​code>​ 
-avec bien entendu $IFACE le nom de votre interface réseau, $ESSID le nom du réseau wifi et $WPAPSK la clé wpa en clair.. (il y a un moyen de la crypter mais celui-ci ne sera pas détaillé. 
-Les commandes importantes sont donc : "​iwpriv $IFACE enc 3" qui active la cryptographie,​ et "​iwpriv $IFACE auth 3" qui dit que ce sera du WPA-PSK 
- 
-L'​intéret est d'en faire un petit script qui se lancera en pre-up de la configuration de la carte wifi 
-Voici un exemple de script : 
-<​code>​ 
-IFACE="​rausb0" ​  # a changer en fonction de l'​interface 
-ESSID="​*********"​ 
-WPAPSK="​*********" ​ # en clair 
- 
-ifconfig $IFACE down 
-ifconfig $IFACE up 
-ifconfig $IFACE down 
-ifconfig $IFACE up 
-sleep 3 
-iwconfig $IFACE mode Managed 
-iwpriv $IFACE enc 3 
-iwpriv $IFACE auth 3 
-iwconfig $IFACE essid "​$ESSID"​ 
-sleep 3 
-iwpriv $IFACE wpapsk "​$WPAPSK"​ 
-sleep 3 
-iwconfig $IFACE essid "​$ESSID"​ 
-sleep 3 
-</​code>​ 
-et ensuite, dans le fichier /​etc/​network/​interfaces,​ vérifier que l'on a les notes suivantes : 
-<​code>​ 
-auto rausb0 # à adapter 
-iface rausb0 inet dhcp # à adapter si on est en static 
-  pre-up /​usr/​local/​bin/​wpa-config.sh ​ # emplacement du script ci-dessus 
-</​code>​ 
- 
-Et voilà, votre carte wifi ira se connecter automatiquement au démarrage de la machine sur votre réseau wifi en WPA ! 
- 
-une variante peut être de ne pas se connecter automatiquement au boot et d'​ajouter la commande "​dhclient $IFACE"​ à la fin du script et de lancer le script à la main des que l'on veut se connecter, utile pour un portable qui voyage beaucoup. 
  • installation/wpa.1172766059.txt.gz
  • Dernière modification: Le 18/04/2011, 14:49
  • (modification externe)