Contexte
Le pack Switch vous offre deux manières de vous connecter en SNMP.
La version 1/2c qui correspond aux modèles d'hôtes suivant : switch et switch-detailed
On a ensuite 6 modèles d'hôtes que l'on peux divisé en 2 catégories et qui vont premettre de faire une connexion en Sersion 3 :
- Les modèles d'hôtes qui offrent une vue gloable sur les interfaces du switch (expliqué dans la partie gauche du tableau ci-dessous), soit : switch-SNMPv3-authPriv, switch-SNMPv3-authNoPriv et switch-SNMPv3-noAuthNoPriv
- Les modèles d'hôtes qui offrent une vue spécifique sur chaques interfaces du switch (expliqué dans la partie droite du tableau ci-dessous), soit : switch-SNMPv3-authPriv-detailed, switch-SNMPv3-authNoPriv-detailed et switch-SNMPv3-noAuthNoPriv-detailed
Différence entre les modèles (switch, switch_snmp_v3) et (switch-detailed, switch_snmp_v3-detailed)
| switch | switch_snmp_v3 | switch-detailed | switch_snmp_v3-detailed |
|---|---|
|
|
Les différences entre les méthodes d'authentifications
SNMPv1/2c
Une seule méthode pour s'authentifier est possible
En effet, en SNMPv1/2c le seul moyen sécuritaire qui est proposé est l'utilisation d'un nom de communauté qui servira de mot de passe pour les utilisateurs voulant récupérer les informations du matériel ciblé
SNMPv3
On retrouvera dans SNMPv3, 3 façon de s'authentifier.noAuthNoPriv
Ce mode d'authentification revient au mode que l'on retrouve dans la version 1 et 2c de SNMP.
Ici, le seul champ a remplir est SWITCH_LOGIN.
Les méthodes modèles d'hôtes qui utilisent cette authentification sont : switch-SNMPv3-noAuthNoPriv et switch-SNMPv3-noAuthNoPriv-detailed
authNoPriv
Ce mode d'authenfication est le mode intermédiaire au niveau de l'authentification. Il utilise un login, un mot de passe et une protocole d'authentification.
Les champs a remplir sont donc : SWITCH_LOGIN, SWITCH_PASSPHRASE_AUTH et SWITCH_PROTOCOL_AUTH
Les modèles d'hôtes qui utilisent cette authentification sont : switch-SNMPv3-authNoPriv et switch-SNMPv3-authNoPriv-detailed
authPriv
Ce mode d'authentification est le mode le plus complet de la connexion SNMPv3.
Les champs a remplir sont donc : SWITCH_LOGIN, SWITCH_PASSPHRASE_AUTH, SWITCH_PROTOCOL_AUTH, SWITCH_PASSPHRASE_PRIV et SWITCH_PROTOCOL_PRIV
Les modèles d'hôtes qui utilisent cette authentification sont : switch-SNMPv3-authPriv et switch-SNMPv3-authPriv-detailed
Test de
laconnexion
SNMPPour l'exécution correcte des commandes de supervision, vous aurez besoin d'une connexion SNMP v2.
Quelques informations au préalable sont nécessaires pour la bonne compréhension de cette partie :
- Du côté du serveur Shinken, l'exécution des commandes est réalisée par les Pollers.
- D'autre part, du côté des machines switch supervisées, les composant SNMP paramétrés soit avec une communauté pour SNMPv2. Soit par login / mot de passe et plus suivant la configuration choisie pour SNMPv3
Côté switch supervisé
En fonction de votre matériel, il faut configurer la partie SNMP.
Côté serveur Poller
Les scripts sont exécutés par le ou les serveurs Poller.
- Les commandes sont basées sur des scripts PERL.
- Pour information, les librairies suivantes sont nécessaires:
- Déja installé par l'installeur de Shinken :
- net-snmp-utils
- net-snmp-libs
- Nécéssaire pour faire fonctionner la nouvelle version du check_nwc_health si elles ne sont pas encore installées sur vote machine :
- perl-JSON
- perl-File-Slurp
- perl-JSON-XS
- Nécessaire pour SNMP V3 :
- perl-Crypt-Rijndael ( que vous devez rajouter sur votre OS )
- Déja installé par l'installeur de Shinken :
Test de connexion
pour s'assurer de la configuration SNMP
Les différents tests
Vous pouvez tester la bonne configuration du service SNMP de votre switchdepuis votre serveur Poller en fonction du SNMP utilisé
SNMP V2
| Code Block |
|---|
[root@shinken-poller ~]# snmpwalk -v2c -c COMMUNAUTE IP-SWITCH |
En replaçant COMMUNAUTE et IP-SWITCH par ceux de votre switch.
- Une liste de valeur doit défiler à l'écran pour valider la bonne connexion.
| Code Block | ||
|---|---|---|
| ||
$ snmpwalk -v2c -c public 192.168.1.4 SNMPv2-MIB::sysDescr.0 = STRING: Cisco Internetwork Operating System SoftwareIOS (tm) MSFC Software (C6MSFC-JS-M), Version 12.0(7)XE1, EARLY DEPLOYMENT RELEASE SOFTWARE (fc1)TAC:Home:SW:IOS:Specials for infoCopyright (c) 1986-2000 by cisco Systems, Inc.Compiled Thu 03-Feb-00 23: SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.9.1.258 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (22061) 0:03:40.61 SNMPv2-MIB::sysContact.0 = STRING: admin SNMPv2-MIB::sysName.0 = STRING: CISCOROUTER SNMPv2-MIB::sysLocation.0 = STRING: server-room SNMPv2-MIB::sysServices.0 = INTEGER: 78 SNMPv2-MIB::sysORLastChange.0 = Timeticks: (0) 0:00:00.00 IF-MIB::ifNumber.0 = INTEGER: 13 IF-MIB::ifIndex.2 = INTEGER: 2 ... |
SNMP V3
| Code Block |
|---|
[root@shinken-poller ~]# snmpwalk -v3 -l SecurityLevel -u LOGIN -a AUTH -A AUTHPASSWORD -x PRIV -X PRIVPASSWORD IP-SWITCH |
Il vous faudra alors remplacer :
- SecurityLevel par : noAuthNoPriv ou authNoPriv ou authPriv suivant la configuration de votre connexion SNMPv3.
- LOGIN par le login utilisé sur le switch.
- AUTH l'algorithm d'authenfication que vous avez choisi pour la connexion (md5 ou sha).
- AUTHPASSWORD par le mot de passe que vous avez choisi pour l'authentification SNMPv3.
- PRIV par le protocole de confidentialité que vous avez choisi pour la connexion SNMPv3 (aes ou des).
- PRIVPASSWORD par le mot de passe de confidentialité que vous avez choisi pour la connexion SNMPv3.
- IP-SWITCH par l'adresse IP de votre switch.
Une liste de valeur doit défiler à l'écran pour valider la bonne connexion.
| Code Block | ||
|---|---|---|
| ||
$ snmpwalk -v3 -l authPriv -u newUser -a MD5 -A abc12345 -x DES -X abc12345 192.168.1.5 -v3 SNMPv2-MIB::sysDescr.0 = STRING: Cisco Internetwork Operating System Software IOS (tm) 7200 Software (C7200-IS-M), Version 12.3(21b), RELEASE SOFTWARE (fc1) Copyright (c) 1986-2007 by cisco Systems, Inc. Compiled Sat 21-Jul-07 16:57 by ccai SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.9.1.223 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (3597) 0:00:35.97 SNMPv2-MIB::sysContact.0 = STRING: SNMPv2-MIB::sysName.0 = STRING: Xiamen-R SNMPv2-MIB::sysLocation.0 = STRING: SNMPv2-MIB::sysServices.0 = INTEGER: 6 SNMPv2-MIB::sysORLastChange.0 = Timeticks: (0) 0:00:00.00 IF-MIB::ifNumber.0 = INTEGER: 5 IF-MIB::ifIndex.1 = INTEGER: 1 IF-MIB::ifIndex.2 = INTEGER: 2 ... |
Côté interface de configuration Shinken
SNMP v2
Dans chaque hôte héritant du modèle d'hôte "switch" ou "switch-detailed", vous aurez la donnée SNMPCOMMUNITY concernant la communauté SNMP interrogé :
Communauté SNMP v2
- En SNMP v1/v2 la communauté est un équivalent du mot de passe pour se connecter sur les équipements.
- Important: les droits SNMP nécessaire sur l'équipement ne sont qu'en LECTURE SEULE, les sondes n'ont pas besoin d'avoir de droits d'écriture.
| title | Remarque |
|---|
$SNMPCOMMUNITYREAD$ est une donnée globale qui dont la valeur est modifiable dans le fichier /etc/shinken/resource.d/snmp.cfg,
- voir LES VARIABLES ( Remplacement dynamique de contenu - Anciennement les MACROS ), pour comprendre leur utilisation.
La modification des valeurs par défaut présentes dans le fichier du serveur ( /etc/shinken/resource.d/snmp.cfg ) nécessite un redémarrage :
- du Synchronizer pour le voir dans l'interface
- et l'envoie d'une configuration ou d'un redémarrage de l'Arbiter pour que la modification soit prise en compte en supervision.
Attention cependant, la modification dans le fichier direct entraînera
- après le prochain redémarrage du Synchronizer, une modification du comportement du modèle
- et donc potentiellement de tous les hôtes utilisant cette donnée ( dans le cas où l'hôte n'a pas surchargé cette valeur ).
PASSS
SNMP
Par exemple, voici le paramétrage d'une connexion avec la communauté SNMP v2 :
v3
Dans chaque hôte héritant du modèle d'hôte "switch_SNMP_v3" ou "switch_SNMP_v3-detailed", vous aurez plusieurs données a modifier ou non suivant la configuration SNMP choisi :
| Description | Valeur par défaut | Valeur par défaut à l'installation de shinken | |
|---|---|---|---|
| SWITCH_LOGIN | Login SNMP v3
| ||
| SWITCH_PROTOCOL_AUTH | Protocol d'authentification SNMP v3
| ||
| SWITCH_PASSPHRASE_AUTH | Mot de passe d'authentification SNMP v3
| ||
| SWITCH_PROTOCOL_PRIV | Protocol de confidentialité SNMP v3
| ||
| SWITCH_PROTOCOL_PRIV | Mot de passe de confidentialité SNMP v3
|
Un autre exemple avec un paramétrage d'une connexion SNMP v3 :
Version des scripts livrés
check_nwc_health : 10.3.0.2