Master d'informatique Réseaux Supervision réseaux Bureau S3-354 mailto:jean.saquet@info.unicaen.fr http://www.info.unicaen.fr/~jean/radis
Supervision des réseaux Système dépendants des réseaux physiques : Nécessitent d'être dans le réseau monitoré. Si plusieurs types de réseaux (Ethernet, ATM,...), plusieurs systèmes très différents. Pas de possibilité de centralisation au niveau du poste de l'administrateur réseau 2
Supervision des réseaux Pour des raisons d'homogénéité : protocole de supervision au niveau application, donc au dessus du niveau transport TCP/IP Inconvénient : si le niveau transport ne fonctionne plus! Avantage : tous les éléments (switches, routeurs, imprimantes, serveurs,...) peuvent être interrogés à partir du même poste. 3
Architecture Modèle client / serveur, mais : serveur = agent, installé sur chaque noeud monitoré client = logiciel de supervision, sur le poste de l'administrateur réseau Donc un seul client en général, interrogeant beaucoup de serveurs 4
Architecture 5
Utilisation L'administrateur doit pouvoir : lire les données, les modifier, être alerté par certains événements. On peut envisager que d'autres puissent lire les données (ou certaines d'entre elles) 6
Données administrées État des éléments, statistiques fonctions réseau essentiellement, mais aussi systèmes. Variables correspondant à tous les éléments du système observé. Ces données dépendent de chaque système 7
SNMP Simple Network Management Protocol protocole de communication poste supervision / agents format des données échangées cf. rfc 1905 Versions 1, 2, 3 8
SNMP Prise en compte des données différentes pour chaque système : classification des données avec : des catégories "standard" (système, interfaces, ip, tcp, udp,...) des particularités de chaque équipement (imprimantes, routeurs,...) 9
SNMP Solution : MIB : Management Information Base Pour les catégories standard, ou les particularités. cf. rfc1902. Standards : système, interfaces, at, ip, icmp, tcp, udp, rip, bgp, ospf, dns,... Beaucoup de variables de beaucoup d'équipements peuvent se contenter de ces catégories 10
MIB : principe Définition de variables, pour chaque catégorie Un texte écrit en langage formel (ASN.1) définit ces variables, leur nom, leur type. Ce langage formel permet une lecture "humaine", mais aussi une utilisation par les logiciels de supervision. (cf. exemples) 11
MIB : ex. de variables SysUpTime (catégorie système) ifnumber (interfaces) tcpinsegments (tcp) iproutingtable Pour ce dernier exemple, la donnée est de type structurée : ensemble de lignes de la table de routage, chacune comportant plusieurs éléments 12
MIB : dans l'espace de noms ISO / UIT Arborescence des objets normalisés (dépasse le cadre de l'internet. Chaque noeud a des fils numérotés La racine (.) a trois fils : 1 : iso 2 : itu 3 : iso/itu 13
MIB : position dans l'arbre Sous iso, fils 3 = org sous org, fils 6 = dod sous dod, fils 1 = internet sous internet, fils 2 = mgmt sous mgmt, fils 1 = mib-2 donc.iso.org.dod.internet.mgmt.mib-2 équivalent à.1.3.6.1.2.1 14
MIB : tableaux Certaines variables sont des tableaux (exemple : table d'adresses IP IpAddrTable). Dans ce cas, chaque entrée à plusieurs champs, dont un champ d'index. Voir la définition de Ipv4InterfaceTable (par ex.) 15
SNMP : protocole Deux commandes essentielles :get, set Le fait de positionner une variable peut avoir un effet de bord : exemple : temps avant le prochain redémarrage = 0 le positionnement des variables devra être protégé 16
SNMP : protocole Commandes du protocole : get getnext set réponse trap implémentées dans quelques commandes simples : snmpget, snmpwalk,... 17
SNMP : protocole Voir les traces wireshark pour les champs du protocole. La version 3 permet l'authentification et le chiffrement des données, en utilisant des clés secrètes partagées. En outre, un système d'estampillage du temps, basé sur le nombre de boot et la durée depuis le dernier boot permet d'éviter le rejeu 18
SNMP : protocole Les "traps" permettent d'avertir le superviseur lorsqu'un événement se produit (par exemple, une variable dépasse un certain seuil) Sinon, le superviseur utilise les commandes de type get pour obtenir des informations, set pour agir. L'essentiel du monitoring s'effectue par scrutation des agents SNMP. 19
SNMP : protocole Les formats des éléments de protocole sont également définis en ASN.1 Les commandes doivent préciser : la version de snmp utilisée (1, 2c ou 3) la communauté (par ex. public) et bien sûr, la machine concernée ainsi que la variable mib accédée. 20
SNMP : autorisations En version 1 et 2, la "communauté" définit les droits (public peut lire, une autre permet d'écrire) ceci sert donc de mot de passe. En version 3, la sécurité est un peu plus évoluée! En version 2, on peut toujours utiliser des mécanismes de filtrage IP pour améliorer. 21
SNMP : outils De nombreux logiciels utilisant SNMP existent. Ils permettent des interfaces plus conviviales que les "snmpcmd". tkined mrtg nagios / centreon cacti... cf démos et TP 22