Vous êtes sur la page 1sur 74

SNMP

SNMP

PlanPlan

SNMP : fonctionnement SNMPSNMP soussous linuxlinux SNMPSNMP SNMP sursur sur un unun routeur routeurrouteur
SNMP : fonctionnement
SNMPSNMP soussous linuxlinux
SNMPSNMP SNMP sursur sur un unun routeur routeurrouteur

PrincipePrincipe dede SNMPSNMP

Principe Principe de de SNMP SNMP
Principe Principe de de SNMP SNMP
Principe Principe de de SNMP SNMP

DéfinitionDéfinition

Définition Définition S imple N etwork M anagement P rotocol Adopté par tous les constructeurs Langage
Définition Définition S imple N etwork M anagement P rotocol Adopté par tous les constructeurs Langage

Simple Network Management Protocol

Adopté par tous les constructeurs

Langage commun à tous les appareils réseaux

modem, PC, routeur, commutateurs, etc.

Architecture agent/superviseur

RôleRôle etet architecturearchitecture

Rôle Rôle et et architecture architecture Quelle information est intéressante ? Comment nommer les éléments ?
Rôle Rôle et et architecture architecture Quelle information est intéressante ? Comment nommer les éléments ?

Quelle information est intéressante ?

Comment nommer les éléments ?

Comment obtenir et fixer des valeurs ?

Architecture agent/superviseur

Communication basées sur UDP

Agent attend des ordres du superviseur

Agent peut "désobéir" avec un trap

LesLes requêtesrequêtes

UDP, port 161 get-request : lecture get-next-request : lecture séquentielle set-request : écriture get-response
UDP, port 161
get-request : lecture
get-next-request : lecture séquentielle
set-request : écriture
get-response : attente réponse
UDP, port 162

trap : alarme récupération par le superviseur

ServiceService dede gestiongestion

Trois primitives de service GET : lecture d ’une valeur d ’objet géré SET :
Trois primitives de service
GET : lecture d ’une valeur d ’objet géré
SET : écriture d ’une valeur d ’objet géré
GET-NEXT : lecture du « suivant »

Une primitive de notification

TRAP : un événement prédéfini

GETGET
GETGET

Question / Lecture /Réponse

AccèsAccès auxaux objetsobjets gérésgérés

Requête d’un Gestionnaire lecture ou écriture, … paramètre : l ’oid (le type de l
Requête d’un Gestionnaire
lecture ou écriture, …
paramètre : l ’oid (le type de l ’objet géré)
si variable simple
oid.0

si variable dans une table

oid.<valeur index 1>.….<valeur index n>

ExempleExemple dede lecturelecture

Exemple Exemple de de lecture lecture
Exemple Exemple de de lecture lecture
Exemple Exemple de de lecture lecture

LeLe serviceservice GETGET

Le Le service service GET GET Requête : une liste d’oid .0 Réponses : une liste
Le Le service service GET GET Requête : une liste d’oid .0 Réponses : une liste

Requête : une liste d’oid .0

Réponses : une liste de (oid,valeur) ou erreur

Le Le service service GET GET Requête : une liste d’oid .0 Réponses : une liste

LeLe serviceservice SETSET

Le Le service service SET SET Requête / Recherche / Mise à jour / Notification
Le Le service service SET SET Requête / Recherche / Mise à jour / Notification

Requête / Recherche / Mise à jour / Notification

Le Le service service SET SET Requête / Recherche / Mise à jour / Notification

LeLe serviceservice SETSET

Le Le service service SET SET Requête : une liste de couple oid, valeur Réponse :
Le Le service service SET SET Requête : une liste de couple oid, valeur Réponse :

Requête : une liste de couple oid, valeur

Réponse : la même liste ou erreur

Le Le service service SET SET Requête : une liste de couple oid, valeur Réponse :

LeLe serviceservice GETGET--NEXTNEXT

Le Le service service GET GET - - NEXT NEXT Question / Recherche du suivant /Lecture
Le Le service service GET GET - - NEXT NEXT Question / Recherche du suivant /Lecture

Question / Recherche du suivant /Lecture /Réponse

Le Le service service GET GET - - NEXT NEXT Question / Recherche du suivant /Lecture

LeLe serviceservice GETGET--NEXTNEXT

Le Le service service GET GET - - NEXT NEXT Requête : un oid o Réponse
Le Le service service GET GET - - NEXT NEXT Requête : un oid o Réponse

Requête : un oid o

Réponse : l ’oid et la valeur de l ’objet géré suivant o

service service GET GET - - NEXT NEXT Requête : un oid o Réponse : l

ParcoursParcours

Parcours Parcours
Parcours Parcours
Parcours Parcours

ParcoursParcours d’uned’une MIBMIB

Parcours Parcours d’une d’une MIB MIB
Parcours Parcours d’une d’une MIB MIB
Parcours Parcours d’une d’une MIB MIB

ParcoursParcours d’uned’une tabletable

Parcours Parcours d’une d’une table table
Parcours Parcours d’une d’une table table
Parcours Parcours d’une d’une table table

ParcoursParcours d’uned’une tabletable

Parcours Parcours d’une d’une table table
Parcours Parcours d’une d’une table table
Parcours Parcours d’une d’une table table

ParcoursParcours d’uned’une tabletable

Parcours Parcours d’une d’une table table
Parcours Parcours d’une d’une table table
Parcours Parcours d’une d’une table table

ParcoursParcours d’uned’une tabletable

Parcours Parcours d’une d’une table table
Parcours Parcours d’une d’une table table
Parcours Parcours d’une d’une table table

NotificationNotification

Notification Notification Trap ou alarme
Notification Notification Trap ou alarme

Trap ou alarme

Notification Notification Trap ou alarme

LesLes trapstraps

Les Les traps traps 7 différents types d'alarmes coldStart, warmStart linkDown, linkUp authetificationFailure
Les Les traps traps 7 différents types d'alarmes coldStart, warmStart linkDown, linkUp authetificationFailure

7 différents types d'alarmes

coldStart, warmStart

linkDown, linkUp

authetificationFailure

egpNeighborLoss

enterpriseSpecific

5 destinataires maximum

LesLes erreurserreurs

Champs : Error status Error index Codes d'erreur :
Champs :
Error status
Error index
Codes d'erreur :

0 : noError 1 : tooBig 2 : noSuchName 3 : badValue 4 : readOnly 5 : genErr

LesLes droitsdroits d’accèsd’accès

Les types de droits d'accès : read-only read-write write-only not-accessible Connaissance du nom de la
Les types de droits d'accès :
read-only
read-write
write-only
not-accessible
Connaissance du nom de la communauté

Restriction par sous-arbres de la MIB (MIB view)

LaLa sécuritésécurité :: communautécommunauté

La La sécurité sécurité : : communauté communauté Relation N-N entre Gestionnaires et Agents Un agent
La La sécurité sécurité : : communauté communauté Relation N-N entre Gestionnaires et Agents Un agent

Relation N-N entre Gestionnaires et Agents

Un agent doit pouvoir contrôler son accès suivant les Gestionnaires

Solution de mots de passe

Un Agent définit des noms de communautés (public)

Toute requête de Gestionnaire contient un nom (public)

ProfilProfil dede communautécommunauté

Profil Profil de de communauté communauté Une communauté a une vue partielle de la MIB a
Profil Profil de de communauté communauté Une communauté a une vue partielle de la MIB a

Une communauté

a une vue partielle de la MIB

a des droits sur cette vue (mode d ’accès)

droits à confronter avec ceux des objets gérés

vue partielle de la MIB a des droits sur cette vue (mode d ’accès) droits à

IllustrationIllustration

Illustration Illustration
Illustration Illustration
Illustration Illustration

PlanPlan

SNMP : fonctionnement SNMPSNMP soussous linuxlinux SNMPSNMP SNMP sursur sur un unun routeur routeurrouteur
SNMP : fonctionnement
SNMPSNMP soussous linuxlinux
SNMPSNMP SNMP sursur sur un unun routeur routeurrouteur

InstallationInstallation etet configurationconfiguration

Installation Fedora : client snmp : yum install net-snmp-utils serveur snmp = agent snmp :
Installation Fedora :
client snmp : yum install net-snmp-utils
serveur snmp = agent snmp : yum install net-snmp
Fichiers de configuration
Serveur

/etc/snmp/snmpd.conf /etc/snmp/snmptrapd.conf

Client

/usr/share/snmp/snmpconf-data/

FichierFichier dede configurationconfiguration ##############################################################
FichierFichier dede configurationconfiguration
##############################################################
#############
#
snmpd.conf
#
#
- created by the snmpconf configuration program
##############################################################
#############
#
SECTION: Access Control Setup
#
#
This section defines who is allowed to talk to your running
#
snmp agent.
#rocommunity: a SNMPv1/SNMPv2c read-only access community name
#arguments: community [default|hostname|network/bits] [oid]
rocommunity public

#rwcommunity: a SNMPv1/SNMPv2c read-write access community name #arguments: community [default|hostname|network/bits] [oid]

rwcommunity public

FichiersFichiers MIBMIB

Fichiers Fichiers MIB MIB Après l’installation du package snmp /usr/share/snmp/mibs fichiers des différentes
Fichiers Fichiers MIB MIB Après l’installation du package snmp /usr/share/snmp/mibs fichiers des différentes

Après l’installation du package snmp

/usr/share/snmp/mibs fichiers des différentes parties de mib RFC1213-MIB.txt, RMON-MIB.txt…

Fichiers ASN.1

accès en lecture écriture, types (SNMPV2-SMI.txt) explications (SNMPV2-MIB.txt)…

FichiersFichiers MIBMIB SNMPv2SNMPv2--SMISMI

Fichier SNMPv2-SMI Définition de la partie de l’arbre de référence Définition des types utilisés dans
Fichier SNMPv2-SMI
Définition de la partie de l’arbre de référence
Définition des types utilisés dans cet arbre
SNMPv2-SMI DEFINITIONS ::= BEGIN
-- the path to the root
--

org dod internet directory mgmt

mib-2

transmission

experimental

private

enterprises

OBJECT IDENTIFIER ::= { iso 3 } OBJECT IDENTIFIER ::= { org 6 } OBJECT IDENTIFIER ::= { dod 1 } OBJECT IDENTIFIER ::= { internet 1 } OBJECT IDENTIFIER ::= { internet 2 } OBJECT IDENTIFIER ::= { mgmt 1 } OBJECT IDENTIFIER ::= { mib-2 10 } OBJECT IDENTIFIER ::= { internet 3 } OBJECT IDENTIFIER ::= { internet 4 } OBJECT IDENTIFIER ::= { private 1 }

"iso" = 1

FichiersFichiers MIBMIB

Fichiers Fichiers MIB MIB Vérification d’une requête avant son émission impossible d’envoyer un SET avec un
Fichiers Fichiers MIB MIB Vérification d’une requête avant son émission impossible d’envoyer un SET avec un

Vérification d’une requête avant son émission

impossible d’envoyer un SET avec un mauvais type MIB présente sur le gestionnaire et la ressource (ceci n’est pas obligatoire mais semble être la solution la plus souvent utilisée)

Ouvrir SNMPv2-MIB

FichiersFichiers MIBMIB

Fichiers Fichiers MIB MIB
Fichiers Fichiers MIB MIB
Fichiers Fichiers MIB MIB

snmpwalksnmpwalk

Parcours de la MIB snmpwalk –v 1 –c public 172.20.168.254 system.sysDescr.0 = Cisco Internetwork Operating
Parcours de la MIB
snmpwalk –v 1 –c public 172.20.168.254
system.sysDescr.0 = Cisco Internetwork Operating System
Software
IOS (tm) 1600 Software (C1600-SY-M), Version 12.0(5)T,
RELEASE SOFTWARE (fc1)
Copyright (c) 1986-1999 by cisco Systems, Inc.
Compiled Fri 23-Jul-99 06:04 by kpma
system.sysObjectID.0 = OID: enterprises.9.1.172
system.sysUpTime.0 = Timeticks: (575148278) 66 days,

13:38:02.78

system.sysContact.0 = system.sysName.0 = moi system.sysLocation.0 = system.sysServices.0 = 78 system.sysORLastChange.0 = Timeticks: (0) 0:00:00.00 interfaces.ifNumber.0 = 4 interfaces.ifTable.ifEntry.ifIndex.1 = 1

SnmpwalkSnmpwalk :: syntaxesyntaxe