Initialement, OpenWrt était utilisé au Cr@ns pour l'apport de fonctionnalités supplémentaires sur les anciennes bornes Wrt54g (rajout du WPA2 Enterprise par exemple). Cependant cette solution a été conservée pour les bornes suivantes, qui possédaient d'origine les fonctionnalités nécessaires. Ceci s'explique en partie par les possibilités de gestion centralisée de plusieurs systèmes d'exploitation du même type.
Il est possible de se connecter à toutes les bornes Wifi à l'aide du login root et d'une clef ssh se trouvant dans /usr/scripts/gestion/clef-wifi. Pour éviter de l'ajouter à son agent, on peut utiliser la configuration suivante ( faire ssh [nom de la borne].b) :
Host *.b ProxyCommand /bin/nc `echo '%h' | sed 's/\.borne$//'`.wifi.crans.org %p User root ForwardX11 no StrictHostKeyChecking no PasswordAuthentication no ConnectTimeout 10 IdentityFile /usr/scripts/gestion/clef-wifi HashKnownHosts no UserKnownHostsFile ~/.ssh/pref_ssh_known_bornes
Le cluster-ssh
C'est probablement la méthode la plus sale mais aussi la plus rapide à comprendre. Utiliser un pc avec un grand écran.
Monitoring qualitatif
Cf: http://git.crans.org/?p=wifi_new.git;a=summary Un script régulier (5 min) se connecte aux bornes en ssh et exécute une commande de récupération du statut. On peut ainsi récupérer de nombreuses informations utiles :
- version du build, uptime
- SSIDs diffusés
- clients connectés sur chaque SSIDs et les vitesses de synchronisations
- réseaux (SSIDs) proches et fréquences utilisées
Ces différentes informations sont stockées sous forme de xml dans /usr/scripts/var et servent notamment à la synthèse de la carte des bornes: http://intranet2.crans.org/wifimap
On peut d'ailleurs récupérer un xml agrégé à l'adresse http://intranet2.crans.org/wifimap/get_xml
Monit
Monit est sur les bornes. Si vous rajoutez un service particulier sur toutes les bornes, pensez aussi à le rajouter dans /etc/monitrc pour s'assurer qu'il tourne en permanence.
Centralisation des logs
Voir aussi CransTechnique/Services/CentralisationDesLogs. Les bornes envoient leur log au serveur thot chargé d'agréger les historiques présents sur les serveurs. En attendant une gestion via la base de données relationnelle, voici quelques fichiers de logs utiles Fichiers utiles:
/var/log/wifi_auth.log : agrégation des logs des bornes Wifi, de radius et du dhcp. Ceci permet de se faire une idée rapide d'où peut provenir un problème de connexion (grepper une mac cliente sur ce fichier)
/var/log/monit.log : agrégation des messages de monit des bornes. monit indique notamment les plantages des démons qu'il surveille et la connectivité réseau (par exemple, si un vlan n'est plus propagé jusqu'à la borne)
Monitoring quantitatif (munin)
Les informations récupérées via le xml précédent ou via les logs permettent également la réalisation de graphes munin, on peut ainsi estimer l'état du réseau : http://munin.crans.org/munin/wifi-day.html
Il permet également de détecter certains problèmes, par exemple un nombre constant de clients sur une borne indique généralement une défaillance du démon hostapd sur la borne.
CWMP
(Projet toujours en développement) CWMP est un protocole de configuration centralisée d'un ensemble de points d'accès ou plus généralement de périphériques (CPE, customer premise equipemenent). Contrairement à notre système actuel, c'est au CPE de venir se connecter au serveur d'autoconfiguration, ce qui limite les problèmes d'attente sur les bornes éteintes.
L'implémentation libre, freecwmp, présente dans OpenWrt est pour le moment très légère mais présente énormément d'attrait au Cr@ns. CWMP est un protocole basé sur des modèles de données ce qui permettrait une cohabitation d'OpenWrt avec d'autres OS implémentant déjà le protocole, et le même modèle de données (Cisco ?).
Un début de serveur d'autoconfiguration est également disponible ici : http://git.crans.org/?p=acs.git;a=summary Il inclura à terme la carte wifi, et permettra d'effectuer des opérations d'écriture sur les bornes (rajouter/retirer des SSID, changer de fréquence, etc)
--