Configurer un accès Wifi itinérant avec wpa
Il vous faudra dans beaucoup de cas disposer sur une clé USB du firmware propriétaire correspondant à votre carte et l'installer sur votre système. Reportez-vous pour le faire à firmwares non-libres en paquets .deb sur une clé.
Aperçu général
wpa-roaming est une méthode graphique ou en mode console vous permettant de choisir dans une liste un réseau sans fil auquel vous connecter.
Si vous utilisez cette méthode de connexion alors qu'aucun réseau cablé n'est connecté à votre machine, Wlan0 sera appelé en priorité pour vous connecter à votre réseau Wifi préféré, à un réseau ouvert public ou tout autre réseau que vous auriez pre-déterminé. Si vous vous connectez par liaison cablée alors, l'établissement de cette connexion entrainera la déconnexion instantannée du Wifi. Quanf vous débrancherez le câble le Wifi se réactivera automatiquement.
Configuration du réseau
En tant que root vous adapterez votre fichier /etc/network/interfaces afin qu'il ressemble à ce qui suit. (l'identifiant de l'interface est sujet à variations):
# l'interface réseau loopback auto lo iface lo inet loopback #Ajout par l'utilisateur allow-hotplug wlan0 iface wlan0 inet manual wpa-roam /etc/wpa_supplicant/wpa-roam.conf #Cette ligne doit toujours se trouver ici iface default inet dhcp
Ensuite wpa_supplicant aura besoin d'un fichier de configuration, c'est wpa-roam.conf
cp /usr/share/doc/wpasupplicant/examples/wpa-roam.conf /etc/wpa_supplicant/wpa-roam.conf
Utilisez un éditeur de texte pour ouvrir le fichier
<editeur> /etc/wpa_supplicant/wpa-roam.conf
Décommentez la ligne 30 (en enlevant # en début de ligne). Vous devez le faire afin que la configuration soit prise en compte:
update_config=1
Pour connecter une machine en vue d'une connexion immédiate à un réseau sécurisé, qu'il s'agisse en fonction du contexte d'une sécurisation WEP ou WPA-WPA2PSK, décommentez les lignes (en enlevant #:
Exemple WEP:
network={ ssid="debian" #Un réseau WEP dans cet exemple key_mgmt=NONE wep_key0=6162636465 wep_tx_keyidx=0 }
Exemple WPA:
network={ ssid="aptosid_Worldwide" #Un réseau WPA dans cet exemple psk="mysecretpassphrase" }
La suite protège votre configuration wpa-roam.conf de tout accès extérieurs. C'est indispensable car votre clé scrète est écrite dans ce fichier. Faites:
chmod 600 /etc/wpa_supplicant/wpa-roam.conf
Activez la connexion sans fil :
ifup wlan0
Vérifiez ensuite que vous êtes bien connecté au réseau choisi:
wpa_cli status
Le retour de la commande doit ressemble à ceci:
Selected interface 'wlan0' bssid=94:0c:6d:aa:f4:42 ssid=aptosid_Melbourne id=3 pairwise_cipher=CCMP group_cipher=CCMP key_mgmt=WPA2-PSK wpa_state=COMPLETED ip_address=192.168.1.102
Si vous ne voyez s'afficher aucune adresse IP, c'est que la connexion ne s'est pas établie. Dans ce cas re-vérifiez votre configuration après avoir stoppé le Wifi sur wlan0:
wpa_action wlan0 stop
En cas de besoins spécialisés en terme de configurations réseau reportez-vous ici
Pour permettre de basculer de réseaux cablés à réseaux sans fil
Lisez d'abord Basculer du câble au Wifi car si votre configuration est incorrecte le basculement souhaité ne pourra s'établir.
Après avoir activé ifplugd la configuration devra ressembler à ceci:
auto lo iface lo inet loopback # contrôlé par ifplugd ... n'utilisez ni allow-hotplug ni d'option auto iface eth0 inet dhcp #Ajouts par l'utilisateur allow-hotplug wlan0 iface wlan0 inet manual wpa-roam /etc/wpa_supplicant/wpa-roam.conf #Cette ligne doit toujours figurer ici iface default inet dhcp
Utilisation de wpa-roam.conf avec spécification manuelle de la configuration des réseaux
Au moyen des options IDString et Priority vous pouvez assigner des priorités pour la connexion utilisée par défaut au démarrage. La plus haute priorité est conférée par la valeur 1000, la plus basse à 0. Vous devrez aussi specifier l'identifiant id_str dans /etc/network/interfaces.
La syntaxe dans votre fichier /etc/network/interfaces.
La première strophe est pour la connexion en DHCP, la seconde option pour une connexion par IP fixe. Pour ajuster ces paramètres:
# id_str="home_dhcp" iface home_dhcp inet dhcp #Cette ligne doit toujours figurer ici iface default inet dhcp # id_str="home_static" iface home_static inet static address 192.168.0.20 netmask 255.255.255.0 network 192.168.0.0 broadcast 192.168.0.255 gateway 192.168.0.1
Exemples pratiques
Imaginon que vous vouliez vous connecter automatiquement à votre connexion domestique Wifi une fois chez vous, assignez-lui une id_string "maison" et une priorité "15". Si vous vous deplacez et voulez pouvoir vous connecter à n'importe quel réseau ouvert disponible sans mot de passe, donnez-lui une IDString 'traqueur" et une priorité "1" (très basse). Mais s'il vous plait assurez-vous que votre connexion soit légale et déconnectez-vous s'il s'agi d'un réseau manifestement ouvert par erreur et non intentionnellement.
Les strophes dans /etc/network/interfaces pour notre exemple:
# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8) # L'interface loopback # ajouée automatiquement à la mise-à-jour auto lo iface lo inet loopback allow-hotplug eth0 iface eth0 inet dhcp allow-hotplug wlan0 iface wlan0 inet manual wpa-roam /etc/wpa_supplicant/wpa-roam.conf #this line must always be here iface default inet dhcp iface maison inet dhcp iface traqueur inet dhcp
Dans /etc/wpa_supplicant/wpa-roam.conf (SSID et mots de passe sont changés ou juste expliquées) pour notre exemple:
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="mo,_ssid" scan_ssid=1 psk=123ABC ##ici la phrase de passe en code hexadécimal!! # psk="mot-de-passe_en_ascii" ##vous ne devriez pas en avoir besoin key_mgmt=WPA-PSK pairwise=TKIP group=TKIP auth_alg=OPEN priority=15 id_str="maison" } network={ ssid="" scan_ssid=1 key_mgmt=NONE auth_alg=OPEN priority=1 disabled=1 ## pas de de connexion automatisée, celle-là recours à wpa_cli ou wpa_gui id_str="traqueur" }
L'option "disabled=1" fera que vous ne serez pas connecté automatiquement à un réseau ouvert déterminé, mais que vous devrez activer le démon itinérant via wpa_gui ou wpa_cli. Si peu importe et que vous voulez vous connecter sans égard à l'identité du réseau, supprimez purement et simplement la ligne en question ou commentez-là en y ajoutant un # en début de ligne.
Cryptage WEP
Pour activer en permanence le cryptage WEP dans votre fichier, la syntaxe sera:
network={ ssid="réseau wep de l'exemple" key_mgmt=NONE wep_key0="abcde" wep_key1=0102030405 wep_tx_keyidx=0 }
Compléments
1. Facile à exploiter
Une fois fixée, vous pouvez réutiliser votre configuration sur d'autres machines pour d'autres contrôleurs réseau. Copiez juste /etc/network/interfaces (ajustez les noms des interfaces au contexte) et /etc/wpa_supplicant/wpa-roam.conf dans l'autre machine. Nul besoin d'installer quoique ce soit d'autre.
2. Sauvegarde
Celà peut être une onne idée de sauvegarder /etc/network/interfaces et /etc/wpa_supplicant/wpa-roam.conf, mais mieux en les cryptanten, car ils continnent quand-même des informations sensibles....
Une bonne méthode pour faire une sauvagarde cryptée des fichiers de configurations c'est d'utiliser tar avec gpg. En tant que root:
tar -cf- /etc/network/interfaces /etc/wpa_supplicant/wpa-roam.conf | gpg -c > backup_name.tar.gpg
A file has now been created in $ HOME:
backup_name.tar.gpg
To list the contents of the backup_name.tar.gpg file:
gpg -d -o - backup_name.tar.gpg | tar vtf -
To extract and decrypt the contents of the archive backup_name.tar.gpg file:
gpg -d -o - backup_name.tar.gpg | tar vxf -
3. SSIDs Cachés
Les SSIDs cachés sont détectés quand scan_ssid=1 est configuré dans le bloc correspondant au réseau.
Sécuriser sommairement les modems/routeurs wifi
Si vous avez contrôle sur un modem/routeur wifi, il existe plusieurs précautions de base pour le protéger des intrusions.
Choix des protocoles de base
- WPA2-PSK est la meilleure option.
- Pour le cryptage choisissez AES.
- Votre phrase de passe a intérêt à être balaise.
Phrases de passe / mots de passe
Pour une phrase de passe / un mot de passe réellement résistants et pas du tout évidents à mémoriser, utilisez pwgen dans un terminal (lire également: man pwgen):
$ pwgen -s 63 1 VltnfGmGKXovVv2rmrCFFXBZ55Mij5bA6WytVJnVoKUqRn6dfjldG6MBrRo0Cdi
- -s = securisé (pas de mnémotechnique)
- 63 = nombre de caractère
- 1 = ne générer qu'une unique chaine aléatoire
Sans -s vous obtiendrez des mots usuels. quoiqu'il arrive peu probable que vous souhaitiez ceci:
$ pwgen 8 3 Sooxae2s Niew9ugh Hi7eeloo
Une fois votre phrase de passe / mot de passe généré(e) stockez-la dans fichier texte sur une clé USB et appliquez-là sur vos différentes machines utilisatrices du wifi. Ne les stockez pas sur un des ordinateurs.
Un exemple de configuration de routeur:
Version: WPA2-PSK Encryption: AES PSK Password: VltnfGmGKXovVv2rmrCFFXBZ55Mij5bA6WytVJnVoKUqRn6dfjldG6MBrRo0Cdi