Réseau Maillé Sans Fil avec Raspberry Pi et Open Source
Ce guide présente une méthode éprouvée pour mettre en place un réseau maillé 100% sans fil, exclusivement basé sur des Raspberry Pi. Bien qu’il comporte des compromis sur la stabilité, la latence et la bande passante, cette solution s’avère particulièrement adaptée aux environnements isolés ou temporaires où l’infrastructure Ethernet est absente. Il fait parti d’un ensemble de cinq articles pour un système d’information de voyage.
Matériel requis
- Raspberry Pi 3 : Un appareil par noeud.
- Deux cartes Wi-Fi USB par Pi :
- Une carte dédiée à la connexion client
- Une carte dédiée au backhaul (le lien entre les pi)
1. Configuration Logicielle
1.1. OS et Protocole
- Système d’exploitation : Raspberry Pi OS Lite, choisi pour sa légèreté.
- Protocole Mesh : batman-adv est utilisé pour créer un réseau maillé fiable entre les nœuds.
1.2. Installation et Configuration de batman-adv
batman-adv est une solution pour réaliser un réseau MESH.
- Installation de batctl :
sudo apt update && sudo apt install batctl
- Activation du module batman-adv :
sudo modprobe batman-adv
- Configuration de la carte Wi-Fi dédiée au backhaul (wlan1) :
sudo batctl if add wlan1 sudo ifconfig wlan1 mtu 1532 sudo ifconfig bat0 up
1.3. Création d’un Hotspot Wi-Fi pour les Clients
Les Raspberry Pi servent également de points d’accès pour les clients.
Pour cela, nous utilisons hostapd et dnsmasq.
- Installation de hostapd et dnsmasq :
sudo apt install hostapd dnsmasq
- Configuration de hostapd :
Créez ou éditez le fichier
/etc/hostapd/hostapd.conf
avec le contenu suivant :interface=wlan0 driver=nl80211 ssid=EntrepriseMesh hw_mode=g channel=6 wpa=2 wpa_passphrase=MotDePasseSecure wpa_key_mgmt=WPA-PSK
- Configuration de dnsmasq : Configurez le serveur DHCP pour attribuer des adresses IP aux clients sur le réseau maillé.
2. Gestion des Canaux et Optimisation des Interférences
- Backhaul : Utilisez la carte 5 GHz (wlan1) pour le backhaul, en choisissant des canaux moins saturés.
- Clients : Configurez le point d’accès (wlan0) sur le 2,4 GHz, en veillant à limiter les interférences avec d’autres réseaux voisins.
- Outils de diagnostic :
Pour analyser les canaux et identifier les interférences, installez et utilisez linssid :sudo apt install linssid linssid
3. Sécurité Sans Fil
3.1. Chiffrement et Authentification
-
Standard WPA2/3 :
Pour les Raspberry Pi, le support natif de WPA3 peut être limité. La solution se base généralement sur WPA2 avec une configuration sécurisée. -
Approche complémentaire :
Pour renforcer la sécurité, il est possible d’ajouter une couche de chiffrement au niveau de la liaison via MACsec ou de déployer un VPN Mesh avec WireGuard.
3.2. Exemple de Configuration WireGuard (Backhaul Mesh)
[Interface]
PrivateKey = <CLÉ_PRIVÉE_PI>
Address = 10.10.1.2/24
[Peer]
PublicKey = <CLÉ_PUBLIQUE_DU_NŒUD_ADJACENT>
Endpoint = adresse_du_nœud:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25
Cette configuration permet de chiffrer le trafic entre les nœuds, assurant une transmission sécurisée malgré l’absence de câblage.
4. Avantages et Limites
4.1. Avantages
- Installation sans câblage : Idéal pour les sites où l’infrastructure filaire n’est pas disponible.
- Déploiement rapide et économique : Coût très bas et déploiement facile.
- Flexibilité : Peut être utilisé dans diverses situations comme secours d’urgence ou événements temporaires.
4.2. Inconvénients
- Débit et latence : La performance est inférieure par rapport à une solution câblée, avec un débit réduit et une latence pouvant augmenter avec chaque saut.
- Sensibilité aux interférences : Les réseaux sans fil peuvent être affectés par des interférences environnementales.
4.3. Cas d’usage
- Secours d’urgence : Assurer la communication dans des zones isolées.
- Événements temporaires : Fournir une connectivité rapide lors de festivals, marchés ou chantiers.
- Réseaux communautaires : Déployer des réseaux dans des villages isolés sans infrastructure filaire.
Conclusion
Le réseau maillé 100% sans fil basé sur des Raspberry Pi offre une solution pragmatique et économique pour des déploiements temporaires ou dans des zones dépourvues d’infrastructure filaire. Bien que des compromis sur la performance soient inévitables, cette solution permet de déployer rapidement une connectivité sécurisée en utilisant des technologies open source éprouvées.
Notre série sur un SI de voyage hautement sécurisé
Si vous ne les avez pas encore lu, retrouvez notre série d’articles sur la conception un Système d’Information transportable :