Comment configurer les connexions sans fil à Raspbian Stretch?

8

Certains didacticiels que j'ai trouvés sont obsolètes, mais la réponse suivante contient une collection de notes que j'ai utilisées pour configurer les connexions sans fil à la maison, à l'école (entreprise) et ad hoc sur mon Raspberry Pi 3.

Ian Zurutuza
la source

Réponses:

14

Raspberry Pi 3 (noyau 4.14.30-v7 +)

Ce message est une collection de notes et de didacticiels que j'ai utilisés pour configurer des connexions sans fil au Raspberry Pi.

Veuillez me faire savoir si vous rencontrez des problèmes.


Configuration sans tête

Raspbian recherche actuellement dans la partition de démarrage quelques fichiers pour permettre une configuration sans tête ou connecter un Raspberry Pi à un réseau et établir une connexion ssh à partir d'une machine externe sans moniteur, écran ou souris.

Une fois que vous chargez Raspbian OS sur une carte micro SD, Ubuntu command:

unzip -p 2018-03-13-raspbian-stretch-lite.zip | sudo dd of=/dev/sdX bs=4M conv=fsync status=progress

Ajoutez deux fichiers à la partition de démarrage avant de déplacer la carte SD sur le Pi.

  1. SSH doit être activé en plaçant un fichier nommé «ssh», sans aucune extension, sur la partition de démarrage de la carte SD. Cela vous permettra de vous connecter à partir d'un appareil externe.
  2. Les connexions réseau doivent être définies
    • ajoutez un fichier nommé "wpa_supplicant.conf" dans la partition de démarrage et remplissez avec les informations réseau en suivant le tutoriel ci-dessous.

Exemple "wpa_supplicant.conf" pour la connexion domestique:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=US

network={
    ssid="NETWORK_NAME"
    psk="password"
}

Maintenant, quelle est l'adresse IP du Pi? Recherchez l'adresse MAC, tous les RPi 3 ont le même départ pour leur adresse MAC. (Ne fonctionnera pas sur le réseau d'entreprise, demandez à l'administrateur au sujet des privilèges)

Ubuntu command:

sudo nmap -sn 192.168.1.0/24 | grep -B 2 B8:27:EB

SSH

Désactivé automatiquement lors du démarrage initial.

Activer avec

sudo raspi-config

Sélectionnez ensuite Interfacing OptionsSSHEnable


Connexion au réseau domestique

Manière la plus simple:

sudo raspi-config 

Sélectionnez Network OptionsWi-fipuis suivez les instructions à l'écran.

Manière manuelle:

Modifier wpa_suplicant.conf

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Ajoutez ce qui suit:

network={
    ssid="NETWORK_NAME"
    psk="password"
}

Enregistrez ensuite le fichier


Connexion réseau d'entreprise

Voici comment je me connecte à mon wifi universitaire

Créez d'abord un hachage de mot de passe et enregistrez-le dans un fichier (conservez les guillemets simples autour de votre mot de passe):

echo -n 'YOUR_REAL_PASSWORD' | iconv -t utf16le | openssl md4 > hash.txt

Modifiez ensuite wpa_supplicant.conf

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Ajoutez ce qui suit:

network={
    ssid="NETWORK_NAME"
    proto=RSN
    key_mgmt=WPA-EAP
    group=CCMP TKIP
    identity="YOUR_USERNAME"
    password=hash:5ac87xxxxxxxxxxxxxxxxxxetc
    phase1="peaplabel=0"
    phase2="auth=MSCHAPV2"
}

Pour ajouter un hachage de mot de passe:

  1. Déplacez le curseur à l'endroit où vous souhaitez placer le texte
  2. Appuyez sur ctrl+ rpuis insérez le fichier hash.txt
    • hash.txt contient (stdin) = 5ac87xxxxxxxxxxxxxxxxxxetc
    • remplacer "(stdin) =" par "hash:"
  3. Sauvegardez le fichier
  4. Effacez votre historique de bash

    history -c
    
  5. Supprimer hash.txt

    rm hash.txt
    

Gérer plusieurs connexions

Ajoutez des indicateurs de priorité à chaque réseau dans wpa_supplicant.conf

priorité par défaut = 0 (la priorité la plus élevée va en premier)

Mon wpa_supplicant.conf priorisé:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=US

network={
    priority=1
    ssid="NETWORK_A"
    psk="password"
}

network={
    priority=2
    ssid="NETWORK_B"
    proto=RSN
    key_mgmt=WPA-EAP
    group=CCMP TKIP
    identity="YOUR_USERNAME"
    password=hash:5ac87xxxxxxxxxxxxxxxxxxetc
    phase1="peaplabel=0"
    phase2="auth=MSCHAPV2"
}

Il existe de nombreuses autres options de configuration, exécutez man wpa_supplicant.confpour info.


Connexion réseau ad hoc / point d'accès / pont

Vous souhaitez vous connecter sans fil au pi, mais aucun réseau sans fil n'est disponible. Crée le tien!

Le Raspberry Pi peut être configuré pour diffuser un réseau sans fil. Ce réseau vous permet de connecter le pi, mais ne se connectera pas à Internet.

Configuration ad hoc simple de Pi à Pi

Sur chaque Rpi

Copiez le fichier actuel pour la sauvegarde

cp /etc/network/interfaces /etc/network/interfaces.old

Ouvrir le fichier à modifier

sudo nano /etc/network/interfaces

La seule ligne qui devrait être différente dans le fichier suivant est que addresstout le reste doit être identique. Et vous pouvez changer le nom de votre réseau ou ajouter un mot de passe

Ajoutez ce qui suit sur Rpi A:

auto wlan0
iface wlan0 inet static
    address 192.168.1.1 
    netmask 255.255.255.0
    wireless-channel 1
    wireless-essid MYNETWORK
    wireless-mode ad-hoc

Ajoutez le Rpi B suivant:

auto wlan0
iface wlan0 inet static
    address 192.168.1.2 `
    netmask 255.255.255.0
    wireless-channel 1
    wireless-essid MYNETWORK
    wireless-mode ad-hoc

Enregistrez le fichier et quittez l'éditeur

Relevez l'interface:

sudo ifup wlan0

Recherche de réseaux ad hoc:

iwlist wlan0 scan

Vous pouvez ajouter plus d'appareils au réseau, vous devez simplement attribuer à l'appareil une nouvelle adresse IP statique différente.

La fréquence / canal de fonctionnement par défaut (2,412 GHz: canal 1) est fréquemment congestionné. Essayez d'utiliser un canal différent en cas de difficultés.

Passer wireless-channelà un autre numéro

Utilisez sudo iwlist wlan0 scanpour trouver d'autres chaînes.

src: https://wiki.debian.org/WiFi/AdHoc


Moins simple

Plus compliqué mais se connectera aux réseaux connus et créera ad-hoc si aucun n'est trouvé.

Suivez ce tutoriel (pas de pont Ethernet, je l'ai utilisé avec succès) http://www.raspberryconnect.com/network/item/331-raspberry-pi-auto-wifi-hotspot-switch-no-internet-routing

hostname -I 

Exécutez cela sur Pi, puis je me suis connecté à la deuxième adresse IP répertoriée via ssh pi @ [ipaddr] à partir de ma machine hôte Ubuntu.

Avec un pont Ethernet (je n'ai pas testé cela, mais à partir des mêmes bricoleurs que ↑) http://www.raspberryconnect.com/network/item/330-raspberry-pi-auto-wifi-hotspot-switch-internet


ERREURS CONNUES:

La connexion Ssh échoue de la machine hôte à Pi? exécuter avec une sortie détaillée:

ssh -vvvv [email protected]

Si les dernières commandes avant la fermeture sont:

debug1: SSH2_MSG_KEXINIT sent
Connection closed by raspberrypi.local port 22

Essayez de régénérer les clés d'hôte qu'elles peuvent être manquantes ou corrompues (faites-le sur Pi):

sudo rm /etc/ssh/ssh_host_*
sudo dpkg-reconfigure openssh-server 

https://www.raspberrypi.org/forums/viewtopic.php?t=168310


Références

man wpa_supplicant.conf

https://www.raspberrypi.org/forums/viewtopic.php?t=111100

https://www.doc.ic.ac.uk/~ajd/Robotics/RoboticsResources/wifi_setup.txt

https://gist.github.com/chatchavan/3c58511e3d48f478b0c2

Ian Zurutuza
la source
Ceci est un excellent article ... il y a tellement de choses utiles ici! Suggestion: créez un compte GitHub et postez cette «recette» là-bas.
Seamus
2
L'analyse du cache arp présente certains inconvénients: vous ne voyez que les voisins et le périphérique souhaité doit être adressé avant de quelque manière que ce soit. Sinon, il n'est pas dans le cache. Faire un ping de l'adresse de diffusion avant peut fonctionner pour adresser tous les voisins mais votre administrateur réseau n'aime pas ça! Une alternative est nmap, par exemple sudo nmap -sn 192.168.10.0/24 | grep -B 2 B8:27:EBpour les voisins.
Ingo
1
Vous écrivez bridging. Sachez que vous ne pouvez pas vraiment ponter le wifi sur la couche 2 OSI avec un raspi en raison des limites matérielles / pilotes.
Ingo
0

Utilisez ce programme facile que j'ai trouvé sur Github: Rasp-Connect - Script python facile pour connecter Raspbian à un réseau Wifi en utilisant Python.

Il s'agit d'un script Python simple qui le configure et le configure pour vous, il vous suffit de sélectionner le type de cryptage et d'entrer le SSID et le mot de passe. Il fonctionne très bien et prend également en charge l'exécution de l'outil sur SSH.

user91683
la source