SNMP

De The Linux Craftsman
Aller à la navigation Aller à la recherche
Agent Manager
Protocole udp udp
Port 161 162
Configuration Iptables iptables -I INPUT 2 -p udp --dport 161 -j ACCEPT iptables -I INPUT 2 -p udp --dport 162 -j ACCEPT

Sous Linux

Installation

# yum -y install net-snmp net-snmp-utils

Configuration

Remplacez le contenu du fichier /etc/snmp/snmpd.conf :

# Assigne la communauté 'idv90we3rnov90wer' à l'utilisateur 'ConfigUser'
# Assigne la communauté '209ijvfwer0df92jd' à l'utilisateur 'AllUser'
#       sec.name        source          community
com2sec ConfigUser      default         idv90we3rnov90wer
com2sec AllUser         default         209ijvfwer0df92jd
# Assigne le groupe 'ConfigUser' à 'ConfigGroup' pour le SNMP Version 2c
# Assigne le groupe 'AllUser' à 'AllGroup' pour le SNMP Version 2c
#                       sec.model       sec.name
group   ConfigGroup     v2c             ConfigUser
group   AllGroup        v2c             AllUser
# Défini 'SystemView', qui comprend tout sous .1.3.6.1.2.1.1 (ou .1.3.6.1.2.1.25.1)
# Défini 'AllView', qui comprend tout sous .1
#                       incl/excl       subtree
view    SystemView      included        .1.3.6.1.2.1.1
view    SystemView      included        .1.3.6.1.2.1.25.1.1
view    AllView         included        .1
# Donne à 'ConfigGroup' l'accès en RO à 'SystemView'
# Donne à 'AllGroup' l'accès en RO à 'AllView'
#                       context model   level   prefix  read            write   notify
access  ConfigGroup     ""      any     noauth  exact   SystemView      none    none
access  AllGroup        ""      any     noauth  exact   AllView         none    none

Démarrage

  • Pour SystemVInit:
# service snmpd start
  • Pour SystemD:
# systemctl start snmpd.service

Vérification

On s'assure que le service fonctionne comme attendu:

# netstat -aunp | grep snmp
udp        0      0 0.0.0.0:161                 0.0.0.0:*                               1680/snmpd

Enregistrement dans le chargeur de démarrage

  • Pour SystemVInit:
# chkconfig snmpd on
  • Pour SystemD:
# systemctl enable snmpd.service

Connexion avec un client

Sur une autre machine utilisez les commandes suivantes pour parcourir l’arborescence SNMP:

snmpwalk -v 2c -c idv90we3rnov90wer -O e @IP
ou
snmpwalk -v 2c -c 209ijvfwer0df92jd -O e @IP

Remplacez @IP par l'adresse IP de votre serveur.

Vous pouvez également utiliser des OID pour récupérer une valeur particulière :

# snmpget -v 2c -c 209ijvfwer0df92jd -O e 192.168.1.254 HOST-RESOURCES-MIB::hrDeviceDescr.196608
HOST-RESOURCES-MIB::hrDeviceDescr.196608 = STRING: GenuineIntel: Intel(R) Core(TM) i7-3630QM CPU @ 2.40GHz

Ou bien parcourir une branche SNMP:

# snmpwalk -v 2c -c 209ijvfwer0df92jd -O e 192.168.1.254 IP-MIB::ipAdEntAddr
IP-MIB::ipAdEntAddr.127.0.0.1 = IpAddress: 127.0.0.1
IP-MIB::ipAdEntAddr.192.168.1.252 = IpAddress: 192.168.1.252
IP-MIB::ipAdEntAddr.192.168.1.254 = IpAddress: 192.168.1.254
IP-MIB::ipAdEntAddr.192.168.2.252 = IpAddress: 192.168.2.252
IP-MIB::ipAdEntAddr.192.168.2.254 = IpAddress: 192.168.2.254
IP-MIB::ipAdEntAddr.192.168.3.252 = IpAddress: 192.168.3.252
IP-MIB::ipAdEntAddr.192.168.3.254 = IpAddress: 192.168.3.254
IP-MIB::ipAdEntAddr.192.168.100.200 = IpAddress: 192.168.100.200
IP-MIB::ipAdEntAddr.192.168.100.202 = IpAddress: 192.168.100.202