Installazione di un server SNMP su Debian

Introduzione

SNMP (Simple Network Management) è il protocollo comunemente utilizzato per il monitoraggio di apparati di rete (ad esempio router), di server e di dispositivi come gli UPS.
In Debian il demone che governa questo protocollo si chiama, ovviamente, snmpd

Installazione

Come per quasi tutti i servizi, l'installazione di snmpd è in Debian di una semplicità disarmante:

#apt-get install snmpd snmp

Si noti che insieme al demone vero e proprio (snmpd) abbiamo installato anche un pacchetto (snmp) contenente alcuni tool utili per il debugging della nostra configurazione.

Configurazione del server

Il file di configurazione di snmpd è: /etc/snmp/snmpd.conf. Apriamolo con un editor di testo:

# nano /etc/snmp/snmpd.conf

e apportiamo le seguenti modifiche:

  • Sostituite
# sec.name           source  community
com2sec  paranoid    default public
#com2sec readonly    default public
#com2sec readwrite   default private

con

#com2sec paranoid  default         public
com2sec  local     localhost       public
com2sec  localnet  192.168.0.0/24 public
#com2sec readwrite default         private

In questo modo abbiamo permesso la connessione al server snmpd da parte di tutti i dispositivi della LAN. Al posto di 192.168.0.0/24 dovrete ovviamente sostituire la configurazione della vostra rete LAN.

  • Sostituite
# sec.model sec.name
group MyROSystem v1 paranoid
group MyROSystem v2c paranoid
group MyROSystem usm paranoid
group MyROGroup v1 readonly
group MyROGroup v2c readonly
group MyROGroup usm readonly
group MyRWGroup v1 readwrite
group MyRWGroup v2c readwrite
group MyRWGroup usm readwrite

con

group MyROSystem v1 local
group MyROSystem v2c local
group MyROSystem usm local
group MyROGroup v1 localnet
group MyROGroup v2c localnet
group MyROGroup usm localnet
group MyRWGroup v1 local
group MyRWGroup v2c local
group MyRWGroup usm local
  • Infine sostituite
# System contact information
syslocation Unknown (configure /etc/snmp/snmpd.local.conf)
syscontact Root <root@localhost> (configure /etc/snmp/snmpd.local.conf)

con

syslocation Nome_Vosta_Organizzazione
syscontact indirizzo_amministratore@vostra.organizzazione

A questo punto un riavvio del demone dovrebbe essere sufficiente:

#/etc/init.d/snmpd restart

Test della configurazione

dato da root, il comando

#snmpwalk localhost -c public -v1

dovrebbe restituirvi qualcosa di simile:

SNMPv2-MIB::sysDescr.0 = STRING: Linux 2.6.18-2-386 #1 Wed Aug 17 09:33:35 UTC 2007 i686
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10
SNMPv2-MIB::sysUpTime.0 = Timeticks: (656698) 1:49:26.98
SNMPv2-MIB::sysContact.0 = STRING: amministratore@dominio.org
SNMPv2-MIB::sysName.0 = STRING: debianserver
SNMPv2-MIB::sysLocation.0 = STRING: Organizzazione
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORID.1 = OID: IF-MIB::ifMIB
SNMPv2-MIB::sysORID.2 = OID: SNMPv2-MIB::snmpMIB
SNMPv2-MIB::sysORID.3 = OID: TCP-MIB::tcpMIB
SNMPv2-MIB::sysORID.4 = OID: IP-MIB::ip
SNMPv2-MIB::sysORID.5 = OID: UDP-MIB::udpMIB
SNMPv2-MIB::sysORID.6 = OID: SNMP-VIEW-BASED-ACM-MIB::vacmBasicGroup
SNMPv2-MIB::sysORID.7 = OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance
SNMPv2-MIB::sysORID.8 = OID: SNMP-MPD-MIB::snmpMPDCompliance
SNMPv2-MIB::sysORID.9 = OID: SNMP-USER-BASED-SM-MIB::usmMIBCompliance