Honestamente, SNMP es uno de esos protocolos que parecen bastante simples: obtener información de tus servidores o equipos de red, sin complicaciones. Pero luego te das cuenta de que configurarlo en Linux, especialmente en CentOS, RHEL o Fedora, puede ser un poco molesto. A veces, configuras todo, ejecutas [nombre del protocolo] snmpwalky terminas viendo un tiempo de espera o ninguna respuesta. Es frustrante, especialmente cuando estás bastante seguro de haber hecho todo bien, pero vives con la sensación de que el servicio simplemente no responde. Podrían ser problemas del firewall, errores de configuración o permisos, ¿quién sabe? Esta guía está diseñada para ayudarte a despejar parte de ese desorden, especialmente si intentas que SNMP v2c funcione primero, y más tarde, tal vez un elegante SNMPv3 con cifrado.
Cómo solucionar problemas comunes de SNMP en Linux
Instalar y configurar el agente SNMP
Para empezar, si SNMP aún no está instalado, es un poco raro, pero las herramientas de red no vienen preconfiguradas. Ejecutar dnf update -yes un buen comienzo (o yum update -ysi te gusta).Después, instala los paquetes necesarios:
# dnf install net-snmp net-snmp-utils -y
Esto incorpora el demonio SNMP y las herramientas de línea de comandos como snmpwalk. En algunas máquinas, es posible que deba hacer esto con yum, según su distribución.
Configuración del agente SNMP: los errores habituales
Primero, querrás hacer una copia de seguridad de tu configuración predeterminada, por si acaso algo sale mal. Usa:
# mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.orig
Luego, edite el archivo de configuración:
# nano /etc/snmp/snmpd.conf
Ahora, lo curioso es que necesitas agregar la cadena de comunidad y la información correctas. Algo así como:
rocommunity public syslocation GE-DC2 syscontact [email protected]
¿Por qué estas líneas? Porque rocommunity publicpermite acceso de solo lectura a cualquiera que adivine «público» como la cadena de comunidad; no es seguro, pero es suficiente para las pruebas. Las otras dos son solo metadatos, pero algunas herramientas o paneles de control SNMP parecen preferir verlos. Recuerda: si estás probando en producción, ¡cambia la cadena de comunidad a algo seguro! En cualquier caso, después de editar, guarda el archivo.
Iniciar y habilitar snmpd
A continuación, ponga en marcha el demonio:
# systemctl enable snmpd.service # systemctl start snmpd
Si no se inicia, comprueba el estado con systemctl status snmpd. A veces, se debe a problemas con el firewall; quizás tengas que abrir puertos.
Configuración del firewall: no olvides esta parte
Aquí es donde la cosa se complica: el firewall de Linux puede bloquear SNMP por defecto. Para abrir los puertos TCP/UDP 161 y 162, ejecute:
# 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
En algunas configuraciones, es posible que necesites verificar si tu firewall está funcionando firewall-cmd --statey realizar los ajustes correspondientes.
Pruebe con snmpwalk y solucione problemas
Ahora viene la parte complicada. Cuando ejecutas:
# snmpwalk -v 2c -c public -O e 127.0.0.1
Si se agota el tiempo de espera o aparece el mensaje «Tiempo de espera: Sin respuesta del host local», el archivo de configuración no funciona correctamente o el firewall está bloqueando el tráfico. El problema suele ser que se intenta usar la cadena de comunidad incorrecta o hay un error tipográfico en la configuración. Asegúrate de que /etc/snmp/snmpd.confla cadena de comunidad sea correcta (en este caso, «public») y de que el demonio esté ejecutándose. A veces, snmpd no se recarga correctamente; simplemente reinícialo systemctl restart snmpdy comprueba el estado de nuevo.
Claro, en algunas configuraciones, el servicio podría iniciarse sin errores, pero aun así no comunicarse. En esos casos, eliminar la configuración personalizada y mantener la predeterminada (y luego volver a aplicar los cambios gradualmente) puede ayudar a aislar el problema.
Verificar el acceso remoto
Una vez que la prueba local funcione, inténtelo desde otra máquina:
# snmpwalk -v 2c -c public 192.168.x.x system
Si ves datos, genial. Si no, revisa las reglas del firewall, las listas blancas de IP o la accesibilidad de la red. Curiosamente, la configuración del firewall suele ser más problemática que los propios errores de configuración.
SNMPv3: la versión de seguridad sofisticada
Si prefieres algo sofisticado y quieres SNMPv3 con autenticación y cifrado, recuerda que la configuración es más compleja. Necesitas crear un usuario con [nombre del usuario] net-snmp-create-v3-user. Por ejemplo:
# net-snmp-create-v3-user -ro -A o2ps2w0dD -a SHA -X r30svV33 -x AES snmpuser
Este comando crea un usuario de solo lectura snmpuser con la contraseña de autenticación o2ps2w0dD, cifrada con SHA, y la contraseña de privacidad r30svV33 con cifrado AES. A continuación, reinicie el servicio:
# systemctl start snmpd
Pruébelo con:
# snmpwalk -v3 -a SHA -A o2ps2w0dD -x AES -X r30svV33 -l authPriv -u snmpuser 192.168.1.100
Sinceramente, SNMP tiene fama de ser un fastidio, sobre todo cuando no funciona después de todo el esfuerzo. Normalmente, resulta ser un firewall o un error tipográfico en la configuración. Pero una vez que está funcionando, es agradable ver cómo se reciben todas esas métricas.