Búsqueda de sitios web

Instalar y configurar SNMP en RHEL/CentOS/Fedor


Protocolo simple de administración de red (

SNMP

) se utiliza para obtener información sobre el estado actual de los servidores, equipos de red, impresoras u otros dispositivos IP. Puede obtener diferentes métricas a través de SNMP: uso de la CPU, número de procesos, estado de los servicios, etc. Las principales ventajas de SNMP son que es compatible con casi todos los dispositivos y no requiere la instalación de un agente de sistema de monitoreo por separado. En este artículo, mostraremos cómo instalar y configurar un agente SNMP (y SNMP v3) en un host Linux que ejecuta CentOS, RHEL o Fedora.

Instalación del agente SNMP y herramientas de diagnóstico en Linux

Antes de instalar paquetes SNMP, instale las últimas actualizaciones en su servidor mediante dnf (yum):

# dnf update -y

Luego instale el agente SNMP y las herramientas adicionales desde el repositorio base:

# dnf install net-snmp net-snmp-utils -y

¿Cómo habilitar y configurar el agente SNMP en Linux?

Antes de la configuración de SNMP, cree una copia del archivo de configuración original:

# mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.orig

Luego edite la configuración del agente SNMP:

# nano /etc/snmp/snmpd.conf

Agregue las siguientes líneas:

rocommunity public
syslocation GE-DC2
syscontact gedc2-admins@a-d.site

Estos son tres parámetros básicos de SNMP. Hay muchas otras opciones para configurar el agente Net-SNMP, pero no podemos cubrir todo en un artículo.

Guarde el archivo (se recomienda ingresar una ubicación correcta y una dirección de correo electrónico válida). Luego habilite el servicio snmpd e inícielo:

# systemctl enable snmpd.service
# systemctl start snmpd

Asegúrese de que el servicio se está ejecutando:

# systemctl status snmpd

Si está usando un firewall en su servidor, permita conexiones a los puertos TCP/UDP 161 y 162. Use los siguientes comandos para abrir puertos SNMP en firewalld:

# firewall-cmd --zone=public --add-port=161/udp --permanent
# firewall-cmd --zone=public --add-port=161/tcp -permanent
# firewall-cmd --zone=public --add-port=162/udp --permanent
# firewall-cmd --zone=public --add-port=162/tcp --permanent
# firewall-cmd --reload

Sondear agente SNMP mediante Snmpwalk

Puede sondear el agente SNMP utilizando la herramienta snmpwalk. Para verificar el servicio localmente usando el protocolo SMMPv2, use el comando:

# snmpwalk -v 2c -c public -O e 127.0.0.1

Si SNMP está configurado correctamente, recibirá un conjunto de datos SNMP del agente.

Después de configurar el archivo de configuración y ejecutar un comando de prueba, recibí el siguiente error:

Timeout: No Response from localhost

Lo arreglé borrando el archivo de configuración y agregando solo las líneas que especifiqué anteriormente. Si necesitas alguna configuración específica, revisa todo a fondo, ya que el servicio arranca sin problemas, pero no funciona.

También puede consultar su servidor localmente usando este comando:

# snmpwalk -v2c -c public localhost system
SNMPv2-MIB::sysDescr.0 = STRING: Linux server1.test.com 4.18.0-147.8.1.el8_1.x86_64 #1 SMP Thu Apr 9 13:49:54 UTC 2020 x86_64
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (106564) 0:17:45.64
SNMPv2-MIB::sysContact.0 = STRING: gedc2-admins@a-d.site
SNMPv2-MIB::sysName.0 = STRING: server1.test.com
SNMPv2-MIB::sysLocation.0 = STRING: GE-DC2
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SNMPv2-MIB::sysORUpTime.6 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.7 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.8 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.9 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.10 = Timeticks: (0) 0:00:00.00

Luego, asegúrese de que su agente SNMP esté disponible de forma remota. Ejecute este comando en otro servidor (instale las herramientas snmp antes de hacerlo):

# snmpwalk -v2c -c public 192.168.21.205 system

Como puede ver, el servidor remoto recibió la información del servidor a través de SNMP. Ahora puede agregar el servidor a cualquier sistema de monitoreo SNMP (como Zabbix o Cacti).

Aquí hay un artículo sobre “¿Cómo configurar SNMP en un host VMWare ESXi? ”.

Configurar SNMPv3 en Linux CentOS/RHEL/Fedora

Al comienzo del artículo, mostramos cómo configurar un agente SNMP que usa SNMP v1 y v2. SNMPv3 es una versión más nueva y segura del protocolo compatible con la autenticación y el cifrado. Para configurar SNMPv3, cree un usuario con una contraseña, establezca una contraseña de cifrado, derechos de acceso y un algoritmo de cifrado (MD5 o SHA).

Para crear un usuario para SNMPv3, detenga el demonio snmpd:

# systemctl stop snmpd

Luego puedes crear un usuario:

# net-snmp-create-v3-user -ro -A o2ps2w0dD -a SHA -X r30svV33 -x AES snmpuser

Esta es la sintaxis de net-snmp-create-v3-user:

net-snmp-create-v3-user [-ro] [-A authpass] [-a MD5|SHA] [-X privpass][-x DES|AES] [username]
  • -ro: significa que un usuario tiene privilegios de solo lectura

  • Authpass: contraseña de autenticación

  • Privpass - clave privada

Después de ejecutar el comando, se creará un usuario con la contraseña y la clave especificadas:

Iniciar el servicio:

# systemctl start snmpd

Intente sondear al agente SNMP mediante snmpwalk. Tenga en cuenta que para sondear sobre SNMPv3, debe especificar el nombre de usuario, la contraseña y la clave.

# snmpwalk -v3 -a SHA -A o2ps2w0dD -x AES -X r30svV33 -l authPriv -u snmpuser 192.168.21.205 | head

Artículos relacionados