Protocolos y Servicios. Practica 1.1

Anuncio
Protocolos y Servicios. Práctica 1. Gestión de red utilizando SMP
PARTE I (versión 2.0)
1. Introducción
En esta práctica se pretende dar una visión general sobre la gestión de red con SNMP.
El objetivo final será la construcción de un sistema de gestión de red, basado en
tecnología web, que nos permita controlar los problemas o incidencias que puedan
ocurrir en los equipos administrados.
Al final de la práctica se debe entregar una memoria y el código fuente del sistema
desarrollado.
En la siguiente figura podemos observar el sistema que deseamos construir:
Sistema gestión a construir basado en
tecnología web
Sistema
administrado +
agente SNMP
Sistema
administrado +
agente SNMP
Sistema apache
+ php + api
SNMP
Base
de
datos
(mysq
Sistema
administrado +
agente SNMP
El Sistema de gestión a construir será creado en el ordenador del laboratorio. Los
Sistemas administrados y los agentes SNMP serán indicados por el profesor.
2. Configuración del entorno de trabajo (parte 1)
Procederemos en este apartado a instalar el Servidor apache junto con las extensiones
para la programación en PHP. Ambos software los descargamos desde las direcciones:
•
•
http://www.apache.org (a instalar en cualquier ubicación del ordenador de
prácticas)
http://www.php.net (a instalar en c:\php)
Una vez instalados, leeremos la documentación incluida en c:\php\install para
configurar el apache de forma que pueda ejecutar aplicaciones escritas en php.
Describe en la memoria el significado de las carpetas incluidas en la instalación del
apache y del PHP.
3. Primeros pasos con las aplicaciones PHP
En este apartado desarrollamos la pantalla principal de nuestra aplicación de gestión en
formato HTML sobre SNMP. Que tendrá la siguiente apariencia:
Sistema gestión a construir basado en tecnología web.
Indice principal
•
•
•
•
Gestionar los
equipos
administrados
Realizar operación
GET
Realizar operación
SET
Otras
funcionalidades
Ventana donde mostraremos las opciones
ejecutadas.
4. Configuración del PHP para el uso del SMP.
Analiza la documentación del manual PHP para trabajar con las funciones SNMP:
http://www.php.net/manual/es/book.snmp.php
Describe en la memoria la utilidad de cada una de las funciones proporcionadas por el
PHP.
5. Análisis del fichero de configuración del agente SMP
•
•
•
•
Accedemos en este apartado al sistema operativo LINUX de nuestra máquina.
Obtener el fichero de configuración por defecto del agente SNMP (snmpd.conf)
que se encuentra en el Campus Virtual junto con el resto de ficheros de esta
práctica.
Visualizar con un editor de textos el fichero de configuración snmpd.conf e
identificar las diferentes secciones que lo componen.
Tomar nota de las siguientes secciones relacionadas con el control de acceso
existentes en el fichero de configuración snmpd.conf: la relación entre
comunidades y modelos de seguridad en el agente SNMP, la relación entre
modelos de seguridad y grupos, la definición de vistas y, finalmente, el tipo
•
de acceso permitido de los grupos a las vistas. Explicar brevemente la
funcionalidad de cada sección.
Tomar nota de la sección relacionada con la información de contacto del
sistema existente en el fichero de configuración snmpd.conf.
6. Análisis de la MIB del agente
•
Verificar que las siguientes categorías listadas en la tabla 1 se encuentran dentro
de la MIB que se representa en la figura siguiente. Analizar la tabla 1 para
comprender a que se refiere cada categoría y recordar en lo posible esta
información.
•
•
•
•
Escribir el path textual y numérico del objeto sysDescr de la categoría "system"
según la MIB representada en la figura anterior.
Arrancar la aplicación tkmib usando el comando tkmib (Alt+F2). Ver sus
opciones principales. Localizar las categorías de la figura anterior dentro de la
aplicación tkmib.
Navegar por la MIB utilizando tkmib y verificar que existen cinco de los objetos
pertenecientes a cualquiera de los grupos listados en la tabla anterior (puede que
alguno de los objetos elegidos no exista en la MIB de tu PC). Tomar nota de los
objetos buscados, del grupo al que pertenecen y de su path numérico.
Escribir el path textual y numérico del objeto ifTable de la categoría "interfaces"
utilizando la aplicación tkmib y, cuando finalices, cierra la aplicación.
7. Configuración y puesta en marcha del agente SMP
•
•
•
•
•
•
•
•
Copiar el fichero de configuración del agente snmpd que has descargado del
Campus Virtual (snmpd.conf) al directorio por defecto, es decir, ./etc/snmp/..
Ahora, detener snmpd usando el comando .sudo /etc/init.d/snmpd stop” y
volver a arrancarlo usando .sudo /etc/init.d/snmpd start” para que, al arrancar de
nuevo snmpd, utilice este fichero de configuración por defecto. A partir de
ahora, este fichero ./etc/snmp/snmpd.conf. será el utilizado en la realización de
la práctica.
Ejecutar el comando .snmpget –v 1 –c public localhost system.sysContact.0”
para obtener desde la consola un valor específico de la MIB, concretamente la
información de contacto del administrador del sistema. Tomar nota del resultado
obtenido.
Verificar que ambas operaciones (arrancar y detener snmpd) pueden realizarse
de una sola vez usando el comando .sudo /etc/init.d/snmpd restart”. Para
comprobarlo, modificar como se indica la información de contacto del
administrador del sistema en el fichero de configuración del agente SNMP y
volver a ejecutar
el comando .snmpget –v 1 –c public localhost
system.sysContact.0”.
Tomar nota del nuevo resultado obtenido; si no funciona, utiliza siempre start y
stop.
# System contact information
syslocation Spain (configure /home/us3redes/.snmp/snmpd.conf)
syscontact
Root
<root@localhost>
(configure
/home/us3redes/.snmp/snmpd.conf)
Ejecutar el comando snmpget para obtener desde la consola la información de
contacto del administrador del sistema pero especificando el path como un valor
numérico. Verificar que el resultado es el mismo que el obtenido en el ejercicio
anterior y tomar nota del path numérico del objeto especificado.
Utilizar el comando snmpget para obtener desde la consola un valor específico
de la MIB, concretamente el nombre del sistema (ordenador). Tomar nota del
resultado obtenido y del path textual del objeto especificado.
Ejecutar el comando snmpwalk –v 1 –c public localhost system para obtener
desde la consola un subárbol específico de la MIB, concretamente .system..
Tomar nota del resultado obtenido.
•
•
•
Modificar nuevamente el fichero de configuración snmpd.conf con los
parámetros que se especifican a continuación pero, antes, hacer una
copia de seguridad del fichero de configuración snmpd.conf existente.
Para que la nueva configuración se actualice en el sistema debemos ejecutar el
comando .sudo /etc/init.d/snmpd restart”.
# System contact information
sysdescr Linux Ubuntu
syscontact Nombre del alumno
syslocation Lab. de Redes de Area Local, Extensa y RDSI
Ejecutar el comando snmpget para obtener desde la consola la información de
contacto del administrador del sistema y verificar que se ha actualizado con los
nuevos parámetros introducidos en el fichero de configuración snmpd.conf.
Tomar nota del resultado obtenido.
Ejecutar el comando snmpwalk para obtener desde la consola el subárbol
.system. y verificar que se ha actualizado con los nuevos parámetros
introducidos en el fichero de configuración snmpd.conf. Tomar nota del
resultado obtenido.
ANEXO.
Grupo de sistema (system)
_ sysDescr - Descripción completa del sistema(version, HW, OS)
_ sysObjectID - Identificación que da el distribuidor al objeto
_ sysUpTime - Tiempo desde la última reinicialización
_ sysContact - Nombre de la persona que hace de contacto
_ sysServices - Servicios que ofrece el dispositivo
. Grupo de interfaces (interfaces)
_ ifIndex - Número de interfaz
_ ifDescr - Descripción de la interfaz
_ ifType - Tipo de la interfaz
_ ifMtu - Tamaño máximo del datagrama IP
_ ifAdminisStatus - Status de la interfaz
_ ifLastChange - Tiempo que lleva la interfaz en el estado actual
_ ifINErrors - Número de paquetes recibidos que contenían errores
_ ifOutDiscards - Número de paquetes enviados y desechados
. Grupo de traducción de direcciones (addr-translation)
_ atTable - Tabla de traducción de direcciones
_ atEntry - Cada entrada que contiene una correspondencia de dirección de red a dirección física
_ atPhysAddress - La dirección física dependiente del medio
_ atNetAddress - La dirección de red correspondiente a la dirección física
. Grupo IP (ip)
_ ipForwarding - Indicación de si la entidad es una pasarela IP
_ ipInHdrErrors - Número de datagramas de entrada desechados debido a errores en sus cabeceras IP
_ ipInAddrErrors - Número de datagramas de entrada desechados debido a errores en sus direcciones IP
_ ipInUnknownProtos - Número de datagramas de entrada desechados debido a protocolos desconocidos o no
soportados
_ ipReasmOKs - Número de datagramas IP reensamblados con éxito
_ ipRouteMask - Máscara de subred para el encaminamiento
. Grupo ICMP (icmp)
_ icmpInMsgs - Número de mensajes ICMP recibidos
_ icmpInDestUnreachs - Número de mensajes ICMP "destino inalcanzable"(destination unreachable) recibidos
_ icmpInTimeExcds - Número de mensajes ICMP "time exceeded"(tiempo excedido) recibidos
_ icmpInSrcQuenchs - Número de mensajes ICMP "source quench(desbordamiento del emisor) recibidos
_ icmpOutErrors - Número de mensajes ICMP no enviados debido a problemas en ICMP
. Grupo TCP (tcp)
_ tcpRtoAlgorithm - Algoritmo que determina el timeout para retransmitir octetos para los que no se ha recibido
reconocimiento
_ tcpMaxConn - Límite en el número de conexiones TCP que puede soportar la entidad
_ tcpActiveOpens - Número de veces que las conexiones TCP han efectuado una transición directa del estado
SYN-SENT al estado
CLOSED
_ tcpInSegs - Número de segmentos recibidos, incluyendo aquellos con error
_ tcpConnRemAddress - La dirección IP remota para esta conexión TCP
_ tcpInErrs - Número de segmentos desechados debido a errores de formato
_ tcpOutRsts - Número de resets generados
. Grupo UDP (udp)
_ udpInDatagrams - Número de datagramas UDP entregados a usuarios UDP
_ udpNoPorts - Número de datagramas UDP recibidos para los que no existía aplicación en el puerto de destino
_ udpInErrors - Número de datagramas UDP recibidos que no se pudieron entregar por razones otras que la ausencia
de la aplicación en el
puerto de destino
_ udpOutDatagrams - Número de datagramas UDP enviados por la entidad
. Grupo EGP (egp)
_ egpInMsgs - Número de mensajes EGP recibidos sin error
_ egpInErrors - Número de mensajes EGP con error
_ egpOutMsgs - Número de mensajes EGP generados localmente
_ egpNeighAddr - La dirección IP del vecino de esta entrada EGP
_ egpNeighState - El estado EGP del sistema local con respecto a la entrada EGP vecin
Descargar