Ir al Hogar Ver Índice Buscar Enlaces
[LinuxFocus Image]
[Navegation Bar]
  Noticias   Archivos   Compañías   Consejos 

Administraci�n y Mantenimiento
de Redes con Linux: Algunas herramientas sencillas y pr�cticas para administrar las "omnipresentes" redes de ordenadores

por David Guerrero


Introducci�n

�Qu� es SNMP?

La cuesti�n de la Seguridad

�Qu� es el MIB?

�Cu�l es el futuro de SNMP?

SNMP en Linux

MRTG: Multi Router Traffic Grapher

Otros Programas

Conclusiones

Este artículo apareció por primera vez en Linux Journal.
Lo hemos reimpreso y traducido con permiso del autor

Introducci�n

En el mundo actual, en el que la inform�tica gira en torno al concepto de red, el trabajo de los administradores de sistemas es muy complejo. Su misi�n consiste en mantener en funcionamiento recursos tales como encaminadores (routers), concentradores (hubs), servidores, as� como cada dispositivo cr�tico que conforma la red.

Hay gran cantidad de motivos por los cuales un administrador necesita monitorizar entre otros : la utilizaci�n del ancho de banda, el estado de funcionamiento de los enlaces, la detecci�n de cuellos de botella, detectar y solventar problemas con el cableado, administrar la informaci�n de encaminamiento entre m�quinas, etc. La monitorizaci�n de la red es tambi�n un buen punto desde el que comenzar el estudio de los problemas de seguridad.

En muchos casos, la red de una organizaci�n est� enlazada mediante costosos enlaces a redes de �rea extensa (WAN) o con la Internet, y cuyos costes dependen del volumen de tr�fico. Es muy importante mantener un registro estad�stico del tr�fico que circula por estos enlaces. �sta situaci�n es bastante com�n en Europa, donde los enlaces X.25 son todav�a de uso corriente. La tarificaci�n de este tipo de l�neas se realiza en funci�n del n�mero de paquetes enviados y recibidos.

Otros tipos de enlaces, como los punto a punto (Frame relay), son de tarifa plana. En �stos la compa��a telef�nica ha de garantizar un ancho de banda, el cual es importante monitorizar.

En la �ltima parte de este art�culo, se presenta una herramienta que permite hacer un seguimiento gr�fico del tr�fico en los encaminadores (router). �sta es f�cilmente configurable para poder monitorizar otras clases de informaci�n de la red.

� Qu� es SNMP ?

La respuesta a todas las necesidades antes expuestas, es el protocolo llamado Simple Network Management Protocol (SNMP). Dise�ado en los a�os 80, su principal objetivo fue el integrar la gesti�n de diferentes tipos de redes mediante un dise�o sencillo y que produjera poca sobrecarga en la red.

SNMP opera en el nivel de aplicaci�n, utilizando el protocolo de transporte TCP/IP, por lo que ignora los aspectos espec�ficos del hardware sobre el que funciona. La gesti�n se lleva a cabo al nivel de IP, por lo que se pueden controlar dispositivos que est�n conectados en cualquier red accesible desde la Internet, y no �nicamente aquellos localizados en la propia red local. Evidentemente, si alguno de los dispositivos de encaminamiento con el dispositivo remoto a controlar no funciona correctamente, no ser� posible su monitorizaci�n ni reconfiguraci�n.

El protocolo SNMP est� compuesto por dos elementos: el agente (agent), y el gestor (manager). Es una arquitectura cliente-servidor, en la cual el agente desempe�a el papel de servidor y el gestor hace el de cliente.

El agente es un programa que ha de ejecutase en cada nodo de red que se desea gestionar o monitorizar. Ofrece un interfaz de todos los elementos que se pueden configurar. Estos elementos se almacenan en unas estructuras de datos llamadas "Management Information Base" (MIB), se explicar�n m�s adelante. Representa la parte del servidor, en la medida que tiene la informaci�n que se desea gestionar y espera comandos por parte del cliente.

El gestor es el software que se ejecuta en la estaci�n encargada de monitorizar la red, y su tarea consiste en consultar los diferentes agentes que se encuentran en los nodos de la red los datos que estos han ido obteniendo.

Hay un comando especial en SNMP, llamado trap, que permite a un agente enviar datos que no han sido solicitados de forma expl�cita al gestor, para informar de eventos tales como: errores, fallos en la alimentaci�n el�ctrica, etc.

En esencia, el SNMP es un protocolo muy sencillo puesto que todas las operaciones se realizan bajo el paradigma de carga-y-almacenamiento (load-and-store), lo que permite un juego de comandos reducido. Un gestor puede realizar s�lo dos tipos diferentes de operaciones sobre un agente: leer o escribir un valor de una variable en el MIB del agente. Estas dos operaciones se conocen como petici�n-de-lectura (get-request) y petici�n-de-escritura (set-request). Hay un comando para responder a una petici�n-de-lectura llamado respuesta-de-lectura (get-response), que es utilizado �nicamente por el agente.

La posibilidad de ampliaci�n del protocolo est� directamente relacionado con la capacidad del MIB de almacenar nuevos elementos. Si un fabricante quiere a�adir un nuevo comando a un dispositivo, como puede ser un encaminador, tan s�lo tiene que a�adir las variables correspondientes a su base de datos (MIB).

Casi todos los fabricantes implementan versiones agente de SNMP en sus dispositivos: encaminadores, hubs, sistemas operativos, etc. Linux no es una excepci�n, existen varios agentes SNMP disponibles p�blicamente en la Internet.

La cuesti�n de la seguridad

SNMP ofrece muy poco soporte para la autentificaci�n. Tan s�lo ofrece el esquema de dos palabras clave (two-passwords). La clave p�blica permite a los gestores realizar peticiones de valores de variables, mientras que la clave privada permite realizar peticiones de escritura. A estas palabras clave se les llama en SNMP communities. Cada dispositivo conectado con una red gestionada con SNMP, ha de tener configuradas estas dos communities.

Es muy com�n tener asignando por defecto el valor "public" al community p�blico, y "private" al privado. Por lo que es muy importante cambiar estos valores para proteger la seguridad de tu red.

� Qu� es el MIB ?

SNMP define un est�ndar separado para los datos gestionados por el protocolo. Este est�ndar define los datos mantenidos por un dispositivo de red, as� como las operaciones que est�n permitidas. Los datos est�n estructurados en forma de �rbol; en el que s�lo hay un camino desde la ra�z hasta cada variable. Esta estructura en �rbol se llama Management Information Base (MIB) y se puede encontrar informaci�n sobre ella en varios RFC's.

La versi�n actual de TCP/IP MIB es la 2 (MIB-II) y se encuentra definida en el RFC-1213. En ella se divide la informaci�n que un dispositivo debe mantener en ocho categor�as (ver Tabla 1). Cualquier variable ha de estar en una de estas categor�as.

Tabla 1. Categor�as TCP/IP
Categor�a Informaci�n
system Informaci�n del host del sistema de encaminamiento
interfaces Informaci�n de los interfaces de red
addr-translation Informaci�n de traducci�n de direcciones
ip Informaci�n sobre el protocolo IP
icmp Informaci�n sobre el protocolo ICMP
tcp Informaci�n sobre el protocolo TCP
udp Informaci�n sobre el protocolo UDP
egp Informaci�n sobre el protocolo (Exterior Gateway)
La definici�n de un elemento concreto MIB implica la especificaci�n del tipo de dato que puede contener. Normalmente, los elementos de un MIB son enteros, pero tambi�n pueden almacenar cadenas de caracteres o estructuras m�s complejas como tablas. A los elementos de un MIB se les llama "objetos". Los objetos son los nodos hoja del �rbol MIB, si bien, un objeto puede tener m�s de una instancia, como por ejemplo un objeto tabla. Para referirse al valor contenido en un objeto, se ha de a�adir el n�mero de la instancia. Cuando s�lo exista una instancia del objeto, est� es la instancia cero.

Por ejemplo, el objeto ifNumber de la categor�a "interfaces" es un entero que representa el n�mero de interfaces presentes en el dispositivo; mientras el objeto ipRoutingTable de la categor�a "ip" contiene la tabla de encaminamiento del dispositivo.

Hay que acordarse de utilizar el n�mero de la instancia para leer el valor de un objeto. En este caso, el n�mero de interfaces presentes en un encaminador puede ser observado mediante la instancia ifNumber.0.

En el caso de ser un objeto tabla, se ha de utilizar el �ndice a la tabla como �ltimo n�mero para especificar la instancia (fila de la tabla).

Existe otro est�ndar que define e identifica las variables MIB, llamado "Structure of Management Information" (SMI). SMI especifica las variables MIB, �stas se declaran empleando un lenguaje formal ISO llamado ASN.1, que hace que tanto la forma como los contenidos de estas variables sean no ambiguos.

El espacio de nombres ISO (�rbol) est� situado dentro de un espacio de nombres junto con otros �rboles de otros est�ndares de otras organizaciones. Dentro del espacio de nombres ISO hay una rama espec�fica para la informaci�n MIB. Dentro de esta rama MIB, los objetos est�n a su vez jerarquizados en sub�rboles para los distintos protocolos y aplicaciones, de forma que esta informaci�n puede representarse un�vocamente.

La Figura 1 muestra el espacio de nombres del MIB del TCP/IP, �ste est� situado justo bajo el espacio del IAB "mgmt". La jerarqu�a tambi�n espec�fica el n�mero para cada nivel.

Figura 1. TCP/IP Organizational Tree
Es importante constatar que la mayor parte del software necesita el punto ra�z (.) para localizar el objeto en el MIB. Si no se incluye el punto ra�z, se asume que el path es relativo desde .iso.org.dod.internet.mgmt.mib-2.

De esta forma, el objeto ifNumber de la categor�a "interfaces" se puede llamar:

.iso.org.dod.internet.mgmt.mib-2.interfaces.ifnumber
o el equivalente num�rico:
.1.3.6.1.2.1.2.1
y la instancia es:
.iso.org.dod.internet.mgmt.mib-2.interfaces.ifnumber.0
o el equivalente num�rico:
.1.3.6.1.2.1.2.1.0
Adicionales MIB se pueden a�adir a este �rbol conforme los vendedores definen nuevos objetos y publican los correspondientes RFC.

� Cu�l es el futuro de SNMP ?

Una nueva especificaci�n llamada SNMPv2 est� actualmente en r�pido desarrollo. Esta versi�n trata de solucionar la laguna existente en cuestiones de seguridad del protocolo actual mediante mecanismos que se centran en la privacidad, la autentificaci�n y el control de acceso. Tambi�n permitir� un complejo mecanismo de especificaci�n de variables, as� como algunos comandos nuevos. El problema del SNMPv2 es que a�n no es un est�ndar ampliamente aceptado, a diferencia del SNMPv1. No es f�cil encontrar versiones de SNMPv2 de agentes ni de software que haga uso de los nuevos comandos. Dejemos que pase el tiempo y ya veremos que sucede en el futuro pr�ximo...

SNMP en Linux

Uno de los paquetes m�s populares de SNMP es el CMU-SNMP. Dise�ado originalmente en la Universidad de Carnegie Mellon, ha sido transportado a Linux por Juergen Schoenwaelder y Erik Schoenfelder. Es completamente compatible con el est�ndar SNMPv1 e incluye algunas de las nuevas funcionalidades de SNMPv2.

La distribuci�n contiene algunas herramientas de gesti�n que permiten, desde la l�nea de comandos, enviar peticiones a dispositivos que ejecuten agentes SNMP. Tambi�n contiene un programa agente SNMP, dise�ado para ejecutarse sobre Linux, que ofrece a gestores ejecut�ndose en la red (o en el propio sistema), informaci�n sobre el estado de los interfaces, tablas de encaminamiento, instante de inicio (uptime), informaci�n de contacto, etc.

Una valiosa caracter�stica a�adida que viene con CMU-SNMP es un SNMP C-API, que permite a los programadores construir complejas herramientas de gesti�n basadas en las capacidades de red de la distribuci�n.

La instalaci�n en un sistema Linux es sencilla, si bien algo diferente de la instalaci�n original. Existe una distribuci�n con los ejecutables pre-compilados de las herramientas de gesti�n, el demonio y la biblioteca API.

Lo primero que se ha de hacer es decidir si "bajarse" la distribuci�n con los fuentes, o la distribuci�n con los ejecutables. No es dif�cil encontrar este paquete en la Internet. La distribuci�n binaria se instala y ejecuta sin problema alguno en los Linux que soporten ELF. Si bien explicaremos c�mo instalar la distribuci�n binaria, es una buena pr�ctica el bajarse las distribuciones binarias �nicamente de servidores Internet de confianza para evitar caballos de Troya y otros problemas de seguridad.

Copia el fichero cmu-snmp-linux-3.4-bin.tar.gz en el directorio ra�z (/). Descompr�melo y extrae los fichero del tar con con la siguiente orden:

tar zxvf cmu-snmp-linux-3.4-bin.tar.gz
Ahora tendr�s todas las utilidades y bibliotecas correctamente instaladas en el sistema, a excepci�n del fichero de configuraci�n del agente: /etc/snmpd.conf. Lo puedes crear ejecutando el siguiente "script":
/tmp/cmu-snmp-linux-3.4/etc/installconf
con los siguientes par�metros:
/tmp/cmu-snmp-linux-3.4/etc/installconf -mini password
donde password es la palabra clave p�blica (community) que se vaya a utilizar. Ahora se puede editar el nuevo fichero de configuraci�n /etc/snmpd.conf. En �l, se pueden cambiar el valor de puerto UDP empleado por el agente, las variables systemContact, sysLocation y sysName, as� como los par�metros de velocidad del interface para las tarjetas de red y los puertos PPP.

Las herramientas m�s importantes de gesti�n de este paquete son:

  • /usr/bin/snmpget Un programa dise�ado para consultar un valor concreto a un agente MIB de la red (una encaminador, un hub, etc).

  • /usr/bin/snmpgetnext Permite leer el siguiente objeto de un �rbol MIB sin necesidad de conocer el nombre.

  • /usr/bin/snmpset Una herramienta para escribir valores en los objetos de agentes remotos.

  • /usr/bin/snmpwalk Herramienta que lee un objeto completo o una serie de objetos sin necesidad de especificar la instancia exacta. Es �til para pedir objetos tipo tabla.

  • /usr/bin/snmpnetstat

  • /usr/bin/snmptrapd Demonio que escucha los "traps"de los agentes.

  • /usr/bin/snmptest Herramienta interactiva dise�ada para demostrar las posibilidades del API.

El agente se encuentra en el directorio /usr/sbin/snmpd.

CMU_SNMP tambi�n instala un fichero MIB en /usr/lib/mib.txt. �ste es un buen lugar en donde buscar qu� tipo de informaci�n se le puede pedir a un dispositivo de red.

El agente se tiene que lanzar a ejecuci�n cuando se pone en marcha la m�quina. �sto se puede hacer a�adiendo el siguiente comando en alguno de los ficheros de arranque (por ejemplo en /etc/rc.f/rc.local):

/usr/sbin/snmpd -f ; echo 'Arrancando snmpd'
Una vez se tiene el agente SNMP en ejecuci�n en la m�quina Linux, se puede comprobar su funcionamiento con alguna de las herramientas de gesti�n, por ejemplo:
/usr/bin/snmpget localhost public interfaces.ifNumber.0
la cual retornar� el n�mero de interfaces configurados en el sistema, y:
/usr/bin/snmpwalk localhost public system
devuelve todos los valores en el sub�rbol "system" del MIB. (V�ase en la Figura 2 el resultado de esta orden).
Figura 2
dragon:~$ /usr/bin/snmpwalk

usage: snmpwalk gateway-name community-name object-identifier

dragon:~$ /usr/bin/snmpwalk localhost public system

system.sysDescr.0 = "Linux version 2.0.24 (root@dragon)
(gcc version 2.7.2) #6 Mon Nov 25 15:08:40 MET 1996"
system.sysObjectID.0 = OID: enterprises.tubs.ibr.linuxMIB
system.sysUpTime.0 = Timeticks: (39748002) 4 days, 14:24:40
system.sysContact.0 = "David Guerrero"
system.sysName.0 = "dragon "
system.sysLocation.0 = "Madrid (SPAIN)"
system.sysServices.0 = 72
system.sysORLastChange.0 = Timeticks: (39748006) 4 days, 14:24:40
system.sysORTable.sysOREntry.sysORID.1 = OID: enterprises.tubs.ibr.linuxMIB.linuxAgents.1
system.sysORTable.sysOREntry.sysORDescr.1 = "LINUX agent"
system.sysORTable.sysOREntry.sysORUpTime.1 = Timeticks: (39748007) 4 days, 14:24:40

dragon:~$
El C-API est� en el directorio /lib/libsnmp.so.3.4.

Se pueden ojear los ficheros de cabecera relacionados con la biblioteca en :

  • /usr/include/snmp/snmp.h
  • /usr/include/snmp/snmp_impl.h
  • /usr/include/snmp/asn1.h
  • /usr/include/snmp/snmp_api.h
Se puede encontrar m�s informaci�n en las p�ginas del manual snmp_api(3) y varibles(5).

Existe tambi�n un m�dulo Perl de interface con CMU C_API con el que se pueden realizar f�cilmente llamadas a esta biblioteca desde programas Perl (Perl-scripts).

MRTG: Multi Router Traffic Grapher

MRTG es una avanzada utilidad gr�fica escrita por Tobias Oetiker y Dave Rand para representar gr�ficamente los datos que los gestores SNMP leen de los agentes SNMP. Produce unas vistosas p�gimas HTML con gr�ficos GIF sobre el tr�fico entrante y saliente en los interfaces de red pr�cticamente tiempo real. Con esta herramienta se evita el tener que trabajar directamente con las utilidades CMU-SNMP mediante l�nea de comandos. �sta es la herramienta m�s potente y f�cil de utilizar que he encontrado en la Internet.

MRTG utiliza una implemantaci�n de SNMP escrita completamente en Perl, por tanto, no es necesario instalar otros paquetes. El programa principal est� escrito en "C" para acelerar el proceso de toma de muestras y la generaci�n de im�genes GIF. Los gr�ficos son generados con la ayuda de la biblioteca GD escrita por Thomas Boutell, autor de la FAQ WWW.

El paquete contiene algunas utilidades para analizar los interfaces de enlace, extraer sus caracter�sticas y generar los ficheros de configuraci�n base, que luego se pueden modificar para adaptarlos a las necesidades concretas.

Otra caracter�stica interesante del MRTG es la cantidad de informaci�n que produce. Permite cuatro niveles de detalle para cada interface: tr�fico en las �ltimas 24 horas, la �ltima semana, el �ltimo mes y un gr�fico anual. �sto permite recoger informaci�n para realizar estad�sticas. Guarda toda esta informaci�n en una base de datos utilizando un algoritmo de consolidaci�n que impide que los ficheros crezcan de forma desmesurada.

Tambi�n genera una p�gina principal que contiene las im�genes GIF de los detalles diarios de cada interface del encaminador, lo que permite hacerse una idea general de qu� es lo que est� pasando en el encaminador con un s�lo vistazo. Se puede ver la p�gina principal generada por MRTG en las Figuras 3 y 4.

Figura 3. Interfaz de la p�gina principal Figura 4. Interfaz de la p�gina detallada del interface
Haz click en las figuras para verlas en grande.
Veamos el procedimiento b�sico de instalaci�n. Lo primero que se necesita es la distribuci�n. En el momento de escribir este art�culo, la �ltima versi�n es la 2.5.1 (est� disponible en castellano (espa�ol) y pre-compilada); puedes encontrar la direcci�n URL del servidor principal al final de este art�culo.

Antes de comenzar la instalaci�n del MRTG es necesario instalar la biblioteca GD la direcci�n URL tambi�n est� al final del art�culo. La versi�n actual es la 1.2 y no deber�an haber problemas en compilarla e instalarla. Sencillamente hay que ejecutar make en el directorio en el que se ha desempaquetado la distribuci�n y se genera como resultado el fichero llamado libgd.a. Se copia este fichero al directorio /usr/local/lib y los ficheros con extensi�n .h al directorio /usr/local/include/gd.

En este punto el paquete GD debe estar correctamente instalado. Ahora se puede compilar el paquete MRTG. Extrae la distribuci�n y edita el fichero ../../common/January1998/Makefile para indicar donde se encuentra la biblioteca y los archivos de cabecera de GD, as� como cual es el fichero ejecutable Perl 5.003: normalmente se encuentra en /usr/bin/perl o en /usr/local/bin/perl.

Construye el programa principal tecleando make rateup; cuando termine la compilaci�n, teclea make substitute para incluir el path correcto del interprete de Perl en los scripts de Perl que utiliza MRTG.

Copia los siguientes ficheros su directorio destino final (por ejemplo: /usr/local/mrtg): BER.pm, SNMP_Session.pm, mrtg y rateup. Tambi�n se han de copiar en este directorio los dos ficheros de configuraci�n: indexmaker y cfgmaker.

Aseg�rese que todos los programas tienen permiso de ejecuci�n. Ya est� todo listo para crear un fichero de configuraci�n sencillo. Es necesario tener acceso SNMP de lectura al encaminador. Para un encaminador de la marca Cisco, las l�neas de configuraci�n que dan permiso son:

access-list 99 permit 193.147.0.8
access-list 99 permit 193.147.0.9
access-list 99 permit 193.147.0.130
snmp-server community public RO 99
Esto permite peticiones de s�lo lectura desde las direcciones especificadas en la lista 99, empleando la palabra clave "public" como community. Si lo que se quiere es permitir el acceso desde cualquier m�quina en modo s�lo lectura al encaminador, entonces la l�nea ha de ser la siguiente:
snmp-server community public RO

Si el encaminador de la red es de otra marca, entonces se ha de consultar el manual para determinar c�mo permitir el acceso SNMP.

El script cfgmaker simplifica mucho la tarea de construir el fichero de configuraci�n. Todo lo que hay que hacer es ejecutarlo con los siguientes par�metros:

cfgmaker <community>@<router-host-name or IP>
Por ejemplo:
cfgmaker [email protected] > mrtg.cfg
Localizar� todos los interfaces del encaminador mec-router.rediris.es y escribir� una secci�n en el fichero con las especificaciones del n�mero de interfaces, velocidad m�xima, descripci�n, etc., junto con algunas etiquetas HTML para que puedan ser incluidas en la p�gina detallada. Es posible editar este fichero HTML para traducirlo al idioma y preferencias propias. Se puede ver en la Figura 5 la salida de uno de los interfaces de mi encaminador.
Figura 5
Target[mec-router.1]: 1:public@mec-router
MaxBytes[mec-router.1]: 1250000
Title[mec-router.1]: mec-router.rediris.es (mec-router.mec.es): Ethernet0
PageTop[mec-router.1]: <H1>Estadisticas del puerto Ethernet0<BR>
Red del MEC (MECNET)</H1>
<TABLE>
<TR><TD>System:</TD><TD>mec-router.rediris.es en RedIRIS </TD></TR>
<TR><TD>Maintainer:</TD><TD>[email protected]</TD></TR>
<TR><TD>Interface:</TD><TD>Ethernet0 (1)</TD></TR>
<TR><TD>IP:</TD><TD>mec-router.mec.es (193.147.0.1)</TD></TR>
<TR><TD>Max Speed:</TD>
<TD>1250.0 kBytes/s (ethernetCsmacd)</TD></TR>
</TABLE>

Ahora se puede ejecutar el programa mrtg por primera vez. Sencillamente ejecuta:

./mrtg mrtg.cfg

Si todo va bien, el programa se pondr� en contacto con el encaminador, pedir� algunos valores y generar� algunos ficheros de registro y algunos ficheros GIF en el directorio actual. No hay que sorprenderse por las quejas respecto los ficheros de registro y de gr�ficos que no ha encontrado, esto s�lo sucede la primera vez que se ejecuta. Elimina los ficheros de gr�ficos que genera y vuelve a ejecutar el programa otra vez. El gr�fico generado mostrar� el tr�fico producido en el intervalo desde la �ltima ejecuci�n del programa. Tambi�n genera p�ginas HTML para cada interface.

Ahora vamos a indicarle a MRTG como ejecutarse adecuadamente en el sistema. Primero se ha de crear un directorio dentro del directorio principal del web servidor (suponiendo que en el sistema haya un servidor web en funcionamiento) para contener las p�ginas y gr�ficos que MRTG generar� cada vez que se ejecute. A�ade este directorio en la cabecera del fichero de configuraci�n con la directiva WorkDir: /usr/local/web/mrtg (suponiendo que el directorio ra�z est� situado en /usr/local/web). La pr�xima vez que MRTG se ejecute, crear� los ficheros de registro y de gr�ficos en este directorio, pudiendo accederse v�a http://your_host.domain/mrtg.

Ahora vamos a construir la p�gina principal para todos los interfaces como la que aparece en la Figura 3. �sto se puede llevar a cabo con la utilidad indexmaker. Ejecuta:

indexmaker mrtg.cfg <router-name regexp> > /usr/local/web/mrtg/index.html

Se generar� un documento HTML con gr�ficos diarios de aquellos interfaces cuyo nombre de encaminador coincida con la expresi�n regular anterior y los enlaza con la p�gina individual detallada.

Como se puede imaginar, el programa MRTG se ha de ejecutar a intervalos regulares para recoger datos en cada intervalo y generar los gr�ficos peri�dicamente, de forma que de la impresi�n de ser una monitorizaci�n en tiempo real. Esto se puede conseguir mediante la siguiente l�nea en el fichero /etc/crontab (suponiendo /usr/local/mrtg-bin como el directorio donde reside el programa mrtg):

0,5,10,15,20,25,30,35,40,45,50,55 * * * * \
/usr/local/mrtg-bin/mrtg \
/usr/local/mrtg-bin/mrtg.cfg > \
/dev/null 2>&1

En caso de tratarse de una distribuci�n Red Hat, la l�nea que se tendr�a que a�adir ser�a:

0,5,10,15,20,25,30,35,40,45,50,55 * * * * root \
/usr/local/mrtg-bin/mrtg \
/usr/local/mrtg-bin/mrtg.cfg > \
/dev/null 2>&1

Si no se ha producido ning�n problema, ahora se puede dedicar alg�n tiempo para acabar de configurar y ajustar la p�gina �ndice HTML. Una buena mejora consiste en incluir en la secci�n de cabecera de esta p�gina un c�digo <META .....> para obligar al visor web a recargar la informaci�n cada 300 segundos.

Otra mejora que se puede incluir en el fichero de configuraci�n es la directiva WriteExpire, que fuerza a MRTG a crear ficheros ".meta" para cada fichero GIF y p�gina HTML, eliminando innecesarias operaciones de "cache" tanto en los servidores proxy como en los propios visores web. Para ello tambi�n es necesario configurar el servidor Apache (suponiendo que sea �ste el servidor) para que lea estos ficheros ".meta" y env�e correctamente las cabeceras "Expire" con la directiva MetaDiren el fichero XXXX.

Se pueden encontrar m�s directivas en el fichero de configuraci�n ejemplo que viene con la distribuci�n; que por cierto, est� muy bien documentado. Es posible modificar la disposici�n de las im�genes generadas por MRTG.

Espero que te guste este programa, si es as�, enviarle a los autores una tarjeta; puedes encontrar su direcci�n en la p�gina web de MRTG.

Otros Programas

Existe un programa similar llamado Router-Stats, escrito por Iain Lea, el autor del famoso programa lector de correo "tin". Router-Stats actualiza los gr�ficos una vez al d�a y muestra informaci�n estad�stica muy interesante sobre la utilizaci�n por horas y otros aspectos. El �nico problema es que se apoya en muchos programas externos. (SMU-SNMP para las tareas con SNMP, GNUPLOT para trazar gr�ficos, NetPBM y GIFTOOL para trabajar con gr�ficos).

Hay otra categor�a de software que da un paso m�s all� en la tarea de gesti�n de redes, ofreciendo una soluci�n completa tanto para monitorizar como para configurar toda la red. Este tipo de soluci�n permite obtener una compleja representaci�n gr�fica de la red y ojear f�cilmente los nodos que la componen, verificando detalles de configuraci�n espec�ficos y otras cuestiones de inter�s.

A este nivel podemos hablar de dos soluciones comerciales ampliamente utilizadas: "HP-OpenView" de Hewlett-Packard y "SunNet Manager" de Sun. Estas herramientas ofrecen una plataforma integrada para la gesti�n de los recursos de red, a trav�s de impresionantes interfaces gr�ficos. Entre otras utilidades, disponen de herramientas para localizar los nodos de la red en los que se est�n ejecut�ndo agentes SNMP. Otra caracter�stica importante es la capacidad de integrar productos de otros fabricantes, como el CiscoWork de Cisco, que permite al administrador mantener una base de datos con todas las configuraciones de los encaminadores e incluso monitorizar gr�ficamente los paneles traseros de los encaminadores con todas sus conexiones.

Los dos inconvenientes fundamentales de estos productos es que son comerciales y no est�n disponibles para Linux. Pero por supuesto que existen soluciones disponibles p�blicamente con una funcionalidad m�s o menos similar. Uno de los paquetes que he encontrado es el Scotty. Scotty es un paquete basado en TCL que permite crear programas espec�ficos a las necesidades de la red propia, empleando un API de alto nivel de cadenas de caracteres. Un paquete similar es el Tkined. Es un editor de red que ofrece extensiones para crear un entorno de trabajo completo, integrando algunas herramientas para localizar redes IP, soporte para el proceso de instalaci�n de la red o resoluci�n de problemas en redes IP utilizando SNMP en combinaci�n con otras utilidades est�ndar (por ejemplo traceroute). Scotty tambi�n incluye un visor gr�fico MIB que permite explorar f�cilmente informaci�n MIB.

Puedes encontrar referencias tanto de paquetes comerciales como de software libre al final del art�culo.

Conclusiones

SNMP es un protocolo sencillo pero potente que puede ayudar a monitorizar los recursos de red sin sobrecargar mucho la red. Quiz�s las extensiones que se est�n llevando a cabo actualmente incrementar�n la complejidad y las posibilidades de esta herramienta pero a cambio incrementar� los recursos necesarios para implementarla.

En este art�culo, se han presentado dos herramientas que se pueden encontrar en la Internet. Existe una multitud de herramientas que se est�n desarrollando continuamente. Consulta el grupo de noticias de Usenet comp.protocols.snmp para estar al tanto sobre anuncios sobre nuevo software y MIBs.




Enlaces de inter�s

CMU-SNMP for Linux:
ftp://sunsite.unc.edu/pub/Linux/system/network/admin/cmu-snmp-linux-3.2-bin.tar.gz

M�dulo de extensiones de PERL 5 para CMU-SNMP:
ftp:/ftp.wellfleet.com/netman/snmp/perl5/SNMP.tar.gz

Multi Router Traffic Grapher (MRTG):
http://www.ee.ethz.ch/~oetiker/webtools/mrtg/mrtg.html

GD Biblioteca gr�fica: (necesaria para el MRTG)
http://www.boutell.com/gd/

Perl 5.003: (necesario para el MRTG)
http://www.perl.com/perl/info/software.html

Lista de correo de MRTG:

Lista de discusi�n
Env�a un correo-e a [email protected] with "subscribe" in the subject
Lista de anuncios
Env�a un correo-e a [email protected] with "subscribe" in the subject

Router Stats:
http://www.scn.de/~iain/router-stats/

Software de gesti�n de red SNMP:
http://wwwsnmp.cs.utwente.nl/software/

Scotty:
http://wwwsnmp.cs.utwente.nl/~schoenw/scotty/

Scotty + Tkined para Linux:
ftp://sunsite.unc.edu/pub/Linux/system/network/admin/tkined-1.3.4+scotty-ELF.tar.gz


Traducido por Ismael Ripoll

Para m�s informaci�n:
  • Consulta el "Gu�a de Administracion de Redes" que se puede otener en castellano gracias la proyecto LuCAS.


© 1997 David Guerrero
Páginas web mantenidas por Miguel A Sepulveda.