
opensoho v0.15.0
Plateforme légère de gestion d'appareils OpenWRT pour les petits réseaux. Configuration centralisée, supervision et gestion WiFi pour 2 à 20 appareils avec un déploiement simple et une compatibilité OpenWISP.
Attention : ceci est une version préliminaire, veuillez lire les notes de version de TOUTES les versions jusqu'à présent
OpenSOHO
OpenSOHO est conçu pour gérer un petit nombre d'appareils réseau basés sur OpenWRT. D'où le nom SOHO, tiré de Small Office Home Office (réseaux SOHO).
- De 2 à 20 appareils (pas de limite stricte)
- Pas de multi-tenant
- Compatible avec openwisp-config et openwisp-monitoring.
- Simple à déployer
Il s'inspire d'OpenWISP, mais vise les réseaux trop petits pour être maintenus avec OpenWISP. Comme le dit OpenWisp :
Cependant, OpenWISP peut ne pas être le meilleur choix pour les très petits réseaux (moins de 20 appareils), les organisations manquant de compétences informatiques, ou les entreprises cherchant des alternatives open source uniquement pour réduire les coûts.
Les versions suivantes sont testées :
- OpenWRT 24.10.x DSA
- OpenWRT 25.12.x DSA (support bêta)
Pour commencer avec OpenSOHO
Vue d'ensemble
La mise en place d'OpenSOHO nécessite quelques étapes simples, chacune détaillée dans les sections ci-dessous :
- Installer OpenSOHO sur votre serveur.
- Installer les paquets OpenWisp sur vos appareils OpenWRT.
- Configurer OpenWisp sur chacun de vos appareils OpenWRT pour qu'ils se connectent à OpenSOHO.
- Commencez à configurer dans OpenSOHO !
Installer OpenSOHO
-
Téléchargez la dernière version d'OpenSOHO (ou utilisez un conteneur docker)
-
Démarrer OpenSOHO
Tout d'abord, choisissez un secret partagé qui permet aux appareils OpenWRT (via openwisp-config) de s'enregistrer auprès d'OpenSOHO.
Choisissez une chaîne aléatoire longue pour une sécurité optimale.
Il doit correspondre à ce que vous configurerez dans LuCI aux étapes suivantes.
OPENSOHO_SHARED_SECRET=randompassphrase ./opensoho serve --http 0.0.0.0:8090
Ensuite, OpenSOHO affiche une URL en ligne de commande qui vous permet de créer le compte administrateur. Ouvrez simplement l'URL dans votre navigateur.
Alternativement, créez le compte administrateur via la ligne de commande :
./opensoho superuser upsert EMAIL PASS
Configuration (adoption) des appareils OpenWRT
Installer les paquets OpenWISP
opkg install openwisp-config openwisp-monitoring luci-app-openwisp # OpenWRT 24.10
apk add openwisp-config openwisp-monitoring luci-app-openwisp # OpenWRT 25.12+
Si vous souhaitez utiliser le client steering 802.11v, le paquet complet wpad-mbedtls est nécessaire.
Sur OpenWRT 24.10
opkg remove wpad-basic-mbedtls && \
opkg install wpad-mbedtls && \
service wpad restart
Sur OpenWRT 25.12+
apk del wpad-basic-mbedtls && \
apk add wpad-mbedtls && \
service wpad restart
Après l'installation de wpad-mbedtls, essayez d'abord service restart wpad, sinon un redémarrage peut être nécessaire pour basculer vers le nouveau binaire wpad. Sinon, vous pouvez obtenir une erreur comme daemon.notice netifd: radio1 (28210): WARNING (wireless_add_process): executable path /usr/sbin/wpad does not match process 1842 path (/usr/sbin/wpad (deleted)).
(Veuillez noter que le client steering 802.11v est encore en cours de développement)
Configurer OpenWISP dans LuCI :
- Définissez uniquement le
Server URLet leShared secret.- Ne PAS ajouter de slash à la fin du
Server URL. Exemple d'URL :http://192.168.1.1:8090 - Le secret partagé est la valeur choisie précédemment (
OPENSOHO_SHARED_SECRET).
- Ne PAS ajouter de slash à la fin du
- Vous pouvez éventuellement réduire l'
Update Intervalà 30 secondes pour des mises à jour plus rapides. (OpenSOHO le fait pour vous si vous ne le faites pas) - OpenSOHO active également la surveillance et réduit l'intervalle de surveillance à 15 secondes pour des mises à jour plus rapides de l'état du réseau.
Il est fortement recommandé d'activer la surveillance, car OpenSOHO déduit une grande partie des paramètres OpenWRT actuels et les renseigne automatiquement pour faciliter la configuration.
Configurer OpenSOHO
- Attendez que le(s) appareil(s) OpenWrt s'enregistre(nt) automatiquement à l'aide du secret partagé.
- Définissez le drapeau
Enabledde l'appareil sur true. - Définissez
numradiosà la bonne valeur. Par exemple, pour un appareil 2,4 + 5 GHz, cette valeur serait 2. - Configurez un point d'accès Wifi (SSID+KEY). Cette procédure permet à OpenSOHO de détecter correctement la configuration radio lors de l'enregistrement de l'appareil.
- Attachez le point d'accès Wifi configuré à un appareil pour qu'il soit configuré.
- Actuellement, chaque réseau sera automatiquement configuré sur toutes les radios (configurées via
numradios). - Vous pouvez également activer ou désactiver les leds (uniquement configuration statique pour l'instant).
- La configuration des fréquences radio est désormais prise en charge. OpenSOHO lit la configuration radio actuelle une fois et la rend disponible dans la configuration des radios. Il peut falloir une minute ou deux avant que la configuration radio n'apparaisse (les étapes de configuration et de surveillance ont besoin de temps pour se terminer).
Tableau de bord
OpenSOHO est fourni avec un tableau de bord basique. Il est accessible via le bouton dans la barre latérale la plus à gauche, juste sous le logo OpenSOHO.
Veuillez noter que cet outil n'est pas destiné à remplacer des outils de graphiques plus avancés ; il est et restera volontairement basique.
Configuration
OpenSoho est maintenant accessible via http://ipaddress:8090/_/
Il existe plusieurs collections de configuration :
Clients
Ce sont les clients connectés au Wifi. Ce tableau est en lecture seule, à l'exception de l'alias. Il peut être utilisé pour donner aux appareils un nom lisible par un humain. Cela ne fonctionne correctement que si le client ne randomise pas son adresse mac.
Clients connectés
Contient la liste des clients actuellement connectés à votre wifi. Pour afficher l'adresse IP de l'appareil, OpenSOHO a besoin d'accéder à vos baux DHCP. Pour cela, vous devez avoir le démon de surveillance openwisp en cours d'exécution sur l'appareil qui héberge le serveur DHCP. Les appareils avec une IP statique n'obtiendront pas d'IP. Il s'agit d'une limitation connue depuis 0.12.0.
Appareils
Ce sont les appareils connectés.
- Utilisez enable/disable pour désactiver les mises à jour de configuration. Ceci est utile pour éviter de mettre à jour tous les appareils en même temps. La surveillance reste active.
- L'état de santé est un champ en lecture seule.
healthysignifie que l'appareil a communiqué au cours de la dernière minute. Si ce n'est pas le cas, l'état de santé devientunhealthyet il peut y avoir un problème avec l'appareil ou sa connexion. - Leds permet de choisir les configurations de leds
- Numradios permet de définir le nombre de radios sur l'appareil. Cette valeur n'est pas envoyée initialement par OpenWisp, elle doit donc être définie par l'utilisateur.
- Wifis permet de sélectionner des SSID à appliquer sur cet appareil.
Leds
- Configuration LED basique (plutôt un POC pour le moment)
Radios
- Permet de définir la fréquence de chaque radio.
- La bande ne doit pas être modifiée, car cela permet à OpenSOHO de vérifier la configuration de fréquence. Ceci est nécessaire en raison des limitations de PocketBase.
Wifi
- Permet de configurer différents SSID. La sélection des modes de chiffrement est actuellement limitée. WEP ou Open n'est pas pris en charge par conception.
Surveillance
Surveillance des appareils
Vérifiez si l'état de santé de l'appareil est healthy.
Clients connectés
Cette vue affiche tous les clients wifi encore connectés au cours des 30 dernières secondes.
Intégration avec Home Assistant
La surveillance OpenSOHO peut être intégrée à Home Assistant. (Plus d'informations) Cette API REST est conçue pour être utilisée avec Home Assistant, mais peut également être intégrée à d'autres outils.
Dépannage
Réenregistrer un appareil
Si le fait de changer le Server URL d'OpenWISP dans LuCI ne semble pas s'enregistrer correctement auprès du nouveau contrôleur.
Pour résoudre ce problème :
uci delete openwisp.http.uuid
uci delete openwisp.http.key
/etc/init.d/openwisp-config restart
Le premier SSID n'est pas activé
Il semble y avoir un problème dans OpenWRT où le premier SSID configuré sur un appareil Wifi n'est pas automatiquement activé. Solution de contournement : cliquez sur le bouton d'activation dans LuCI.
Développeurs
- Installer les dépendances
go mod tidy
- Démarrer OpenSOHO
Le secret partagé est utilisé par openwisp-config pour s'enregistrer. Choisissez une chaîne aléatoire longue pour une sécurité optimale.
Exécution des tests unitaires :
go test -cover -v -coverprofile=coverage.out
go tool cover -html=coverage.out
Portée
Fonctionnalités
Certaines fonctionnalités d'OpenWISP sont (actuellement) considérées comme hors du périmètre d'OpenSOHO :
- Mises à jour du firmware : OpenWRT n'a pas besoin de mises à jour fréquentes ; utilisez la fonctionnalité Attended sysupgrade sur chaque appareil manuellement.
- Multi-tenant
- Modèles : OpenWISP dispose d'un mécanisme de modèles puissant et polyvalent, celui-ci est remplacé par un sous-ensemble de fonctionnalités plus prescriptif pour offrir une expérience de configuration plus simple.
Développement
L'objectif est d'exploiter pocketbase au maximum. De petites modifications peuvent être apportées car le back-end pocketbase ne dispose actuellement pas d'un système de plug-ins. Mais l'objectif n'est pas de créer un fork de pocketbase, afin que la fusion des changements en amont reste simple.
Publier une version
GITHUB_TOKEN=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa goreleaser release