Skip to main content

Configurar snmpd en Debian

Normalmente, en Linux , SNMP no viene implementado ni configurado por defecto, con lo que para poder obtener toda la información que necesitamos, es necesario ejecutar una serie de pasos que se detallan a continuación.

Haremos login al servidor Linux mediante ssh

ssh usuario@servidor

Una vez que hemos accedido procederemos a ejecutar el comando update para actualizar los repositorios

sudo apt update

A continuación instalaremos el demonio de snmp y las librerías.

sudo apt install snmpd snmp-mibs-downloader

Abra el archivo /etc/snmp/snmp.conf en el editor de texto con privilegios sudo. En este tutorial, se usará nano:

sudo nano/etc/snmp/snmpd.conf

Primero, debe cambiar la directiva agentAddress. Por el momento, está configurada para permitir solo las conexiones que se originan desde el servidor local. Deberá excluir la línea actual y quitar el comentario de la que está debajo de ella, que es la que permite todas las conexiones.

#  Listen for connections from the local system only
#agentAddress  udp:127.0.0.1:161
#  Listen for connections on all interfaces (both IPv4 *and* IPv6)
agentAddress udp:A.B.C.D:161,udp6:[::1]:161

Donde A.B.C.D será la dirección IP de la máquina.

A continuación veremos lo siguiente:

###############################################################################
#
#  ACCESS CONTROL
#
 
                                                 #  system + hrSystem groups only
view   systemonly  included   .1.3.6.1.2.1.1
view   systemonly  included   .1.3.6.1.2.1.25.1
                                                 #  Full access from the local host
#rocommunity public  localhost
                                                 #  Default access to basic system info
# rocommunity public  default    -V systemonly
                                                 #  rocommunity6 is for IPv6
# rocommunity6 public  default   -V systemonly
 
                                                 #  Full access from an example network
                                                 #     Adjust this network address to match your local
                                                 #     settings, change the community string,
                                                 #     and check the 'agentAddress' setting above
#rocommunity secret  10.0.0.0/16
 

Si queremos que todo esté accesible, en lugar de systemonly con las OID .1.3.6.1.2.1 etc, agregaremos la entrada .1 para que se puedan ver todos los parámetros de SNMP del equipo

###############################################################################
#
#  ACCESS CONTROL
#
 
view   all         included   .1 
                                                 #  system + hrSystem groups only
view   systemonly  included   .1.3.6.1.2.1.1
view   systemonly  included   .1.3.6.1.2.1.25.1
                                                 #  Full access from the local host
#rocommunity public  localhost
                                                 #  Default access to basic system info
rocommunity public  default    -V all
                                                 #  rocommunity6 is for IPv6
rocommunity6 public  default    -V all
 
                                                 #  Full access from an example network
                                                 #     Adjust this network address to match your local
                                                 #     settings, change the community string,
                                                 #     and check the 'agentAddress' setting above
#rocommunity secret  10.0.0.0/16
 

En los campos marcados en rocommunity podremos la comunidad snmp de nuestro sistema en lugar de public (como medida de precacución)

Más Adelante hay una sección en la que aparecen los datos de identificación del contacto y la ubicación

###############################################################################
#
#  SYSTEM INFORMATION
#
 
#  Note that setting these values here, results in the corresponding MIB objects being 'read-only'
#  See snmpd.conf(5) for more details
sysLocation    Dirección
sysContact     contacto
                                                 # Application + End-to-End layers
sysServices    72
 
 

A continuación procederemos a guardar el archivo con CTRL + O y salir con CTRL + S, y reiniciaremos el demonio SNMP

sudo systemctl restart snmpd

Por ultimo haremos que el servicio se inicie en el arranque de la máquina

sudo systemctl enable snmpd

Para comprobar que el demonio de snmp funciona, podremos usar la herramienta snmpwalk