Fin de curso de sistema operativo en redes
-
Upload
glen-mora-lewis -
Category
Technology
-
view
175 -
download
0
Transcript of Fin de curso de sistema operativo en redes
UNIVERSIDAD DE LAS REGIONES AUTONOMAS
DE LA COSTA CARIBE NICARAGUENSE
URACCAN-Bilwi
TRABAJO DE FIN DE CURSO
SISTEMA OPERATIVO DE REDES
TEMA:
Administración y Gestión de la red local con NAGIOS en el laboratorio
LAKIATARA URACCAN - Bilwi
Carrera Informática Administrativa, Tercer Año,
Autores:
1. Glen Hendir Mora Lewis.
2. Jhunaysi Rebeca Wills
3. Jefferson Antonio Morris Fúnez.
Docente:
Lic. Sheran Alenka Colomer.
2 de mayo del año 2014
Bilwi Puerto Cabezas R.A.A.N
Indice
I. Introducción ................................................................................................................... 3
II. Antecedentes ................................................................................................................. 4
III. Planteamiento de problema ..................................................................................... 5
IV. Justificación ............................................................................................................... 6
V. Objetivos ........................................................................................................................ 7
VI. Marco teórico ............................................................................................................. 8
VII. Diseño Metodológico ...............................................................................................23
VIII. Desarrollo ..................................................................................................................24
8.1. Estudio de viabilidad ...............................................................................................24
8.2. Analisis del sistema ................................................................................................25
8.3. Diseño del sistema..................................................................................................27
8.4. Desarrollo ................................................................................................................29
IX. Conclusión ................................................................................................................35
X. Recomendaciones........................................................................................................35
I. Introducción
El presente trabajo se realiza en la universidad de las regiones autónomas de la costa caribe Nicaragüense URACCAN, el cual consiste en la implementación de
un sistema de monitorización de equipos y redes llamado Nagios, para ayudar a los administradores a tener siempre el control de qué está pasando en la red y
conocer los problemas que ocurren antes de que los usuarios de la misma los perciban.
Este sistema permitirá monitorear el área del laboratorio lakiatara para un mejor rendimiento, el cual el trata de un software usado en todo el mundo que debe
correr en sistemas Linux de una manera fácil y de código abierto.
Abordar este tema es muy importante ya que Nagios es un sistema de monitorización muy completo, con grandes posibilidades de ampliación y
adaptación debido a esto usara las aplicaciones de nano, vi y algunas herramientas importantes para su instalación, ya que este sistema le servirá
mucho a los usuarios del laboratorio de lakiatara.
II. Antecedentes
El laboratorio lakiatara cuenta con docente responsable llamado charles MClean el
cual se encarga de ver el estado de todas las maquinas que se utiliza en el dicho
local, el cual no tiene ningún tipo de sistema que permita monitorizar la red, pero
la universidad cuenta con un software libre llamado “caty” es una herramienta que
permite monitorizar y visualizar gráficas y estadísticas de dispositivos conectados
a una red y que tengan habilitado el protocolo SNMP.
Contiene sus desventajas como el tiempo de instalación del programa y todas sus
dependencias, otro el tiempo de configuración de los dispositivos, porque tenemos
que agregar manualmente cada uno de los equipos que queremos visualizar,
solamente muestra estadísticas y gráficas de las máquinas.
III. Planteamiento de problema
El laboratorio lakiatara de la universidad Uraccan tiene muchas necesidades de
diferentes tipos de sistemas y ente ellos en lo sé que requiere de estos tipos de
software y Nagios que permita monitorear equipos activos de red y servicios que
se especifiquen, realizando un control de incidencias sobre fallos en la red así
como de la recuperación de las mismas.
Actualmente no cuenta con ningún tipo de sistema que permita la monitorización
de redes eso implica que tenga muchos problemas en la distribución de internet ya
que desconoce los problemas que ocurre al caer el internet y el estado de las
maquinas.
Por estos problemas que presentan los equipos del laboratorio al momento de
acceder a internet consideramos que la implementación del sistema de Nagios
puede ayudar, resolver y llegar a una solución para que los usuarios al momento
de utilizar la red tengan mayor ventaja de uso.
IV. Justificación
En la de universidad de las regiones autónomas de la costa caribe de Nicaragua
tiene que contar con un sistema de monitoreo de redes, NAGIOS software libre.
Que sea sin dependencia de otros o el tiempo de configuraciones o sin tener que
agregar manualmente cada uno de los equipos que queremos visualizar y
queremos que haya otras funciones mejor que mostrar estadísticas y gráficas de
las máquinas la solución esta con Nagios que supera todo estos tipos de problema
que presenta el sistema de monitoreo de redes caty; Nagios permite realizando un
control de incidencias sobre fallos en la red así como de la recuperación de las
mismas.
Las incidencias pueden ser enviadas vía correo electrónico al personal
responsable para atenderlas, basta con configurar una cuenta de correo o grupo
de cuentas en el servidor mail que esté implementado.
.
V. Objetivos
General
Implementar un sistema de monitorización de redes, Nagios como servidor
de código abierto, en el área de la universidad URACCAN Recinto-Bilwi
para la Gestión y Administración de Red.
Especifico
Crear un servidor con un sistema de código abierto en Linux.
Recopilar información y requisitos necesarios para la configuración del
sistema.
Identificar los diferentes tipos de problemas que presenta al momento de
monitorear al servidor.
Configurar el servidor de acuerdo a la necesidad de laboratorio
LAKIATARA.
Realizar pruebas y mantenimientos del servidor para detectar fallas y
corregirlas.
Implementar Nagios como sistema de monitorización de redes en el
laboratorio lakiatara de la universidad URACCAN.
VI. Marco teórico
6.1. Sistema operativo
(Según David Luis Martínez 2002) un Sistema operativo es el programa (o
software) más importante de un ordenador. Para que funcionen los otros
programas, cada ordenador de uso general debe tener un sistema operativo.
6.2. Sistema operativo en red
(Según Eduard Lara 2004) Realmente se trata de un software que es necesario
para integrar los componentes de la red, como archivos, periféricos y recursos, en
un todo al cual el usuario final tiene un cómodo acceso. El sistema operativo de
red controla y administra todos estos recursos, así el usuario se libra de posibles
conflictos en el momento de usar la red.
6.3. Breve historia de linux.
(Según Eduard Lara 2004) Linux es un sistema operativo para PCs basados en
Intel, que intenta ser un clon de UNIX, sin ningún software comercial con derechos
de autor y que pueda utilizar todo el mundo. Comenzó como una afición de Linux
Tovarlds mientras estudiaba en la universidad de Helsinki. Su objetivo era crear un
sustituto de Minix, similar a UNIX. Poco a poco, y a través de Internet, muchos
internautas ofrecieron su ayuda a Linus, reportando fallos en el núcleo del sistema
(Kernel), mejorando el código y añadiendo controladores. Así, llegamos al estado
actual donde la última versión estable del kernel Linux alcanza unos niveles de
estabilidad, escalabilidad y rendimiento que Linux no podría ni imaginar cuando
empezó su proyecto en 1991.
Linux nació ya, como sistema operativo para trabajo en red, de manera que
muchos de los problemas que otros sistemas operativos tuvieron que solucionar
sobre la marcha a lo largo de su evolución, los desarrolladores de Linux ya los
contemplaban. Así, Linux es un sistema operativo sobre el que se pueden montar
estaciones clientes y servidores, sin más que implementar los servicios necesarios
(Web, FTP, DHCP, etc.) en cualquier estación. Es decir, no es necesario emplear
un sistema operativo servidor, sino añadir servicios a cualquier estación.
6.4. Software libre.
(Según Eduard Lara 2004) El movimiento GNU/ Linux tiene de trasfondo el
concepto de “software libre”. Se desarrolla bajo las reglas del proyecto de GNU de
Free Software Foundation, Cambridge, Massachussets y básicamente significa
que los usuarios tienen libertad de ejecutar, copiar, distribuir, instalar, cambiar y
mejorar el programa tantas veces como quieran. En concreto se consideran tres
niveles de libertad:
Libertad para estudiar el programa, aprender de él e incluso usar todo o
parte en otros proyectos.
Libertad para distribuir, copiar a quien se quiera y sin límite alguno;
cobrándose por ello lo que se quiera.
La Libertad de toda la comunidad de usuarios de mejorar el programa y
distribuirlo de tal manera que se puedan beneficiar todos los integrantes de
la propia comunidad.
Con el software libre, la única libertad que no se tiene es la de restringir estos
derechos a otros usuarios, es decir, la libertad de eliminar libertades. Si se
distribuye una copia o una modificación de un programa libre todos los usuarios
tienen los derechos antes citados.
6.5. Linux.
(Según Eduard Lara 2004) Linux es un sistema operativo que está estructurado en
archivos. Todos los elementos de hardware o software de un equipo están
gestionados a través de un archivo. El sistema Linux es una estructura de
directorios jerárquica donde se organizan los archivos. Posee una estructura de
árbol donde la parte superior es su raíz. Este sistema permite ubicar cualquier
dispositivo dentro de la estructura de archivos, aunque se encuentre en otra
unidad de red.
6.5.1. Características del Sistema Operativo Linux.
Linux es un sistema operativo completo multitarea y multiusuario. Esto significa
que pueden trabajar varios usuarios simultáneamente en él, y que cada uno de
ellos puede tener varios programas en ejecución. Lo explicamos detalladamente a
continuación:
a) Multiusuario: varios usuarios pueden acceder a las aplicaciones de un
único PC. La característica que más resalta de Linux es que un grupo de
personas puede trabajar con la misma versión de la misma aplicación al
mismo tiempo, desde el mismo terminal o desde terminales distintos.
b) Multitarea: describe la capacidad de ejecutar muchos programas al mismo
tiempo sin detener la ejecución de cada aplicación. Linux se basa en la
multitarea prioritaria donde cada programa tiene garantizada la oportunidad
de ejecutarse, y se ejecuta hasta que el sistema operativo da prioridad a
otro programa para ejecutarse. MS-DOS y Windows 3.1, por ejemplo, se
basan en una forma de multitarea denominada multitarea cooperativa. Con
ésta, los programas se ejecutan hasta que permiten voluntariamente que se
ejecuten otros programas o no cesa su actividad por el momento. En Linux,
el microprocesador sólo es capaz de hacer una tarea a la vez, pero las
realiza en tiempos tan cortos que no los notamos y es en sus "ratos libres"
donde se dedica a ejecutar otras tareas que se le hayan pedido.
c) Multiplataforma: corre en muchas CPUs distintas, no sólo Intel.
d) POSIX: Aunque para los usuarios normales esto importa poco, POSIX es
un estándar de la industria, que asegura Una calidad mínima en ciertas partes del S.O. y asegura su compatibilidad, a nivel de código, es decir, Programas POSIX que funcionan en otros Unix, no tendrán problema para
compilarse y ejecutarse en Linux, para muchas empresas esto es muy importante, a la hora de decantarse por un S.O. u otro (por eso Windows
NT es compatible POSIX).
e) Compatibilidad: Cuando tocamos este tema, siempre pasa lo mismo, la
gente dice, JO!!!, No puedo ejecutar mi aplicación favorita por Windows 95, bueno, tampoco alguien con MAC, ni con IRIX, etc., además en Linux.
f) Estabilidad: Linux es robusto, no se colgara ( el S.O. una aplicación si está
mal hecha por supuesto que se colgara, pero no afectara al resto del
sistema, nunca tendrás que reiniciar el ordenador porque un programa lo ha colgado), hay que notar que es posible bloquear el teclado o la pantalla,
pero eso no significa que se cuelgue el ordenador, puedes entrar al ordenador por otro sitio ( un terminal, por red) y desbloquearlo, y seguir usándolo, o si se te bloquea un programa mientras estabas conectado a
Internet y cogiendo correo, quizás no puedas usar el ordenado, pero seguirá bajando el correo sin problemas.
g) Es libre: Es decir no te costara nada, no tendrás que pagar licencias,
podrás copiarlo, venderlo, instalarlo donde quieras sin problemas, pero lo más importante es que dispones del código fuente, esto significa que si un
día te encontrases con un problema del S.O no tendrías que esperar inútilmente a que su creador decidiese que era un problema importante y crease un servicie pack para el S.O., tú mismo puedes solucionar el
problema. O puedes indicarle a una 3º personal el problema, y esta no tendrá que ser de la empresa que creó el S.O. para poder solucionártelo.
h) Soporte: Parece mentira, siendo gratis, pero aparte del que te da
Mandrake, SUSE, o RedHat si le comprar los CD a estas empresas, existen cientos de personas, de todos los idiomas conocidos, que gustosos te
ayudaran a solucionar cualquier problema que tengas con Linux, y en pocos días. No dudes de unirte a las listas de distribución que hay en Internet, no solo aprenderás, podrás ayudar a otros en los problemas que tengan.
i) Adaptación: Linux es uno de los S.O. que más rápido evoluciona, se
adapta al mercado y soluciona los problemas rápidamente, como por ejemplo el bug F00F del Pentium, Linux fue el primero en tener solución,
Soporta el sistema FAT32 de Microsoft antes que sus propios Sistemas Operativos (Windows NT 4 ), ha sido de los primeros en estar disponible
para las arquitectura Athlon64 y un largo etc. de cosas. Prácticamente las
mayores pegas que se le puede echar a Linux son: Dificultad de
Configuración – No es exacto, simplemente no hay botones, se hace todo por ficheros de configuración ASCII, además actualmente las distribuciones
incluyen su propio GUI (Interfaz Gráfica para el Usuario) para la configuración del equipo, aunque esta depende de cada distribución. Hay pocos juegos - Los hay, no todos pero sí muy buenos, Quake I & II, Doom I
& II. Abuse, Freeciv, Descent, y un montón de ellos sencillos.
6.6. Árbol de directorios
El árbol de directorios suele contener una serie de directorios que incluyen otros
subdirectorios, son pues sistemas de archivos incluidos en otros sistemas más
amplios. Esta característica tiene como consecuencia que el nombre de un archivo
no sea el nombre que se le ha asignado al crearlo, sino la ruta de ese archivo en
el árbol de directorios añadiéndole, al final, su nombre.
Los directorios presentes dentro del sistema raíz suelen ser:
/bin: contiene los programas ejecutables binarios.
/sbin: archivos binarios de sistema orientados a su administración.
/etc: incluye gran parte de los archivos de configuración del sistema.
/lib: contiene las bibliotecas de opciones compartidas de los distintos
programas.
/dev: contiene los archivos de dispositivo que son empleados para acceder
a los elementos de hardware.
/proc: incluye los procesos que se están ejecutando en ese momento por el
sistema.
/tmp: almacena los archivos temporales.
/home: se emplea para guardar los directorios de los usuarios de los
equipos.
/var: incluye los archivos que pueden modificar su tamaño.
/usr: contiene todos los archivos y órdenes usados por el sistema. Este
directorio se divide en otros subdirectorios. o /usr/bin: órdenes orientadas a los usuarios y programas de
utilidades.
o /usr/sbin: órdenes de administración de sistemas.
o /usr/lib: incluye las bibliotecas de los lenguajes de programación.
o /usr/doc: incluye los documentos de Linux.
o /usr/man: archivos del manual interactivo.
o /usr/spool: contiene los archivos en formato spool.
6.7. Elementos de la estructura de Linux
Hardware.
Shell.
Usuario.
Núcleo (Kernell)
6.7.1. Intérpretes de comandos “shell”.
(Según Álvaro Alea Fernández 2002) Un interpretes de comandos no es sino un
programa que lee instrucciones del usuario a través del teclado y las ejecuta.
Existen multitud de intérpretes de comandos, pero los más usados son tcsh
(especialmente en UNIXs comerciales) y bash, que se puede decir es el estándar
en los sistemas Linux.
El intérprete de comandos le indicará al sistema que está esperando instrucciones
mostrando lo que se denomina el prompt del sistema. Puede mostrarse de formas
diferentes, puesto que es configurable por el usuario, pero generalmente será un
símbolo $ o #, dependiendo si se trata de un usuario normal o del usuario root.
Al pulsar intro, se le indicará al sistema que ha acabado de introducir el comando.
Entonces hace varias cosas con él. Primero comprueba si el comando es interno
al intérprete de comandos y si puede ejecutarlo por si mismo.
6.7.2. Tres tipos de Shell
Bourne: fue creado en el laboratorio Bell para el sistema V.
Korn: Es una amplificación y mejora de Boune.
C-Shell: Fue creado para el sistema BS de Unix.
6.8. La cuenta root.
(Según Álvaro Alea Fernández2002) Linux distingue diferentes rangos de
usuarios. Cada usuario recibe una cuenta que incluye un nombre de usuario y un
directorio inicial, entre otras cosas. Además de las cuentas dadas a personas
reales, existe otra, definida por el sistema, con privilegios especiales: la cuenta
raíz, con el nombre de usuario root.
Los usuarios normales están restringidos para que no puedan dañar o borrar
ficheros vitales del sistema. Si se comete un error, éste sólo afectará a su cuenta.
Estas restricciones desaparecen para el usuario root, que puede leer, modificar o
borrar cualquier fichero en el sistema, cambiar permisos y pertenencias en
cualquier fichero y ejecutar programas especiales, como pueden ser los que
particionan un disco o crean sistemas de ficheros.
6.9. Administración de archivos.
Cualquier archivo que se encuentre en un sistema Linux tiene asignada una serie
de características. Una de ellas es los permisos de acceso. En este sentido, Linux
establece dos niveles. En primer lugar determina quiénes pueden acceder y en
segundo lugar, en qué condiciones. Con respecto a quiénes pueden acceder
determina tres grupos:
El usuario propietario del archivo.
El grupo al que pertenece.
Todos los usuarios del sistema.
Por otro lado, cada uno de estos posibles usuarios que deseen acceder al archivo,
pueden tener varios permisos dentro de dicho archivo:
Lectura. Escritura. Ejecución.
Cualquiera de estos permisos puede ser atribuido a cualquiera de los usuarios que
hemos descrito anteriormente.
6.10. Las distribuciones
Linux es libre, eso significa que cualquiera puede cogerlo y vendértelo, o regalártelo, pero Linux además es solo un pequeño programa, el kernel, que solo
no vale de nada, así que existen una serie de empresas, o grupos de gente que se dedica a unir Linux a un grupo de aplicaciones, en muchos casos libres también,
en otros no, meterlo todo en un CD o discos y distribuirlo. Veremos por encima las principales que hay:
6.10.1. Red Hat
A Red Hat hay que agradecerle el sistema de paquetes RPM, que es el adoptado
por el LBS (Linux Base Stan dar es un conjunto de normas para conseguir que un programa funcione
perfectamente sin importar en Que distribución se instale).
6.10.2. Debían
Esta distribución siempre ha sido famosa por su fiabilidad, estabilidad y por ser
completamente gratuita (El resto de las distribuciones suelen incorporar programas shareware, o con
licencias restrictivas
6.10.3. SUSE
Esta distribución alemana, basada en RPM, es la segunda opción empresarial más utilizada, Incluye KDE y la herramienta de configuración YAST, muy cómoda
de usar. Recientemente ha sido adquirida por Novell, he IBM tiene una gran influencia sobre ella.
6.10.4. Slackware
Esta distribución tiene el mérito de haber sido mantenida por una única persona, usa el sistema de paquetes TGZ (este sistema es muy rudimentario, he incluye muy pocas facilidades para el usuario).
6.10.5. Ubuntu
¿Qué es Ubuntu?
Ubuntu es una distribución de Linux de tipo escritorio, basada en Debían, esto es
por todos conocidos pero detrás de Ubuntu hay una curiosa historia.
a) Los inicios de Ubuntu
Ubuntu es una distribución patrocinada por Canonical Ltda, empresa cuyo dueño
es el sudafricano Mark Shuttleworth.
El 8 de julio de 2004, Mark Shuttleworth y la empresa Canonical Ltda anunciaron
la creación de la distribución Ubuntu, inicialmente tuvo una financiación de 10
millones de dólares (US$).
b) Su creador: Mark Shuttleworth
Mark Shuttleworth es informático, empresario y por si fuera poco es también el
primer cosmonauta sudafricano y el segundo cosmonauta “turista” en la historia,
después del vuelo del millonario estadounidense Dennis Tito.
Todo esto antes de embarcarse en el proyecto Ubuntu soportado por su empresa
privada que dedica a la promoción de proyectos de software libre Canonical Ltda,
que ha desarrollado otros proyectos como TheOpenCD (una colección de
programas libres para Windows) y Bazaar (una implementación de GNU Arch).
La gran pregunta es porque este empresario decidió embarcarse en este proyecto
de software libre y de donde sacó el dinero para financiarlo…
Nos tenemos que remontar a 1995 (Sudáfrica), allí Shuttleworth fundo Thawte
Consulting una empresa especializada en certificados de seguridad digitales por
Internet, la empresa se fue haciendo un hueco en el mundo de las firmas digitales
llegando al punto de que en 1999 VeriSign compró las acciones de Thawte a
Shuttleworth por 575 millones de dólares, esto responde a la pregunta de porque
es el segundo turista espacial y cómo consiguió financiar el proyecto Ubuntu.
c) Proyecto “Ubuntu”
Sabiendo esto llegaremos a entender que el proyecto nació por iniciativa de
algunos programadores de los proyectos Debían, Gnome y Arch que se
encontraban decepcionados con la manera de operar del proyecto Debían, la
distribución Linux sin ánimo de lucro más popular del mundo y tras formar un
grupo multidisciplinario, los programadores decidieron buscar el apoyo económico,
este apoyo lo encontraron en Mark Shuttleworth que tenía el suficiente dinero y
confianza en el proyecto como para llevarlo a cabo.
Combinando su experiencia en la creación de nuevas empresas con el talento y la
experiencia de los programadores de la plataforma Linux, nació la empresa
Canonical citada anteriormente, la cual se encarga de sostener económicamente
el proyecto mediante la comercialización de servicios y soporte técnico a otras
empresas. Mientras los programadores armaban el sistema, Shuttleworth
aprovechó la ocasión para aplicar una pequeña campaña de mercadotecnia para
despertar interés en “la distribución-sin-nombre” (en inglés: the no-name-distro).
Tras varios meses de trabajo y un breve período de pruebas, la primera versión de
Ubuntu (Warty Warthog) fue lanzada el 20 de octubre de 2004.
El origen del nombre es debido a un movimiento encabezado por el obispo
Desmond Tutu y Edgar Granados, quienes ganaron el Premio Nobel de la Paz en
1984 por sus luchas en contra del Apartheid en Sudáfrica y tambien al origen
sudafricano de Shuttleworth además hay ciertas similitudes entre los ideales de los
proyectos GNU, Debían y en general del software libre y el movimiento contra el
Apartheid en Sudáfrica.
d) Versiones de Ubuntu
Versión Fecha de lanzamiento Nombre
4.10 20 de octubre, 2004 Warty Warthog
5.04 8 de abril, 2005 Hoary Hedgehog
5.10 13 de octubre, 2005 Breezy Badger
6.06 1 de junio, 2006 Dapper Drake
6.10 Planificada para octubre de 2006 Edgy Eft
e) Derivados de Ubuntu
Kubuntu
Xubuntu
Edubuntu
Ebuntu
Ubuntu Lite
nUbuntu
Ubuntu Studio
6.11. Servidores
Un servidor, como la misma palabra indica, es un ordenador o máquina
informática que está al “servicio” de otras máquinas, ordenadores o personas
llamadas clientes y que le suministran a estos, todo tipo de información. A modo
de ejemplo, imaginemos que estamos en nuestra casa, y tenemos una despensa.
Pues bien a la hora de comer necesitamos unos ingredientes por lo cual vamos a
la despensa, los cogemos y nos lo llevamos a la cocina para cocinarlos.
Así en nuestro ejemplo, nuestra máquina servidor sería la despensa, y los clientes
somos nosotros como personas que necesitamos unos ingredientes del servidor o
despensa. Pues bien con este ejemplo podemos entender ahora un poco mejor
qué es un servidor.
Por tanto un servidor en informática será un ordenador u otro tipo de dispositivo
que suministra una información requerida por unos clientes (que pueden ser
personas, o también pueden ser otros dispositivos como ordenadores, móviles,
impresoras, etc.).
Por tanto básicamente tendremos el siguiente esquema general, en el
denominado esquema “cliente-servidor” que es uno de los más usados ya que en
él se basa gran parte de internet.
Como vemos, tenemos una máquina servidora que se comunica con variados
clientes, todos demandando algún tipo de información. Esta información puede ser
desde archivos de texto, video, audio, imágenes, emails, aplicaciones, programas,
consultas a base de datos, etc.
Por regla general, las máquinas servidoras suelen ser algo más potentes que un
ordenador normal. Sobre todo suelen tener más capacidad tanto de
almacenamiento de información como de memoria principal, ya que tienen que dar
servicio a muchos clientes. Pero como todo, también depende de las necesidades,
ya que podemos tener un servidor de menores prestaciones si vamos a tener
pocos clientes conectados, o si los servicios que queramos en el servidor no
requieren una gran capacidad servidora. A modo de ejemplo, podríamos hacer
funcionar un ordenador en nuestra casa como si fuera un servidor, aunque esto no
es lo más habitual. Por general, los servidores suelen estar situados en centros de
datos de empresas (edificios con grandes salas dedicadas a alojar a los
servidores).
6.12. TIPOS DE SERVIDORES
En esta tabla podemos ver los tipos de servidores más habituales.
DENOMINACIÓN
DEL SERVIDOR DESCRIPCIÓN
Servidor de Correo Es el servidor que almacena, envía, recibe y realiza todas las
operaciones relacionadas con el e-mail de sus clientes.
Servidor Proxy
Es el servidor que actúa de intermediario de forma que el
servidor que recibe una petición no conoce quién es el cliente
que verdaderamente está detrás de esa petición.
Servidor Web
Almacena principalmente documentos HTML (son documentos
a modo de archivos con un formato especial para la
visualización de páginas web en los navegadores de los
clientes), imágenes, videos, texto, presentaciones, y en general
todo tipo de información. Además se encarga de enviar estas
informaciones a los clientes.
Servidor de Base
de Datos
Da servicios de almacenamiento y gestión de bases de datos a
sus clientes. Una base de datos es un sistema que nos permite
almacenar grandes cantidades de información. Por ejemplo,
todos los datos de los clientes de un banco y sus movimientos
en las cuentas.
A modo de resumen, un servidor es un ordenador de gran capacidad que atiende
las peticiones de cientos o miles de ordenadores a los que envía información u
ofrece un servicio. El mundo de los servidores es muy complejo. No te preocupes
si algunos términos no te resultan del todo claros pues hay profesionales que
llevan muchos años trabajando con servidores y realmente es difícil conocer la
gran variedad de tipos y nomenclatura que se utiliza para referirse a todos ellos.
6.13. Procesos en Linux
Un proceso es una instancia de un programa en ejecución y la unidad básica de
planificación en Linux. Un proceso se compone de:
o El contexto actual del programa, que es el estado de ejecución del
programa.
o El directorio de trabajo del programa.
o Archivos y directorios que tienen acceso al programa.
o Las credenciales de acceso del programa, modo y propiedades del
archivo.
o Recursos asignados al programa.
Servidores Clúster
Son servidores especializados en el almacenamiento de la
información teniendo grandes capacidades de almacenamiento
y permitiendo evitar la pérdida de la información por problemas
en otros servidores.
Servidores
Dedicados
Como ya expresamos anteriormente, hay servidores
compartidos si hay varias personas o empresas usando un
mismo servidor, o dedicados que son exclusivos para una sola
persona o empresa.
Servidores de
imágenes
Recientemente también se han popularizado servidores
especializados en imágenes, permitiendo alojar gran cantidad
de imágenes sin consumir recursos de nuestro servidor web en
almacenamiento o para almacenar fotografías personales,
profesionales, etc.
El kernel usa a procesos para controlar el acceso a la CPU y a otros recursos del
sistema como el tiempo de uso de la CPU, memoria acceso a disco, etc.
Para ellos utiliza los siguientes comandos:
[ root @ PC1 ~ ] #ps –aux: Muestra todos los procesos del sistema, con nombre y
tiempo de inicio.
top : Esta herramienta monitorea varios recursos del sistema y muestra uso de
CPU por proceso, cantidad de memoria, tiempo desde su inicio, etc. [ root @ PC1
~ ] #top
6.14. Servicios en Linux
Un servicio en Linux es aquel que va a beneficiar al sistema operativo y a la red
una vez que es activado. Entre los principales servicios tenemos: portmap,
network, sshd, httpd, smb, xinetd, squid, named, etc.
Existe un comando llamado ntsysv el cual nos permite poder trabajar usando los
servicios en forma permanente. Es decir mediante este comando cada vez que se
reinicia la computadora el servicio antes programado se cargara automáticamente.
Sintaxis: [ root @ PC1 ~ ] #ntsysv
6.15. Monitorización de red.
La monitorización de redes es el uso de un sistema que constantemente
monitoriza una red de computadoras buscando componentes lentos o fallidos y
luego notifica al administrador de esa red (vía email, teléfono celular u otras
alarmas) en caso de cortes. Es un subconjunto de las funciones involucradas en la
gestión de redes.
Mientras que un sistema de detección de intrusiones monitoriza una red de
amenazas del exterior, un sistema de monitorización de red monitoriza la red
buscando problemas causados por servidores sobrecargados y/o caídos,
conexiones de red, u otros dispositivos. Por ejemplo, para determinar el status de
un web server, un software de monitorización puede enviar periódicamente un
pedido de HTTP para buscar una página.
Para servidores email, un mensaje de prueba puede ser enviado a través de
SMTP y recuperado porIMAP] o POP3. Normalmente las únicas métricas de
medición son tiempo de respuesta, disponibilidad y tiempo de funcionamiento,
aunque las métricas de consistencia y fiabilidad están empezando a ganar
popularidad.
La suma extendida de dispositivos de optimización está teniendo un efecto
adverso en la mayoría de las herramientas de monitorización – especialmente
cuando se trata de medir apropiadamente el tiempo de respuesta de punta a punta
debido a que limitan la visibilidad de ida y vuelta. Las solicitudes de estado de
fallos – tales como cuando una conexión no puede ser establecida, expira, o un
documento o un mensaje no pueden ser recuperados - usualmente producen una
acción por parte del sistema de monitorización. Estas acciones varían - una
alarma puede ser enviada (vía SMS, email, etc.) para el administrador del sistema
residente, sistemas automáticos de conmutación por error pueden ser activados
para remover del servicio el servidor con problemas hasta que pueda ser
reparado, etc. Monitorizar la performance de una red de uplink es también
conocido como medición de tráfico de red, y más software está en la lista.
6.16. Nagios
Nagios es un sistema de monitorización de equipos y de servicios de red, creado
para ayudar a los administradores a tener siempre el control de qué está pasando
en la red y conocer los problemas que ocurren antes de que los usuarios de la
misma los perciban.
Se trata de un software usado en todo el mundo que debe correr en sistemas
Linux o Unix y que permite extender su funcionalidad con la utilización o creación
de extensiones. Está liberado bajo licencia GPL por lo que no está sometido a
costes de licenciamiento.
Nagios es un sistema de monitorización muy completo, con grandes posibilidades
de ampliación y adaptación como demuestra su implantación en empresas,
universidades y organismos gubernamentales. Sin embargo, se trata de un
sistema complejo que requiere una configuración e instalación elaborada que no lo
hacen apropiado para ser usado en redes pequeñas.
Nagios es una solución robusta, escalable y económica para la monitorización de
equipos y redes informáticas.
6.17. Estructura
El núcleo de la aplicación, que forma la lógica de control de la aplicación, contiene
el software necesario para realizar la monitorización de los servicios y equipos de
la red que han sido definidos. Hace uso de diversos componentes que vienen con
la aplicación, y puede hacer uso de otros componentes realizados por terceras
personas.
Aunque permite la captura de paquetes SNMP para notificar sucesos, no es un
sistema de monitorización y gestión basado en SNMP sino que realiza su labor
basándose en una gran cantidad de pequeños módulos software que realizan
chequeos de parte de la red.
Muestra los resultados de la monitorización y del uso de los diversos componentes
en una interfaz web a través de un conjunto de CGI’s y páginas HTML que vienen
incorporadas de serie. Y que permiten al administrador una completa visión de qué
ocurre, dónde y en algunos casos, el por qué.
Por último, si se compila para ello, Nagios guardará los históricos en una base de
datos para que al detener y reanudar el servicio de monitorización, todos los datos
sigan como iban, sin cambios.
6.18. Descripción
Monitorización de servicios de red (SMTP, POP3, HTTP, NNTP, ICMP, SNMP).
Monitorización de los recursos de equipos hardware (carga del procesador,
uso de los discos, logs del sistema) en varios sistemas operativos, incluso
Microsoft Windows con los plugins NRPE_NT o NSClient++.
Monitorización remota, a través de túneles SSL cifrados o SSH.
Diseño simple de plugins, que permiten a los usuarios desarrollar sus propios
chequeos de servicios dependiendo de sus necesidades, usando sus
herramientas preferidas (Bash, C++, Perl, Ruby, Python, PHP, C#...).
Chequeo de servicios paralizados.
Posibilidad de definir la jerarquía de la red, permitiendo distinguir entre host
caídos y host inaccesibles.
Notificaciones a los contactos cuando ocurren problemas en servicios o hosts,
así como cuando son resueltos (a través del correo electrónico,
buscapersonas, Jabber, SMS, o cualquier método definido por el usuario junto
con su correspondiente complemento).
Posibilidad de definir manejadores de eventos que ejecuten al ocurrir un
evento de un servicio o host para resoluciones de problemas proactivas.
Rotación automática del archivo de registro.
Soporte para implementar hosts de monitores redundantes.
VII. Diseño Metodológico
7.1. Área de estudio: La universidad URACCAN
7.2. Unidad de estudio: Laboratorio LAKIATARA.
7.3. Duración del estudio: El estudio se realizo durante segundo
cuatrimestre de año 2014 en los meses comprendido entre Julio a
Septiembre.
7.4. Tipo de estudios:
Según su enfoque es cualitativo ya que se toma en cuenta las opiniones
de la persona a cargo del negocio al crear el sistema de información.
Según su aplicabilidad: es de desarrollo tecnológico ya que toma en
cuenta el análisis del sistema de información.
Según corte es transversal porque la creación del administrador de red es
de un tiempo determinado.
7.5. Universo: El universo está compuesto por dos personas. El primero es
el encargado del laboratorio y el segundo de la asignatura.
7.6. Muestras: La muestra fue de 100%.
7.7. Tipo de muestra: El tipo de muestra es no probabilístico por que se
eligieron a todo el universo.
7.8. Fuente de información:
a) Primaria:
El encargado del laboratorio.
El docente de la asignatura.
b) Segundaria:
Internet
Referencias Bibliográficas
7.9. Instrumento para la recopilación de información
Observaciones directas
Entrevistas
VIII. Desarrollo
8.1. Estudio de viabilidad
En esta fase se define los recursos necesarios para ver si cuenta con los recurso
necesarios para la implementación del sistema de monitoreo.
Nagios es un sistema de monitorización de redes de código abierto. Vigila los
equipos (hardware) y servicios (software) especificados, alertando cuando el
comportamiento de los mismos no sea el deseado. Para su implementación se
requiere de muchos medios y recursos tanto financieros como operacionales. Se
necesita una computadora potente la cual podrá funcionar como servidor y de un
operador el cual se encargue de administrar el sistema.
8.1.1. Factibilidad económica:
Instalación y configuración del Sistema
Descripción Costos
Especialista en Redes $500.00
Software
Descripción Costos
Ubuntu 12.04 $10.00
Nagios $20.00
Hardware
Descripción Costos
Computadora $1,000.00
Proyecto
Descripción Costo
Elaboración del documento $25.00
Para la implementación del sistema
Descripción Costos
Operador $350.00
8.1.2. Factibilidad Técnico:
Computadora
HDD 500G
Sistema Operativo: Microsoft Windows 7 Profesional
Procesador: Intel Core (TM) i32100CP
Memoria RAM 4 GB
Arquitectura de la computadora: 32 Bits
Periférico
Parlante
Mouse
Teclado
Conexión Segura
Estabilizador Marca CDP
Internet
8.2. Analisis del sistema
8.2.1. Definición del sistema
El sistema consiste en la monitorización de redes vigilando el hardware y software
de ordenadores conectados desde un servidor, para la implementación de este
sistema se requiere de los siguientes elementos que entre ellos tenemos como el
hardware que sería una computadora en la cual se instalará y se configurará como
servidor, y para software requiere de algunos paquete que sería el núcleo o el
motor del software Nagios, incluyendo sus paquetes como los plugins, las
interfaces y los complementes las cuales servirían para el buen funcionamiento del
servidor.
Se requiere del sistema operativo Ubuntu versión 12.04 la cual es una de las
distribuciones de GNU/Linux que funcionara como servidor (localHost) en ella se
instalara el Software con sus respectivos paquetes.
El software necesario para la instalación:
ISO Ubuntu 12.04: Es la imagen del sistema operativo Ubuntu la cual nos permitirá
instalar en una maquina.
Oracle VM VirtualBox: Es el software que se utiliza para crear maquinas virtuales
en este caso nos permitirá crear una maquina virtual de Ubuntu las cual funcionará
como el servidor para Nagios.
Nagios: Es el núcleo o motor principal de monitorización de redes.
Plugins: Son los componentes necesarios para el buen funcionamiento del sistema
de monitoreo, los plugins permite el uso de los servicio que ofrece Nagios.
Complementos: Son los software terciarios o proyectos que amplian las
características de Nagios, permite ofrecer nuevos servicios y funcionalidades.
Gedit: Este software nos permitirá editar los paquete de configuraciones de
Nagios.
FireFox: Es el navegador web que nos permitirá acceder a la interfaz de Nagios.
8.2.2. Funcionamiento del sistema
El sistema se encargara de monitorear el servicio de internet y a todas las
maquinas que se encuentre conectadas a ella, verificara si tiene errores en cuanto
a la velocidad de internet, cualquier falla que detecte se encargara de avisar al
administrador del sistema, para la poder corregirlo, también se encargara de
enviar notificaciones a cada uno de los contactos que se encuentran configurado
en ella, alertando los fallos o sobrecargas así dando un buen rendimiento.
Requiere de un personal que administre el sistema revisando errores que son
recibidos y buscar cómo solucionarlos.
8.2.3. Definición de interfaces de usuario
Después de instalar y configurar el sistema deberá iniciar el servidor y estará
disponible para monitorear cada una de las maquinas que dependen de ella, para
acceder en la interfaz de Nagios deberá abrir el explorador web entra al dirección
del servidor (localhost/Nagios/) como usuario administrador, en ella se encuentra
la pagina principal (Home) y las demás paginas que nos permitirán monitorear que
entre ellos están las maquinas conectadas, los diferentes servicios y sus estados
en que se encuentran. Más adelante se detalla cada una de las interfaces de
usuario.
8.3. Diseño del sistema
En esta fase se crearan los diseños del sistema atreves de representaciones
graficas que sean entendibles por el usuario
Para la instalación y configuración del servidor se seguirá el siguiente esquema:
El esquema muestra el software necesario para la instalación y configuración del
servidor, en primer lugar están los paquetes de instalación que entre ellos tenemos
el motor del sistema de monitorización que es Nagios, los plugins: que permiten
ejecutar los diferentes servicios, la interfaz que permite la comunicación entre la
maquina y en los usuarios, también están los completos.
Estos elementos forman parte del paquete de monitorización de redes (NAGIOS),
como podemos observar en la figura de antes que para porder instalar estos
paquete en la maquina virtual de Ubuntu lo primero que se tiene que hacer es
cumplir con los requisitos de instalación que se observa en la parte inferior que
entre ellos tenemos al apache 2 que es un lenguaje programación general para
desarrolladores de web que ofrece un ambiente seguro flexible, está el GCC que
es el compilador que se encargara de compilar el software antes de ser instalados,
también está el GD este software permite la ejecución de imágenes graficas con
formatos diferentes (jpg,gif,png entre otros).
8.3.1. Arquitectura.
Nivel Funcional
Nivel Lógico
Diagrama de casos de usos
8.4. Desarrollo
En esta fase se define el proceso y comandos para instalación y la configuración
del servidor Nagios.
Procesos de instalación del Nagios.
1. Antes instalar Nagios debemos de instalar los siguientes paquetes en
el sistema que son los requisitos para el funcionamiento del sistema.
Apache 2
PHP GCC: librerías de desarrollo y compilación
GD: librerías de desarrollo
# Se ejecuta los siguientes comandos como supe usuario
apt-get -y update
apt-get -y install apache2
apt-get -y install libapache2-mod-php5
apt-get -y install build-essential
apt-get -y install libgd2-xpm-dev
2. Creación de cuentas de usuario y grupo
Creamos el usuario nagios y le asignamos una contraseña:
#Creamos el usuario
useradd -m -s /bin/bash nagios
#Le asignamos una contraseña
passwd nagios Añadimos el nuevo usuario en el grupo Nagios
usermod -G nagios Nagios
Creamos el nuevo grupo nagcmd para alojar los comandos usandos por la
interfaz web.
groupadd nagcmd
#Añadimos el usuario en el grupo nagios usermod -a -G nagcmd Nagios
#También en el grupo apache
usermod -a -G nagcmd www-data
3. Descargamos Nagios y Plugins
Crearemos una carpeta para descargar los paquetes de la página web del
producto.
mkdir downloads
cd downloads
#Descargamos los paquetes de nagios-core
wget http://sourceforge.net/projects/nagios/files/nagios-4.x/nagios-4.0.6/nagios-4.0.6.tar.gz
#Descargamos los paquetes de plugins
http://nagios-plugins.org/download/nagios-plugins-2.0.tar.gz
4. Compilamos e instalamos Nagios
Descomprimimos los paquetes descargados:
tar xzf http://sourceforge.net/projects/nagios/files/nagios-4.x/nagios-
4.0.6/nagios-4.0.6.tar.gz
Y accedemos al nuevo directorio:
cd nagios-4.0.6
Ejecutamos el script de configuración, pasándolo por el grupo que hemos
creadonagcmd
./configure --with-command-group=nagcmd
Compilamos el código fuente:
make all
Ahora instalamos los binarios, los scripts de inicio y los archivos de ejemplo.
make install
make install-init
make install-config
make install-commandmode
Los archivos básicos de configuración los tenemos en la carpeta:
/usr/local/nagios/etc/objects
Que son los siguientes:
commands.cfg
contacts.cfg
localhost.cfg
printer.cfg
switch.cfg
templates.cfg
timeperiods.cfg
windows.cfg
Por el momento sólo modificaremos el archivo contacts.cfg, que es dónde
indicamos los usuarios. Aquí podemos cambiar el correo de contacto por el
nuestro propio.
nano /usr/local/nagios/etc/objects/contacts.cfg
5. Configuramos al Interfaz Web
Ejecutaremos el script install-webconf desde el directorio ….downloads/nagios-
4.0.6
make install-webconf
Asignaremos el usuario nagiosadmin a la interfaz web de nagios. Nos pedirá una
contraseña, no la olvides.
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
Reiniciamos el servicio Apache
/etc/init.d/apache2 reload
6. Compilamos e Instalamos Nagios Plugins
Volvemos al directorio donde tenemos el archivo descargado de los plugins y lo
descomprimimos.
tar xzf nagios-plugins-2.0.tar.gz
Y accedemos dentro del directorio creado:
cd nagios-plugins-2.0
Compilamos e instalamos los plugins
./configure --with-nagios-user=nagios --with-nagios-group=Nagios
make
make install
7. Iniciamos Nagios
Primero de todo crearemos un enlace simbólico con el comando ln, para que arranque el servicio al encender nuestra máquina.
ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios
Por último comprobaremos que toda la configuración es correcta.
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Si no nos devuelve ningún error ya lo podemos arrancar.
/etc/init.d/nagios start
Con todo esto ya tenemos la web funcionando:
Una vez lo hemos instalado, únicamente tendremos monitorizada la propia
máquina del servidor que este caso sería Ubuntu.
Proceso de configuración de Nagios
Una vez terminado de instalar Nagios procedemos a la configuración de los
archivos de Nagios
Añadimos un host
Añadiremos un host Microsoft Windows que tenemos en la dirección
192.168.3.68 con el nombre de “PC-LAKIATARA”
Antes de nada hay que desconectar la línea de los servidores Windows en el
archivo de configuración nagios.cfg, ubicado en /usr/local/nagios/etc/
Usaremos el fichero que viene por defecto para los hosts y servicios que corren en
máquinas con sistemas operativos Microsoft Windows, ubicado
en/usr/local/nagios/etc/objects/windows.cfg
gedit /usr/local/nagios/etc/objects/windows.cfg
Modificamos la información del principio del archivo con los datos de nuestro
servidor:
Define host {
use Windows-Server
host_name PC-LAKIATARA
alias PC Lakiatara
address 192.168.3.68
}
A continuación tenemos la información del grupo de servidores Windows. Lo
dejamos tal y como está:
define hostgroup {
hostgroup_name windows-server
alias Windows Servers
}
Reiniciamos el servicio
service nagios restart
IX. Conclusión
En conclusión se logro Instalar y configurar sistema de monitorización Servidor
NAGIOS la cual permite monitorear el hardware y el software en la área del
laboratorio LAKIATARA. Gracias a que se recopilo la información necesaria para
configurar los diferentes servicios que ofrece el sistema.
Se logro instalar en la maquina virtual de Ubuntu los paquetes de Nagios a través
de la terminal utilizando los comandos para la descarga e instalación de los
paquetes necesarios para el buen funcionamiento del sistema de monitorización.
También se logro crear la interfaz grafica la cual permite la comunicación entre el
usuario y la maquina, que son el administrador del sistema y el sistema de
monitoreo (Nagios)
Esperamos que este proyecto beneficie mucho al Laboratorio en cuanto a la
administración de la red y monitoreo de los equipos del laboratorio, también
esperamos este trabajo sirva de guía para aquellos estudiantes desean configurar
sistemas similares.
X. Recomendaciones
Recomendamos al encargado del laboratorio LAKIATARA utilizar
frecuentemente este sistema de monitoreo ya que permitirá un mejor
rendimiento en cuanto al control de las maquinas.
También recomendamos reportar al técnico cualquier falla que ocurra con el
sistema para pueda ser resuelto con anticipación.
XI. Referencia Bibliográfica
aprendaaprogramar.com. (Septiembre de 2006). Didactica y divulgacion de la
programacion. Recuperado el 11 de septiembre de 2014, de Didactica y
divulgacion de la programacion:
http://aprenderaprogramar.com/index.php?option=com_content&view=article&id=5
42:que-es-un-servidor-y-cuales-son-los-principales-tipos-de-servidores-proxydns-
webftpsmtp&catid=57:herramientas-informaticas&Itemid=179
Boldrito, R. S., & Esteve, J. J. (2007). Proyecto en administracion de redes y
sistemas operativos basados en GNU/LINUX (Segunda ed.). Barcelona: Euroca
Media,SL.
Manual, e. d. (09 de octubre de 2012). Primeros pasos con ubuntu 12.04.
Recuperado el 11 de septiembre de 2014, de Primeros pasos con ubuntu 12.04:
http://people.ubuntu.com/~chilicui l/pdf/ubuntu-manual-es.pdf
SlideShare. (30 de abril de 2010). Sistemas Operativos III . Recuperado el 11 de
09 de 2014, de Sistemas Operativos III : http://es.slideshare.net/eldavan/procesos-
en-linux
tufuncion. (06 de diciembre de 2006). Los orígenes de Ubuntu. Recuperado el 11
de 09 de 2014, de Los orígenes de Ubuntu: http://www.tufuncion.com/historia-
ubuntu
Virtuality. (2010). Virtuality. Recuperado el 11 de septiembre de 2014, de Virtuality:
www.virtuality.es/download.php?l=es&n=nagios&e=pdf
Wikipedia. (29 de abril de 2014). Nagios. Recuperado el 11 de septiembre de
2014, de Nagios: http://es.wikipedia.org/wiki/Nagios