En esta parte nos centraremos en el aspecto de la configuración, explicando cómo se puede configurar el agente Net-SNMP, así como configurar la autenticación y encriptación de los mensajes transmitidos entre éste y el cliente.
Configuración del agente Net-SNMP – snmpd
Asumiendo que el paquete Net-SNMP está instalado en su sistema y está funcionando, ejecute el siguiente comando snmpwalk:
snmpwalk -v2c -c public localhost system
En mi sistema, se produjo la siguiente salida:
SNMPv2-MIB::sysDescr.0 = STRING: Linux himanshu-desktop 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:12 UTC 2014 i686
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (6481067) 18:00:10.67
SNMPv2-MIB::sysContact.0 = STRING: Yo
SNMPv2-MIB::sysName.0 = STRING: himanshu-desktop
SNMPv2-MIB::sysLocation.0 = STRING: Sentado en el muelle de la bahía
SNMPv2-MIB::sysServices.0 = INTEGER: 72
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (22) 0:00:00.22
…
…
…
Si observa, esta salida contiene valores correspondientes a variables específicas del sistema presentes bajo el árbol MIB «.iso.org.dod.internet.mgmt.mib-2.system».
Ahora, supongamos que desea modificar información como «sysLocation» y «sysContact». Esto se puede hacer editando los valores correspondientes en /etc/snmp/snmpd.conf, un archivo que se puede usar para configurar el agente Net-SNMP («snmpd»).
Como puede ver en la captura de pantalla anterior, el archivo contiene muchas entradas, algunas de las cuales son deliberadamente comentadas y necesitan ser activadas explícitamente. En este archivo, cambié el valor del parámetro «sysLocation» de «Sitting on the Dock of the Bay» a «Datacenter, Row 2, Rack 1.»
Para que el cambio tenga efecto, basta con reiniciar el demonio Net-SNMP con el siguiente comando:
/etc/init.d/snmpd restart
y luego ejecute el comando snmpwalk de nuevo:
$ snmpwalk -v2c -c sistema público de localhost
SNMPv2-MIB::sysDescr.0 = STRING: Linux himanshu-desktop 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:12 UTC 2014 i686
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (470) 0:00:04.70
SNMPv2-MIB::sysContact.0 = STRING: Yo ;
SNMPv2-MIB::sysName.0 = STRING: himanshu-desktop
SNMPv2-MIB::sysLocation.0 = STRING: Centro de datos, Fila 2, Rack 1
SNMPv2-MIB::sysServices.0 = INTEGER: 72
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (0) 0:00:00.00>
Por lo tanto, como puede ver, el valor del parámetro «sysLocation» ha sido cambiado con éxito. Del mismo modo, puede modificar los valores de otros parámetros presentes en este archivo, así como añadir parámetros que no estén ya presentes.
Nota : También puede utilizar la utilidad snmpconf de Net-SNMP para crear y modificar archivos de configuración SNMP. Para saber más sobre el comando, lea su Manpageaquí .
Configuración de la autenticación y cifrado
Las utilidades del cliente Net-SNMP como snmpget, snmpwalk, y más, así como el demonio (snmpd) soportan las tres versiones del protocolo SNMP: v1, v2c, y v3. Mientras que los dos primeros sólo soportan autenticación, la v3 también soporta encriptación. Así que, en esta sección, discutiremos cómo configurar SNMPv3.
Como primer paso, detenga el servicio de demonio snmpd usando el siguiente comando:
/etc/init.d/snmpd stop
luego abra el archivo /var/lib/snmp/snmp/snmpd.conf y añada la siguiente línea en la parte inferior:
createUser USUARIO SHA «AUTHENTICATION-PASSWORD» AES «ENCRYPTION-PASSWORD»«.
El comando createUser crea un usuario específico de SNMPv3 con el fin de autenticar y cifrar los mensajes SNMPV3.
En el comando anterior, sustituya «AUTENTICATION-PASSWORD» y «ENCRYPTION-PASSWORD» por contraseñas reales que desee conservar. Además, cabe destacar que si no se menciona «ENCRYPTION-PASSWORD», Net-SNMP utilizará «AUTHENTICATION-PASSWORD» como «ENCRYPTION-PASSWORD».
Ahora, abra etc/snmp/snmpd.conf y añada la siguiente línea en la parte inferior:
rouser USERNAME priv
Esta línea se asegura de que el usuario que creamos anteriormente tenga permisos de sólo lectura, y sólo se puede acceder a él utilizando AuthPriv, un modo Net-SNMP que permite la comunicación con la autenticación, así como la privacidad. Si desea que el usuario también tenga permisos de escritura, use rwuser (en lugar de rouser) en ese caso.
Ahora, inicie el servicio de demonio Net-SNMP de nuevo usando el siguiente comando:
/etc/init.d/snmpd start
y luego ejecute el siguiente comando para probar SNMPV3:
snmpwalk -v 3 -l authPriv -a sha -A[AUTHENTICATION-PASSWORD] -x AES -X[ENCRYPTION-PASSWORD] -u[USERNAME] localhost system(en inglés)
Si el SNMPV3 se configura correctamente, la salida debería ser la misma que la que se indica al principio de este artículo.
Nota :
1. Asegúrese de sustituir[AUTENTICATION-PASSWORD],[ENCRYPTION-PASSWORD] y[USERNAME] por los valores adecuados.
2. La autenticación SHA y el soporte de cifrado DES/AES sólo están disponibles si tiene instalado OpenSSL o si ha compilado utilizando –with-openssl=internal.
Conclusión
Net-SNMP proporciona muchas opciones de configuración, y lo que hemos discutido aquí es sólo lo básico, aunque debería ser suficiente para empezar. Para obtener más información, consulte la página Manpage of snmpd.conf .