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