snmpd sur centOS

Encore un article sur la supervision.
Cette fois si, j’ai besoin d’installer et de configurer un daemon snmpd sur un serveur à base de CentOS.

Installer les paquet snmpd

# yum install net-snmp net-snmp-utils

Configurer le fichier snmpd.conf de façon très générique.

# nano /etc/snmp/snmpd.conf

Le fichier se décompose en plusieurs partie. On va s’intéresser que au 4 premières du chapitre Access Control.
Et on va appliquer une configuration de type readonly. En laissant donc de coté « paranoid » et « readwrite ».

####
# First, map the community name "public" into a "security name"

#       sec.name  source          community
#com2sec notConfigUser  default       public
com2sec readonly ipduserveurquimonitor lacommunity


Dans « Second ». On crée les groupes ReadOnly avec la possibilité d’utiliser du snmp v1 et v2.

####
# Second, map the security name into a group name:

#       groupName      securityModel securityName
#group   notConfigGroup v1           notConfigUser
#group   notConfigGroup v2c           notConfigUser
group MyROGroup v1         readonly
group MyROGroup v2c        readonly
group MyROGroup usm        readonly

Dans third on va créer 2 vue.

####
# Third, create a view for us to let the group have rights to:

# Make at least  snmpwalk -v 1 localhost -c public system fast again.
#       name           incl/excl     subtree         mask(optional)
#view    systemview    included   .1.3.6.1.2.1.1
#view    systemview    included   .1.3.6.1.2.1.25.1.1
view all    included  .1                               80
view system included  .iso.org.dod.internet.mgmt.mib-2.system

Et enfin dans « Finally », on applique les droit d’accès de chaque groupe de ReadOnly.

####
# Finally, grant the group read-only access to the systemview view.

#       group          context sec.model sec.level prefix read   write  notif
#access  notConfigGroup ""      any       noauth    exact  systemview none none
access MyROSystem ""     any       noauth    exact  system none   none
access MyROGroup ""      any       noauth    exact  all    none   none
access MyRWGroup ""      any       noauth    exact  all    all    none

Redemarrer le service snmpd.

# /etc/init.d/snmpd restart

Et l’on test en local, puis a partir du serveur distant :

# /usr/bin/snmpwalk -v 1 -c lacommunity localhost
# /usr/bin/snmpwalk -v 1 -c lacommunity ipduserveur