Chapitre 3. MISE EN OEUVRE DE
NET-SNMP SOUS LINUX
Ce chapitre nous montre comment mettre en oeuvre le NET-SNMP
SOUS LINUX étant donné que celui-ci est un système
d'exploitation que nous utilisons pour l'administration de réseau
à distance dans notre travail. Sachant que la mise en oeuvre de SNMP
sous Linux se fera en utilisant le standard de fait dans le logiciel
libre : le package NET-SNMP.
Le projet NET-SNMP appelé anciennement UCD-SNMP a
été historiquement développé par
l'université américaine Carnegie Mellon University (CMU)
puis amélioré et maintenu maintenant par l'université
américaine University of California Davis (UCD).
NET-SNMP est en fait Net-SNMP est un ensemble d'applications
utilisées pour implémenter le protocole SNMP (v1, v2c & v3)
utilisant ã la fois l'IPv4 & IPv6. Et un ensemble d'outils et de
fonctionnalités :
· Une API (Application Programming Interface)
d'accès à SNMP.
· Un agent SNMP extensible.
· Des commandes en ligne pour interroger des agents SNMP.
· Des commandes en ligne pour gérer et
générer des TRAPs SNMP.
· Une version de la commande UNIX netstat utilisant SNMP.
Un browser de MIB SNMP (tkmib) écrit en Tk
NET-SNMP est porté sur différents
systèmes et en particulier sur :
· Linux (noyaux 2.4 à 1.3).
· HP-UX (10.20 à 9.01 et 11.0).
· Ultrix (4.5 à 4.2).
· Solaris (2.8 à 2.3) et SunOS (4.1.4 à
4.1.2).
· NetBSD (1.5alpha à 1.0).
· FreeBSD (4.1 à 2.2).
· Win32.
· ...
NET-SNMP supporte SNMPv1, SNMPv2 et SNMPv3 que ce soit
côté agent SNMP comme du côté manager SNMP via les
commandes en ligne NET-SNMP.
3.1. INSTALLATION DE
NET-SNMP
L'installation de NET-SNMP est des plus traditionnels sous
Linux :
Décompression :
# cd
# tar xvzf net-snmp-5.0.2.tar.gz
# ln -s net-snmp-5.0.2 net-snmp
Configuration. On choisira d'utiliser par défaut
SNMPv1 :
# cd ~/net-snmp
# ./configure
Compilation :
# make
Installation :
# make install
Les commandes Linux NET-SNMP sont recopiées dans le
répertoire /usr/local/bin et /usr/local/sbin qu'il faudra rajouter
à sa variable d'environnement PATH.
Les fichiers correspondants aux MIBs exploités
côté manager SNMP par les commandes en ligne NET-SNMP sont sous
/usr/local/share/snmp/mibs.
3.1.1. Configuration et lancement
de l'agent SNMP NET-SNMP
L'agent SNMP NET-SNMP est l'exécutable snmpd sous
/usr/local/sbin. Il possède un fichier de configuration
général s'appelant snmpd.conf à copier sous
/usr/local/share/snmp. Un exemple de fichier qu'il faudra bien sûr
modifier en fonction de ce que l'on veut faire est fourni. C'est le fichier
EXAMPLE.conf sous ~/net-snmp.
On pourra consulter l'aide en ligne sur la structure de ce
fichier (# man snmpd.conf).
Les champs les plus importants sont :
Déclaration d'une machine et d'un réseau IP
ayant accès à l'agent SNMP, local et mynetwork de
communauté tst :
# sec.name source community
com2sec local localhost tst
com2sec mynetwork 192.9.201.0/24 tst
Déclaration de groupes d'accès aux objets de la
MIB de l'agent SNMP pour local et mynetwork :
####
# Second, map the security names into group names:
# sec.model sec.name
group MyRWGroup v1 local
group MyRWGroup v2c local
group MyROGroup v1 mynetwork
group MyROGroup v2c mynetwork
Accès en lecture/écriture aux objets de la MIB
de l'agent pour l'accès local et lecture seulement pour l'accès
mynetwork :
####
# Finally, grant the 2 groups access to the 1 view with
different
# write permissions:
# context sec.model sec.level match read write notif
access MyROGroup "" any noauth exact all none none
access MyRWGroup "" any noauth exact all all none
Autorisation de la génération de TRAPs
SNMP en direction d'un manager SNMP de la machine localhost de
communauté tst :
####
# Traps and v2 traps enabled and sent to localhost
#
# command host manager community
trapsink localhost tst
trap2sink localhost tst
Renseignement de l'objet sysLocation de la branche
system :
syslocation ENSEIRB, Bordeaux, France
Renseignement de l'objet sysContact de la branche system
:
syscontact Kadionik <kadionik@enseirb.fr>
L'utilitaire snmpconf permet de créer le fichier
snmpd.conf de façon interactive et conviviale sans en connaître
exactement sa structure.
Création rapide du fichier snmpd.conf à la
première utilisation :
# snmpconf -g basic_setup
Mode interactif :
# snmpconf
Après création du fichier snmpd.conf avec les
valeur décrites précédemment et recopie sous
/usr/local/share/snmp, il ne reste plus qu'à lancer l'agent
snmpd :
# snmpd
On pourra lancer dans une autre fenêtre un sniffer
réseau comme tcpdump pour voir les échanges agent SNMP/manager
SNMP :
# tcpdump -vv -i lo
|