Mib Browser

Embed Size (px)

Citation preview

Redes de rea Local e Interconexin de Redes

Prctica SNMP

Administracin de dispositivos de red va SNMP ObjetivosEl objetivo principal de la prctica es presentar al alumno las posibilidades de administracin y gestin de dispositivos de red que ofrece el protocolo SNMP (Simple Network Management Protocol). Para ello se ha elegido como dispositivo a administrar los switches 3Com SuperStack II disponibles en el laboratorio. Para poder acceder a los switches con SNMP es necesario configurarlos mnimamente; el switch debe tener asignada una direccin IP (por DHCP o fija, como en nuestro caso), establecer las communities (public y private en nuestro caso), fijar las direcciones IP donde se mandaran los TRAP, etc. Es objetivo secundario de la prctica que el alumno conozca tambin como se administran este tipo de equipos va web y va consola.

ConsideracionespreviasUtilizaremos los switches 3Com SuperStack 610 y 1100 del laboratorio de redes. El laboratorio dispone slo de 7 switches de estas caractersticas, de modo que deben coordinarse con los compaeros para un uso conjunto en la prctica. En principio, en funcin de cual sea su puesto de trabajo, le proponemos que acceda un switch determinado segn la relacin siguiente: Puesto de trabajo 01, 02 y 03 04, 05 y 06 07, 08 y 09 10, 11 y 12 13, 14 y 15 16, 17 y 18 19, 20 y 21 switch swredes01.redes.upv.es swredes02.redes.upv.es swredes03.redes.upv.es swredes04.redes.upv.es swredes05.redes.upv.es swredes06.redes.upv.es swredes07.redes.upv.es Dir. IP 192.168.0.241 192.168.0.242 192.168.0.243 192.168.0.244 192.168.0.245 192.168.0.246 192.168.0.247

Es decir, que si usted est sentado en el ordenador 14, entonces realice la prctica con el switch swredes05.redes.upv.es (utilice mejor la IP: 192.168.0.245 El servidor DNS de la intranet puede no estar en funcionamiento) y coordnese con sus compaeros de los ordenadores 13 y 15 (al lado suyo) que tambin estarn manipulando el mismo switch.

En funcin del grado de ocupacin del laboratorio, el profesor puede decidir una distribucin distinta. Por lo tanto, preste especial atencin a las indicaciones del profesor al principio de la sesin de laboratorio. A lo largo de esta prctica se le invitar a que manipule el cableado de red del laboratorio (tanto el que conecta a su PC como el del armario de red). Recuerde que el cableado AMARILLO es el de la intranet. Es el que puede y debe manipular. El cableado VERDE conecta con UPVNET-Internet. Por favor, el VERDE NO LO MANIPULE.

AccesoalosswitchesLos switches 3Com SuperStack II 610/1100 son gestionables va 1. 2. 3. Web interface, Command line interface (en modo consola por TELNET y por RS232) SNMP (MIBs RFC1213, RMON y BRIDGE-MIB)

Esta oferta de interfases es bastante habitual en casi todos los dispositivos de red (routers, switches, firewalls, impresoras de red, ). Porqu varias interfaces? Cul es la buena? Depende. La interfase WEB es la opcin ms clara si lo que queremos es modificar o leer de un solo dispositivo. Sin embargo, si el administrador quiere rastrear gran cantidad de dispositivos de red, una opcin interesante es hacer un programa que, usando SNMP, interrogue a todos los dispositivos y almacene resultados en un fichero o en una base de datos. En cuanto a la interfase por lnea de comandos (va RS232) est disponible para casos en que el administrador necesita inicializar completamente el dispositivo y configurarlo desde el principio (empezando por asignarle direccin IP para poder funcionar con las otras interfases). En general, la administracin bsica se suele realizar va lnea de comandos (por Telnet y/o RS232) y va WEB. SNMP suele utilizarse para monitorizar la actividad del dispositivo (saber que mquinas estn conectadas al switch, cual es el trfico que tienen, ) para detectar situaciones de alarma (TRAPs por exceso de errores en tramas, exceso de broadcast, intentos de intrusin,) y tambin para tomar medidas correctoras automticas (e.g. podemos hacer un programa que bloquee automticamente un puerto del switch si vemos que por l se genera un exceso de broadcasts) En el caso de los switches 3Com SuperStack II, la interfase WEB es la adecuada para configurar las VLAN y el Spanning Tree y la interfase por lnea de comandos (va TELNET o RS232) para configurar SNMP (en concreto las communities y las direcciones IP a donde se debe mandar los TRAPs). Vamos a acceder de las tres maneras haciendo hincapi en la SNMP puesto que es la ms interesante para quien deba administrar muchos dispositivos de red.

AccesovaWebCon cualquier navegador web, conctese a http://. El login/password manager/manager es:

Obtendr una pantalla como la que muestra la figura. Los enlaces HELP y Documentation no estn operativos. En el grfico del frontal del switch puede pinchar en cualquier puerto y le dar las opciones de configuracin para esa toma de red.

En el lateral aparecen los iconos:

Permite fijar el nombre del dispositivo, el password, ubicacin, persona de contacto Nota: Por favor, no intente cambiar el password

Administracin de

Permite ver un histrico de utilizacin de ancho de banda y errores

Vuelve al men principal

Ejercicio1:Navegue por los distintos mens del switch al objeto de familiarizarse con las posibilidades de configuracin. Procure dejar la configuracin actual. No cambie el password ni haga reset o perjudicar a sus compaeros. Si alguna opcin no sabe qu es lo que hace, puede acceder al manual on-line en http://www.redes.upv.es/ , o ver si google le da alguna pista, o finalmente recurra al profesor.

Ejercicio2:Del men de la figura

que significa? Auto-negociacin PACE HD Flow control

y en el men configuration advanced Stack Setup Broadcast Storm Control Forwarding Mode= Fast Forward Forwarding Mode= Store & forward Roving Analysis

AccesoviaTELNETAbra una consola en su ordenador y teclee telnet El sistema debe pedirle login/password (pulse enter si no le sale >login:). Utilice manager/manager como en el acceso va WEB. El switch muestra un sistema jerarquizado de mens. En la figura se puede ver el rbol de mens.

Nota: Estos switches tienen 4 usuarios, con cuatro niveles de capacidad de hacer y deshacer. Son, de menos a ms: MONITOR, MANAGER, SECURITY y ADMIN. Entrando como MANAGER (que es nuestro caso) podemos observar que la opcin community del men SNMP no est disponible. Esto significa que este usuario no tiene suficientes privilegios para cambiar la community de escritura. Slo SECURITY y ADMIN pueden. El valor actual debe ser PRIVATE (valor por defecto). Puede entrar al switch como security/security, pero por favor no cambie la community o crear problemas a sus compaeros.

Ejercicio3: Como con la interfase WEB, navegue por los distintos mens del switch al objeto defamiliarizarse con las posibilidades de configuracin que ofrece esta interfase. Procure dejar la configuracin actual. No cambie el password ni haga reset o perjudicar a sus compaeros. Preste especial atencin al men SNMP y averige para qu sirven las distintas opciones.

Ejercicio 4: Del

men SNMP, con la opcin display verifique si la IP de su mquina est en la

relacin de mquinas (a las que se les mandar TRAP). Si no es as, cree una nueva entrada con la IP de su ordenador y la community de MONITOR. Ahora su ordenador recibir (va TRAP) las alarmas que se produzcan en ese switch. Para configurar las alarmas necesitamos usar la interfase SNMP. Lo vemos ms adelante.

AccesovaSNMP Nuestro switch contiene un AGENTE SNMP que responde a casi todas las variables de las MIB RFC1213, MIB RMON y BRIDGE-MIB. Nuestra primera mejor opcin es utilizar un programa cliente SNMP de los muchos buenos y gratuitos que hay en Internet. Hemos elegido MIB-Browser de la casa iReasoning. La figura muestra el aspecto general del programa. El programa debe estar ya instalado en su ordenador. Puede descargar la ltima versin de

http://ireasoning.com/mibbrowser.shtml

Configuracin del MIB-BrowserPara poder trabajar con nuestro switch debe: 1. 2. En la ventana principal, en Address poner la direccin IP de nuestro agente. En la barra de mens, File Load MIBs, Cargar las MIBs 1213, RMON y BRIDGE-MIB (esta ltima, si no est disponible en el directorio de su PC, puede descargarla de la web de la asignatura). Clicando en Advanced poner las communities de lectura y escritura a PUBLIC y PRIVATE respectivamente, y la versin SNMP a 1 y el puerto a 161 (el valor estndar). En la barra de mens, en Tools Options, aparece una nueva ventana. En la pestaa General comprobar que el puerto de recepcin de Traps sea el 162 (estndar). En la pestaa Agents aparece una relacin de los agentes conocidos por el programa y los parmetros operativos para ese agente. Debe de figurar nuestro switch.

3.

4.

Ahora ya deberamos poder comunicar con el switch. Para ello: A) Seleccionamos una variable de la MIB (por ejemplo sysDescr en la MIB RFC1213 en system) B) Hacemos un GET (seleccionamos GET en Operations y clicamos en Go) C) El resultado debe aparecer en la ventana de respuestas.

B A C

Ejercicio5:Explore las MIB 1213, RMON y BRIDGE-MIB. Si utiliza la orden SET hgalo con cuidado y vuelva a dejar el valor original. Las tablas debe leerlas con la orden TABLE VIEW. A.- A continuacin hemos seleccionado unas variables que consideramos importantes Qu indican? MIB RF1213 sysServices ifOperStatus ifAdminStatus snmpOutTraps MIB RMON etherStatsTable eventTable alarmTable historyControlTable etherHistoryTable BRIDGE-MIB dot1dTpFdbAddress dot1dTpFdbPort

B.- Si nuestro dispositivo es un switch Porque tiene informacin de nivel-3 (IP, ICMP), de nivel4 (TCP, UDP)?

RecepcindeTRAPsSNMP

Una de las caractersticas ms apreciadas de SNMP por los administradores de redes es la capacidad que tienen la mayora de los agentes de mandar alarmas (mediante comandos TRAP). Esto significa que podemos tener un receptor de traps donde se van monitorizando en tiempo real las alarmas que se van produciendo por los agentes de todos los switches, routers, impresoras de red, etc. de la empresa. Esto es muy interesante desde el punto de vista del mantenimiento, operatividad y seguridad de nuestra red. El agente de nuestros switches tiene cinco alarmas fijas que son: link up, link down, warm start, cold start, y authentication failure. Esto es, se registrar una alarma cuando se enciende o inicializa el switch, cuando se conecta o desconecta una mquina al switch (y podemos saber la MAC de esa mquina) y si alguien no autorizado est intentando entrar a configurar el switch. Adems de estas alarmas bsicas, el agente de estos switches se puede configurar para que mande un trap si en un puerto se producen determinados eventos, como por ejemplo que se supere una determinada tasa de tramas broadcast en un intervalo de tiempo o que se supere una determinada tasa de tramas errneas.

Ejercicio6: En este ejercicio vamos a ver como efectivamente se genera una alarma cada vez queconectamos o desconectamos un ordenador a nuestro switch. Para que todo funcione correctamente necesitamos: 1. Configurar el agente para que los traps los mande a nuestra direccin de IP. Esto se supone que ya lo hemos hecho en el ejercicio 4. Si no es as, hgalo ahora. En el programa MIB-Browser tenemos un receptor de traps. En la barra de mens, en Tools Trap Receiver arranca el receptor. Asumimos que el programa esta correctamente configurado tal y como se indic en el punto anterior Configuracin del MIB-Browser Ahora bastar con desconectar el cable de red de uno de los ordenadores en ese switch. Coordnese con los compaeros que hacen la prctica en el mismo switch. Recuerde que los cables de color AMARILLO son los de la intranet del laboratorio. Esos son los que estn conectados a los switches de prcticas. (Otra alternativa -ms elegante- a soltar un cable de red es pedir al switch que deshabilite un puerto. Esto lo puede hacer con la interfase web. )

2.

3.

Norecibolostraps.Qupuedohacer?Cuando algo falla y los traps no se reciben, lo primero es saber si nuestro agente est trasmitiendo los traps o no. Para ello podemos, con el MIB-Browser (o cualquier cliente SNMP), leer (GET) la variable snmpOutTraps de la MIB 1213. Esta variable contabiliza el nmero de traps que est emitiendo nuestro switch. Acto seguido provocamos la condicin de trap (en nuestro caso, desconectamos el cable de red) y volvemos a leer la variable. El valor debe haberse incrementado en tantos mensajes trap como IPs a las que tenga configurado avisar. Si no es as, una de dos; o no estamos provocando el trap correctamente (no soltamos el cable que corresponde, no en el switch correcto, o el envo del trap est deshabilitado (ver figura). Observe que el eventType sea logandtrap, la comunidad monitor y el estatus valid.

DistribucinNetSNMP:ProgramandoSNMPOtra opcin muy interesante que SNMP brinda a los administradores de red es la posibilidad de acceder al agente mediante un programa a medida que utilice la librera SNMP. Por ejemplo, se puede lanzar un programa que peridicamente recoja de todos los switches de una red las direcciones MAC de los ordenadores conectados a sus puertos y almacenar toda esa informacin en un fichero o en una base de datos. Procesando esa informacin se podra saber si (e.g.) un ordenador est conectado a la red y donde est, como es su trfico, etc. Una de las libreras SNMP gratuitas ms usada es Net-SNMP ( http://net-snmp.sourceforge.net/ ) . En su pgina web puede encontrar, adems, amplia documentacin y tutoriales con ejemplos. Net-SNMP va ya incluida en la mayora de distribuciones de Linux (SuSe, Kubuntu, ) y est tambin disponible para otras plataformas, incluida Microsoft Windows. La distribucin Net-SNMP incluye: A) Aplicaciones para ejecutar en lnea de comando, en consola. (snmpget, snmpgetnext, snmpset, snmpwalk, etc.) B) Un cliente MIB-browser grfico. C) Un demonio para la recepcin de traps. D) Un agente SNMP con soporte de gran nmero de MIBs. E) Y por supuesto, una librera para desarrollo de aplicaciones SNMP en C y en Perl.

En este punto de la prctica abandonamos Microsoft Windows y pasamos a Linux.Todos los ejercicios de esta prctica pueden hacerse desde cualquiera de las dos plataformas. La eleccin ahora de Linux se debe a que las libreras SNMP y el interprete Perl ya estn instalados en Linux (SuSe, Devian, Kubuntu,) por defecto. Para hacer la prctica en Microsoft Windows necesita instalar NetSNMP y un interprete Perl como, por ejemplo, ActivePerl ( http://www.activestate.com )

Ejercicio7:Abra una consola y pruebe los programas de lnea de comandos (snmpget, snmpgetnext, snmpset, snmpwalk, etc.). Utilice la ayuda (man) para ver el formato exacto del comando (que puede variar dependiendo de la versin) Ejemplo: snmpget -c public system.sysDescr.0

Deberas ver una breve descripcin del sistema parecida a la siguiente: system.sysDescr.0 = 3Com SuperStack II

system.sysDescr.0 es un ejemplo de un identificar de objeto (OID), es la forma textual o visible del OID, el cual corresponde al IOD numrico .1.3.6.1.2.1.1.1.0. { iso(1) org(3) dod(6) internet(1)mgmt(2) mib-2(1) system(1) 1 }

ProgramandoconSNMPAunque la distribucin de NET-SNMP viene con una librera de C la cual puedes usar para crear tus propias aplicaciones basadas en SNMP, frecuentemente es mucho ms fcil empezar usando un lenguaje de programacin como Perl, Python o TCL. Todos ellos tienen libreras SNMP disponibles. Perl suele ser el lenguaje de eleccin entre administradores de red. Desccargamos y descomprimimos el fichero SNMP.rar del poliformat.

Nota: Aunque tendria que estar todo lo necesario para la realizacin de la prctica, si no tiene la utilidad unrar, la puede descargar simplemente ejecutando : #apt-get install unrar

Lo descomprimimos usando: #unrar e SNMP.rar Una vez descomprimidos los ficheros cambiaremos los permisos de los identifica.pl y macs.pl de la siguiente manera: #chmod 755 identifica.pl #chmod 755 macs.pl

Nota:Para ejecutar los scripts, revisaremos la ruta del shebang de los scrips: Para esta distribucin, la ruta a perl es /usr/bin/perl.

Otra forma de ejecutamos es mediante perl seguido de un espacio y el nombre del script, veamos un ejemplo: #perl macs.pl

Ejercicio8:

Por ejemplo, usando Perl y la librera SNMP_util, puedes fcilmente escribir una aplicacin que consulte las variables MIB de cualquier dispositivo. A continuacin un ejemplo muy sencillo. El programa imprime el nombre del dispositivo del que pasamos su IP o su nombre como primer y nico parmetro. Puedes descargar el programa identifica.pl del poliformat.

Nota: Observamos que el script utiliza la librera SNMP_util, que tiene que estar instalada en los equipos, si no estubiera, la podemos descargar de: http://www.switch.ch/misc/leinen/snmp/perl/dist/SNMP_Session-1.12.tar.gz Pasos de instalacin de la librera: 1) tar -xvzf SNMP_Session-1.12.tar.gz 2) perl Makefile.PL (dentro del directorio que nos ha creado al descomprimir ) 3) make 4) make install

Otra librera que se necesita para el script macs.pl es Net-SNMP, la podemos descargar de: http://search.cpan.org/CPAN/authors/id/D/DT/DTOWN/Net-SNMP-5.2.0.tar.gz Pasos de instalacin de la librera: 1) tar -xvzf Net-SNMP-5.2.0.tar.gz 2) perl Makefile.PL (dentro del directorio que nos ha creado al descomprimir ) 3) make 4) make install

#!/usr/bin/perl # Usage: perl identifica.pl use SNMP_util;# cargar la librera $HOST = shift;# En la variable $HOST cargamos el primer parmetro $OID = "1.3.6.1.2.1.1.1.0";# OID iso.org.dod.internet.mgmg.mib-2.system.sysDescr $values = &snmpget($HOST, $OID); # GET al agente if($values) { print "La mquina $HOST es un: $values\n"; } else { print "$HOST no respondio\n"; }

El programa asume que el agente responder a SNMP v.1 y con la community public (lo cual es cierto en los switches del laboratorio).

Ejercicio9:Utilizando el programa anterior, pruebe a modificarlo para que interrogue secuencialmente a todas las IP de una subred para ver si hay ms mquinas que contestan.

Ejercicio10:A continuacin se muestra otro programa PERL, ms completo, que interroga al agente de un switch para pedirle su tabla de forwarding y el puerto por el que ha aprendido esa direccin MAC. Este programa es til para hacer una localizacin de una mquina conectada a la red, de la que sepamos de antemano su MAC. Observe que no se ha utilizado la misma librera SNMP que en el ejemplo anterior. Puede descargar el cdigo de macs.pl de la web de la asignatura.#===================================== # Usage: macs.pl [ ] #===================================== #! /usr/bin/perl #=== comprobar si perl est instalado eval '(exit $?0)' && eval 'exec /usr/local/bin/perl $0 ${1+"$@"}' && eval 'exec /usr/local/bin/perl $0 $argv:q' if 0; #=== Cargar la librera SNMP use Net::SNMP qw(snmp_dispatcher oid_lex_sort); #=== Abrir sesin con agente remoto my ($session, $error) = Net::SNMP->session( -hostname => $ARGV[0] ||'localhost', -community => $ARGV[1] || 'public', -port => $ARGV[2] || 161 ); #=== Se ha creado la sesin? if (!defined($session)) { printf("ERROR: %s\n", $error); exit 1; } #=== OIDs para leer la informacin requerida (pertenecen a BRIDGE-MIB) my $TpFdbAddress = '1.3.6.1.2.1.17.4.3.1.1'; my $TpFdbPort = '1.3.6.1.2.1.17.4.3.1.2'; #=== Imprimiendo los resultados printf("\n== MAC --- Puerto en HOST: %s ==\n\n", $ARGV[0]); my $result; my $i=0; ## obtenemos las direcciones MAC if (defined($result = $session->get_table(-baseoid => $TpFdbAddress))) { foreach (oid_lex_sort(keys(%{$result}))) { $mac{$i++}=$result->{$_}; #store MAC values in array $mac } } else { printf("ERROR: %s\n\n", $session->error()); } my $j=0; ## obtenemos los puertos if (defined($result = $session->get_table(-baseoid => $TpFdbPort))) { foreach (oid_lex_sort(keys(%{$result}))) { $port{$j++}=$result->{$_}; #store port values in array $mac } } else { printf("ERROR: %s\n\n", $session->error()); } ## imprimimos ambos arrays for (my $z=0; $z