Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
¿Qué es SNMP?
¿Cuáles son los componentes básicos de SNMP y sus funcionalidades?
Comandos básicos SNMP
¿Cómo se produce una comunicación SNMP normal?
Versiones de SNMP (SNMP v1, v2 y v3)
¿Qué es SNMP?
El Protocolo simple de administración de redes (SNMP) es un protocolo de capa de aplicación
definido por la Junta de arquitectura de Internet (IAB) en RFC1157 para intercambiar
información de administración entre dispositivos de red. Forma parte del conjunto de
protocolos Protocolo de control de transmisión/Protocolo de Internet (TCP/IP).
Administrador SNMP:
Un administrador o sistema de administración es una entidad separada responsable de
comunicarse con los dispositivos de red implementados por el agente SNMP. Normalmente es
un equipo que se utiliza para ejecutar uno o más sistemas de administración de red.
Dispositivos administrados:
Un dispositivo administrado o el elemento de red es una parte de la red que requiere algún
tipo de monitorización y administración, por ejemplo, enrutadores, conmutadores, servidores,
estaciones de trabajo, impresoras, UPS, etc.
Agente SNMP:
El agente es un programa que está empaquetado dentro del elemento de red. La habilitación
del agente le permite recopilar la base de datos de información de administración del
dispositivo localmente y la pone a disposición del administrador SNMP, cuando se le solicita.
Estos agentes pueden ser estándar (por ejemplo, Net-SNMP) o específicos de un proveedor
(por ejemplo, HP Insight Agent)
Por lo general, estas MIB contienen un conjunto estándar de valores estadísticos y de control
definidos para nodos de hardware de una red. SNMP también permite la extensión de estos
valores estándar con valores específicos para un agente en particular mediante el uso de MIB
privadas.
En resumen, los archivos MIB son el conjunto de preguntas que un administrador SNMP
puede hacerle al agente. El agente recopila estos datos localmente y los almacena, según se
define en la MIB. Por lo tanto, el administrador de SNMP debe conocer estas preguntas
estándar y privadas para cada tipo de agente.
Hay dos tipos de objeto administrado o ID de objeto: Escalar y tabular. Podrían entenderse
mejor con un ejemplo
Escalar: Nombre del proveedor del dispositivo, el resultado solo puede ser uno. (Como dice la
definición: "Objeto escalar define una instancia de objeto única")
Tabular: El uso de la CPU de un procesador cuádruple, esto me daría un resultado para cada
CPU por separado, lo que significa que habrá 4 resultados para esa ID de objeto en particular.
(Como dice la definición: "El objeto tabular define varias instancias de objetos relacionados
que se agrupan en tablas MIB")
Un ID de objeto normal será una lista punteada de enteros. Por ejemplo, el OID en RFC1213
para "sysDescr" es .1.3.6.1.2.1.1.1
Diagrama de árbol de MIB
Comandos básicos de SNMP
La simplicidad en el intercambio de información ha convertido al SNMP en un protocolo
ampliamente aceptado. La razón principal es un conjunto conciso de comandos, que se
enumeran a continuación:
Capturas SNMP:
Las capturas SNMP permiten que un agente notifique al administrador SNMP de eventos
significativos mediante un mensaje SNMP no solicitado. Los protocolos de captura SNMP
incluyen el valor actual de sysUpTime, un OID que identifica el tipo de captura y enlaces de
variables opcionales. El direccionamiento de destino para las capturas SNMP se determina de
una manera específica para la aplicación, generalmente a través de variables de configuración
de captura en la MIB. El formato del mensaje de captura se modificó en SNMPv2 y las
unidades de datos de protocolo cambiaron su nombre a SNMPv2-Trap.
TRAP
INFORM
Versiones de SNMP
Desde su inicio SNMP ha sufrido importantes actualizaciones. Sin embargo, el protocolo
SNMP v1 y v2c son las versiones más implementadas de SNMP. La compatibilidad con el
protocolo SNMP v3 ha comenzado a ponerse al día recientemente, ya que es más segura en
comparación con sus versiones anteriores, pero aún no ha alcanzado una cuota de mercado
considerable.
SNMPv1:
Esta es la primera versión del protocolo SNMP, que se define en RFC 1155 y 1157
SNMPv2c:
Este es el protocolo revisado, que incluye mejoras de SNMPv1 en las áreas de tipos de
paquetes de protocolo, asignaciones de transporte y elementos de estructura MIB pero
usando la estructura de administración SNMPv1 existente ("basada en la comunidad" y, por lo
tanto, SNMPv2c). Se define en RFC 1901, RFC 1905, RFC 1906, RFC 2578.
SNMPv3:
SNMPv3 define la versión segura de SNMP. El protocolo SNMPv3 también facilita la
configuración remota de las entidades SNMP. Se define mediante RFC 1905, RFC 1906, RFC
3411, RFC 3412, RFC 3414, RFC 3415.
Nota:
Los comandos precedidos por el signo de pesos "$", deben ser ejecutados
como un usuario general - y no como superusuario (root).
Los comandos precedidos por el signo de número "#", deben ser
ejecutados por el superusuario (root).
Si la línea de comandos termina con una barra invertida "", quiere decir
que el comando continua en la próxima línea y todas líneas deben ser
tratadas como un comando de sola línea.
Muchos de los comandos en este ejercicio no tienen que ejecutarse como root,
pero no hay problema con ejecutarlos todos como root. Así que sería más sencillo
si inicia una shell de root y los ejecuta todos desde ahí. Puede iniciar una shell de
root así:
$ sudo -s
# vi /etc/snmp/snmp.conf
mibs :
# mibs :
Esta accion deshabilito la linea de mibs vacia que estaba indicando a las
herramientas de SNMP de no cargar automaticamente los mibs en el directorio
/usr/share/mibs/.
Tiene que trabajar como el usario "sysadm" así, deja de ser el usuario "root":
# exit
Y, ahora haz:
$ cd
$ mkdir .snmp
$ cp /etc/snmp/snmp.conf .snmp/
$ chmod 700 .snmp/
$ sudo editor .snmp/snmp.conf
defVersion 3
defCommunity NetManage
defSecurityName admin
defSecurityLevel authNoPriv
defAuthPassphrase NetManage
defAuthType SHA
Con este informacion no sera necesario definir las credenciales cada vez que
utilice los comandos SNMP
Configuración de SNMP en el
enrutador
Para esta parte del ejercicio, necesitan trabajar en grupos. Una persona estará
asignada para escribir en el teclado.
rtrN> enable
Password: <CLASS PASSWORD>
rtrN# configure terminal (conf t)
Ahora es necesario agregar una lista de control de acceso (ACL) para acceso a
SNMP. Luego iniciaremos el agente SNMP, asignaremos una "comunidad" de
sólo lectura y le indicaremos al enrutador que nunca cambie los índices de
interfaces al reiniciarse. Para ello, haremos lo siguiente:
rtrN(config)# exit
rtrN# write memory (wr mem)
rtrN# exit (volver al shell del PC)
$ snmpstatus <IP_ADDRESS>
Qué pasa si intenta usando la comunidad incorrecta (ej. cambie "NetManage" por
algo diferente)
.1.3.6.1.2.1.2.2.1.2
.1.3.6.1.2.1.31.1.1.1.18
.1.3.6.1.4.1.9.9.13.1
.1.3.6.1.2.1.25.2.3.1
.1.3.6.1.2.1.25.4.2.1
$ snmpwalk <IP_ADDRESS> <OID>
Nota: la opcion "-On" habilita salida numerica, asi no traduccion del OID <->
MIB pasara.
$ cd /tmp/
$ wget
https://gist.githubusercontent.com/rarylson/72d1414d6907a4548427/raw/d9
7aed8debf0a291a0457ec634a3be370bd16546/net-snmp-create-v3-user
$ chmod +x net-snmp-create-v3-user
$ sudo mv net-snmp-create-v3-user /usr/local/bin
Configuración:
Haremos una copia de respaldo del archivo que viene con el paquete, y luego
crearemos uno propio:
$ cd /etc/snmp
$ sudo mv snmpd.conf snmpd.conf.dist
$ sudo editor snmpd.conf
Luego, copiar/pegar lo siguiente (no incluya las líneas -- cortar aquí --)
$ snmpstatus pcN.ws.nsrc.org
* pc17.ws.nsrc.org
* pc18.ws.nsrc.org
* pc19.ws.nsrc.org
* pc20.ws.nsrc.org
Agregar MIBs
Recuerde que cuando ejecutó:
El cliente SNMP (snmpwalk) no pudo interpretar todos los OIDS que venían en
la respuesta:
Qué es '9.9.13.1.3.1' ?
MIBS de Cisco
ftp://ftp.cisco.com/pub/mibs/v2/CISCO-SMI.my
ftp://ftp.cisco.com/pub/mibs/v2/CISCO-ENVMON-MIB.my
Descargalos así:
$ cd /usr/share/mibs
$ sudo mkdir cisco
$ cd cisco
Ahora tenemos que decir a las herramientas de snmp que tenemos los MIBS que
deberia cargar. Edite el archivo /etc/snmp/snmp.conf y agrega las dos siguiente
lineas:
mibdirs +/usr/share/mibs/cisco
mibs +CISCO-ENVMON-MIB:CISCO-SMI
(Recuerda que con "less" apreta la barra del espacio por la proxima pagina, 'b'
para ir atras una pagina y 'q' para salir)
$ snmptranslate .1.3.6.1.4.1.9.9.13.1