User Tools

Site Tools


informatique:linux:snmp

This is an old revision of the document!


Table of Contents

snmpd

Vade-mecum installation du serveur snmpd (sur debian-like).

# installation du paquet
aptitude install snmpd
 
vi /etc/snmp/snmpd.conf
#  AGENT BEHAVIOUR
# décommenter pour écouter sur *
agentAddress udp:161,udp6:[::1]:161
 
#  ACCESS CONTROL
# préciser un nom de communauté pour l'accès en lecture
# et depuis votre LAN par exemple
rocommunity com_secret  192.168.0.0/24

Au besoin, ouvrir les ports sur iptables (ou suppose que la table OUTPUT est en ACCEPT par défaut) :

  • sur le serveur
$IPTABLES -A INPUT -p udp -s 192.168.0.0/24 --dport 161 -j ACCEPT
  • sur la machine cliente (on ne doit oublier d'ouvrir les retours UDP !)
$IPTABLES -A INPUT -p udp --sport 161 -j ACCEPT

Tester (le serveur est le .2) :

snmpwalk -v2c -c com_secret <192.168.0.2> .1

snmpwalk

Permet d'interroger séquentiellement tous les OID d'une cible. Syntaxe : snmpwalk <options> -c <communauté> <server> <OID>.

Paramètres utiles :

  • -v <version> : indique la version de SNMP utilisée
  • -c <communauté> : indique la communauté
  • -O <option> : options d'affichage (facultatives)
    • n : affiche les OIDs numériques
    • q : quick print mode
    • v : n'affiche que les valeur des OIDs (sans les OIDs)

Pour obtenir la liste des tous les paramètres : snmpwalk --help.

Exemples :

# interroger les infos système d'un firewall Fortigate
# fortimachine est le nom DNS de mon firewall, .1.3.6.1.2.1.1 est l'OID de départ
snmpwalk -v 2c -c public fortimachine system
SNMPv2-MIB::sysDescr.0 = STRING: fortimachine
SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.12356.101.1.8003
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (415759737) 48 days, 2:53:17.37
SNMPv2-MIB::sysContact.0 = STRING: netadmin (8 22 22)
SNMPv2-MIB::sysName.0 = STRING: fortimachine_800c
SNMPv2-MIB::sysLocation.0 = STRING: Salle Blanche 01
SNMPv2-MIB::sysServices.0 = INTEGER: 78
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORIndex.1 = INTEGER: 1
SNMPv2-MIB::sysORID.1 = OID: SNMPv2-SMI::zeroDotZero.0
SNMPv2-MIB::sysORDescr.1 = STRING: 
SNMPv2-MIB::sysORUpTime.1 = Timeticks: (0) 0:00:00.00
 
# ne renvoyer que les valeurs des OIDs :
snmpwalk -v 2c -Ovq -c public fortimachine system
fortimachine
SNMPv2-SMI::enterprises.12356.101.1.8003
48:3:03:58.88
netadmin (8 22 22)
fortimachine_800c
Salle Blanche 01
78
0:0:00:00.00
1
SNMPv2-SMI::zeroDotZero.0
 
0:0:00:00.00

snmpbulkwalk

Même fonction que snmpwalk, mais plus performante pour parcourir une MIB car elle n'envoie pas une requête par OID, mais plusieurs OIDs par requête, afin d'optimiser le trafic réseau ainsi que la charge CPU sur le client et le serveur SNMP.

informatique/linux/snmp.1555492717.txt.gz · Last modified: 2019/04/17 11:18 by pteu