Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática RESUMEN El esquema tradicional del proceso de enseñanza, en donde el estudiante es un agente pasivo de captación, ya va quedando limitado en el contexto actual, donde el empuje de las tecnologías es cada vez mayor. Junto a esta nueva realidad, es incuestionable que la computación como herramienta educativa, potencializa las habilidades personales de los alumnos en cuanto al auto-aprendizaje. Junto con este auto-aprendizaje, es muy útil tener en cuenta aspectos como la valoración del avance del estudiante en cuanto a los conocimientos adquiridos por medio de la auto-evaluación, al mismo tiempo que se ponen en práctica los mismos, por medio de un asistente de auto-configuración. Este sistema académico contribuye con la capacitación de profesionales y técnicos de la telemática con conocimientos avanzados en redes TCP/IP, ayudándoles a adquirir, Ing. Priscila Cedillo O. 1 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática reforzar o recordar temas concernientes a la configuración de servidores en Plataformas Linux. Incluye también información acerca de los aspectos que debemos considerar al momento de diseñar un sistema educativo y contiene un sistema prototipo implementado en Java con Netbeans bajo Linux. Dentro del sistema realizado se encuentran configuraciones de las herramientas más utilizadas a diario por un Administrador de Red, o por la persona asignada para realizar este tipo de trabajos dentro de una Empresa, estas son: NAT, DHCP, NFS, PPP, WIRELESS y VPN. Se ha considerado tanto para el diseño como para la implementación, aspectos pedagógicos, los mismos que están descritos a lo largo del presente trabajo. El sistema prototipo está desarrollado en un ambiente Web, lo que hace que sea un sistema innovador que contemple Ing. Priscila Cedillo O. 2 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática nuevas tecnologías tanto en el desarrollo como en el uso por parte del cliente del programa. Con esto se ha querido contribuir con el profesional y el estudiante que desee convertir a este sistema en una herramienta de apoyo para el desarrollo de sus actividades cotidianas, haciendo que este ayude de una manera innovadora e interactiva al desarrollo y aumento de su productividad y conocimientos en materia de redes. Ing. Priscila Cedillo O. 3 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática ABSTRACT The traditional pattern of the teaching process, in which the student is a passive agent brokerage, it is being limited in the present context, where the thrust of the technology is growing. Along with this new reality, it is undeniable that the computer as an educational tool, potentiates the personal abilities of the students in terms of self-learning. Along with this self-learning, it is very useful to consider aspects such as assessment of the progress of the student in terms of knowledge gained through self-assessment at the same time they are put into practice the same, through a Assistant auto-configuration. This system contributes to the academic training of professionals and technicians with advanced telematics in TCP / IP networks, helping them to acquire reinforce or recall matters connected to the configuration of Linux servers. Ing. Priscila Cedillo O. 4 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática The thesis is about the configuration of servers by Linux. It includes self-learning, self-configuring and self-evaluation about a variety of servers under this platform. This work is a big tool for user with advanced knowledge in TCP / IP networks. It lets us remembering foreground, strengthen and learning new things which, maybe before haven’t seen ever. The thesis also includes information about the aspects we must consider when we design an educational system and additional, It contains a Java implemented prototype system with Netbeans under Linux. Into the system there are made configurations of the most used tools diary by a Network Administrator or person who is assigned for taking this kind of jobs into the company. They are: NAT, DHCP, NFS, PPP, and VPN WIRELESS . It has been considered for both the design and the implementation, pedagogical aspects which are being described throughout the present job. Ing. Priscila Cedillo O. 5 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática The prototype system is developed on a Web environment, which makes it an innovative system that contemplates new technologies in development and use from Program Client. This job has gotten contributing to professionals and students whom would like to convert this system in a helping tool for the development of their daily activities, letting that it becomes an innovative and interactive way to development and enhancing its productivity and network knowledge. Ing. Priscila Cedillo O. 6 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática INDICE DE CONTENIDOS CAPITULO 1: 12 INTRODUCCION 1.1 REALIDAD MUNDIAL 15 1.2. DESCRIPCION DE LA NECESIDAD A SATISFACER 18 1.3. JUSTIFICACION 20 1.4. ANTECEDENTES 21 1.5 OBJETIVOS 1.5.1. OBJETIVO GENERAL 1.5.2. OBJETIVOS ESPECÍFICOS 24 24 24 CAPITULO 2: CONCEPTOS GENERALES 26 2.1. INFORMATIZACION DEL APRENDIZAJE 26 2.2. CARACTERISTICAS REQUERIDAS POR UN SISTEMA DE AUTOAPRENDIZAJE 44 CAPITULO 3: CONFIGURACION DE SERVIDORES 57 3.1. SERVIDOR NAT (Network Address Translation) 3.1.1. USOS DEL NAT 3.1.1.1.- Conexiones Dial Up con módem 3.1.1.2.- Varios Servidores 3.1.1.3- Proxy Transparente 3.1.2. TIPOS DE SERVIDORES NAT: 3.1.2.1.- Source NAT 57 58 58 59 59 60 60 Ing. Priscila Cedillo O. 7 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática 3.1.2.2.- Destination NAT 60 3.1.3. CONFIGURACIÓN BÁSICA DE UN SERVIDOR NAT 61 3.2. REDES INALAMBRICAS DE AREA LOCAL– WIRELESS LAN 64 3.2.1. CONFIGURACION DE LAS TARJETAS DE RED 65 3.2.1.1. Obtención del repositorio Livna 66 3.2.1.2. Obtención del paquete ndiswrapper 66 3.3.1.3. Instalar la tarjeta Wireless 67 3.2.2. CONFIGURACION BASICA DE UNA RED WIRELESS 69 3.2.3. TIPOS DE REDES INALAMBRICAS 71 3.2.4. RECOMENDACIONES EN EL USO: 71 3.3. VPN (REDES PRIVADAS VIRTUALES) 72 3.3.1. USOS DE LAS REDES PRIVADAS VIRTUALES 73 3.3.2. SEGURIDADES EN UNA RED PRIVADA VIRTUAL: 74 3.3.2.1. PPTP 75 3.3.2.3. IPSec 76 3.3.3. RECOMENDACIONES EN EL USO DE LAS VPN 76 3.3.4. CONFIGURACION BASICA DE UNA RED PRIVADA VIRTUAL 77 3.4.1. USOS DE NFS: 80 3.4.2. CONFIGURACION DEL SISTEMA NFS: 81 3.4.2.1. ARRANQUE Y PARADA DE NFS. 84 3.4.2.2. EXPORTAR CARPETAS COMPARTIDAS NFS. 84 Ing. Priscila Cedillo O. 8 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática 3.5. DHCP (DINAMIC HOST CONFIGURATION PROTOCOL) 3.5.1. USOS DEL SERVIDOR DHCP 3.5.2. TIPOS DE SERVIDORES DHCP 3.5.2.1. MANUAL / ESTATICA: 3.5.2.2. AUTOMATICA E ILIMITADA: 3.5.2.3. DINAMICA Y LIMITADA 3.5.3. CONFIGURACION DE UN SERVIDOR DHCP 86 89 91 91 91 91 92 3.6. PPP (PROTOCOLO PUNTO A PUNTO) 101 CAPITULO 4:SISTEMA 109 4.1. DISEÑO DEL SISTEMA DISEÑO WEB PROGRAMACION MODELO DE DESARROLLO SELECCIONADO: VENTAJAS DEL MODELO CASCADA DESVENTAJAS DEL MODELO CASCADA 109 109 110 112 113 113 4.2. HERRAMIENTAS DE DESARROLLO 4.2.1. PLATAFORMA: 4.2.1.1. LINUX FEDORA 4.2.2. LENGUAJE DE PROGRAMACION 4.2.2.1. Netbeans 4.2.2.2. JSP 4.2.3. TIPO DE APLICACION 4.2.4. SERVIDOR DE APLICACIONES/WEB: 4.2.4.1. TOMCAT 4.2.5. BASE DE DATOS 4.2.6. METODOLOGIA: 114 114 114 116 116 117 118 118 118 119 119 4.3. INGENIERÍA Y ANÁLISIS DEL SISTEMA: 121 Ing. Priscila Cedillo O. 9 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática 4.4. FASE DE INICIO 142 4.5. FASE DE ELABORACION 149 4.6. FASE DE CONSTRUCCION 150 4.7. FASE DE TRANSICION 172 CAPITULO 5: CONCLUSIONES Y RECOMENDACIONES 173 5.1. CONCLUSIONES: 173 5.2. RECOMENDACIONES: 174 INDICE DE TABLAS E ILUSTRACIONES Tabla 1 Cambios en la concepción del desarrollo de educación tradicional ........................................................ 40 Tabla 2.- Versiones de Fedora........................................ 116 Ilustración 1.- NAT Proceso………..……………………………………………..44 Ilustración 2.- RED PRIVADA VIRTUAL ........................... 73 Ilustración 3.- Usos de las VPN ........................................ 74 Ilustración 4.- Modelo de Desarrollo en Cascada ........... 113 Ilustración 5.- Diagrama de Contexto............................. 127 Ilustración 6 Visión Macro del sistema............................ 128 Ilustración 7 Entidad-Relación Base de datos ................ 129 Ing. Priscila Cedillo O. 10 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática Ilustración 8. Diagrama de Interacción de Objetos ......... 132 Ilustración 9.- Diagrama de interacción de objetos para la autoevaluación ................................................................ 136 Ilustración 10.- Diagrama de interacción de objetos Autoconfiguración............................................................ 139 Ilustración 11.- Diagrama de Interacción Base de DatosCuestionario .................................................................... 141 Ilustración 12.- Modelado de los procesos del negocio. . 144 Ilustración 13.- Modelo de AutoAprendizaje – AutoConfiguración y Auto-Evaluación............................. 146 Ilustración 14.- Caso de uso AutoAprendizaje ................ 147 Ilustración 15.- Caso de uso autoconfiguración. ............. 148 Ilustración 16.- Caso de uso autoevaluación. ................. 149 Ing. Priscila Cedillo O. 11 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática UNIVERSIDAD DE CUENCA FACULTAD DE INGENIERÍA MAESTRIA EN TELEMÁTICA TESIS DE GRADO TEMA: “Sistema de auto-aprendizaje, auto-evaluación y asistentes para la configuración de redes en plataforma LINUX” DIRECTOR: Ing. Raúl Ortiz Gaona AUTORA: Ing. Priscila Cedillo O. CUENCA-ECUADOR 2008 Ing. Priscila Cedillo O. 12 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática DEDICATORIA: Dedico este trabajo a mis queridos padres, a mi amado esposo, a mi hermana y a una pequeñita que está por venir, porque son las personas más importantes de mi vida. Ing. Priscila Cedillo O. 13 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática AGRADECIMIENTOS: Agradezco por la culminación del siguiente trabajo a Dios, y a mi segundo hogar, Universidad, mi con querida todas las personas que hicieron posible la realización de esta tesis, en especial al Ing. Raúl Ortiz, Director de la Maestría que tan acertadamente dirige. Ing. Priscila Cedillo O. 14 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática CAPITULO 1: INTRODUCCION 1.1 REALIDAD MUNDIAL En las últimas décadas, se ha dado un muy significativo avance en cuanto a lo que tecnología educativa se refiere, todo esto con una nueva visión acerca de los procesos enseñanza-aprendizaje; llevando a la educación a una modalidad de ambientes de aprendizaje apoyados en los medios. Estos ambientes de aprendizaje, son diseñados para crear condiciones pedagógicas y contextuales favorables, donde el conocimiento y sus relaciones con los individuos son el factor principal para formar una “sociedad del conocimiento” [1]. De todo esto se puede derivar que si utilizamos la computadora en el ambiente de auto-aprendizaje, podemos Ing. Priscila Cedillo O. 15 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática sacarle un gran provecho y obtener beneficios incalculables. El tradicional esquema del proceso de enseñanza aprendizaje, donde el docente expone sus conocimientos y el estudiante es un agente pasivo de captación, en donde a lo sumo se limita a tomar nota de las clases y consultar un libro de texto, ya va quedando muy limitado en el contexto actual, donde el empuje de las tecnologías es cada vez mayor. "Se debe aprovechar al máximo el potencial de las nuevas tecnologías de la información y la comunicación para renovarse, ampliando y diversificando la transmisión del saber. Y haciendo llegar el conocimiento y la información a un público más amplio" es una declaración de la UNESCO en su Conferencia Mundial de Educación Superior en 1998. Viendo esta nueva realidad, es incuestionable que la computación como herramienta educativa potencializa las habilidades personales de los alumnos en cuanto a la resolución de problemas en forma creativa, y se gestan las Ing. Priscila Cedillo O. 16 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática condiciones idóneas para el desarrollo del autoaprendizaje y la educación a distancia. Los avances de la ciencia y la tecnología demandan nuevas formas de enseñar, aprender y administrar la educación. Para ello se debe redefinir y replantear el proceso educativo en general, y los procesos de enseñanza y aprendizaje en particular. Esto implica formar individuos mentalmente flexibles y adaptables a un mundo en continuo cambio y donde desaparezcan las barreras geográficas. No se puede hablar de desarrollo humano sin entender el contenido y la importancia del desarrollo tecnológico. Para esto, es indispensable investigar, analizar y establecer criterios claros dentro de una gama conceptual tecnológica y la única forma de lograrlo es investigando y analizando nuestra propia realidad, nuestro desarrollo tecnológico y la forma de transmisión, apropiación, comunicación y relación de los agentes educativos en este proceso de alfabetización y construcción del saber. Ing. Priscila Cedillo O. 17 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática La cultura informática es el primer nivel para la incorporación de las tecnologías informáticas y de las comunicaciones y consiste en estimular en los docentes y alumnos el desarrollo de conocimientos básicos sobre informática. Esto plantea el problema de la formación de los usuarios de las nuevas tecnologías. 1.2. DESCRIPCION DE LA NECESIDAD A SATISFACER Hasta ahora, una persona alfabetizada era aquella que dominaba los códigos de acceso a la cultura escrita o impresa (saber leer) y que a la vez poseía las habilidades para expresarse a través del lenguaje textual (saber escribir). Sin embargo, hoy en día, este conocimiento parece insuficiente ya que sólo permite acceder a una parte de la información: a aquella que está accesible a través de los libros. Una persona analfabeta tecnológicamente queda al margen de la red comunicativa que oferta las nuevas tecnologías. Ing. Priscila Cedillo O. 18 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática Linux ha ido evolucionando poco a poco, llenando muchas expectativas de los usuarios que buscan seguridad, confianza y desempeño. Y hoy está instalado en varias empresas públicas y privadas, sirviendo archivos, aplicaciones, etc. con mucha fiabilidad y lo más interesante de todo es que es un software de libre distribución, lo que le ha ubicado en un puesto privilegiado. Hoy la tecnología, las redes de telecomunicaciones, la información masiva, la Internet, nos permiten ir cada vez más lejos y con ello, se nos presentan nuevas necesidades, tanto para los usuarios como para los desarrolladores de soluciones. En toda empresa la necesidad de servidores para conectarse con un mundo exterior, las intranets, los grupos de noticias, los ataques masivos a la información, la expansión de usuarios, las necesidades de conectividad, requieren de gente preparada, que aporte a su desarrollo y seguridad, a un bajo costo y con soluciones rápidas, confiables e inteligentes. Ing. Priscila Cedillo O. 19 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática Por tanto, esta tesis se desarrolla en base a eso, a una necesidad del usuario ligada a la economía de un sistema operativo abierto y gratuito que garantice seguridad y más allá de todo ello, que brinde todos los servicios necesarios para el manejo de la institución de una manera un poco más sencilla, amigable e intuitiva que es la visión de este trabajo. 1.3. JUSTIFICACION Hoy en día, el continuo avance tecnológico junto con la búsqueda de optimización de recursos económicos, han hecho que muchas empresas adopten al sistema operativo Linux como plataforma para el manejo de sus servidores, esto conlleva la necesidad de técnicos formados para poner en marcha estos servicios de una manera óptima y eficaz, por lo cual se ha buscado el desarrollo de un sistema innovador que integre el autoaprendizaje, autocofiguración y autoevaluación de servidores de red en una forma guiada, que permita desarrollar o afinar destrezas y habilidades en los usuarios, siendo estos los motivos que me han impulsado al desarrollo del presente Ing. Priscila Cedillo O. 20 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática trabajo; ya que hasta el momento en nuestro medio no se conoce de un sistema que integre todo este proceso de enseñanza para este tipo de aplicaciones prácticas en materia de redes. 1.4. ANTECEDENTES En los últimos años, la tecnología ha intervenido en la educación del ser humano, y desde este punto de vista tenemos varios enfoques desde los cuales podemos darnos cuenta que siempre el hombre ha tendido a la búsqueda del conocimiento mediante la experiencia, razón fundamental por la cual he creído conveniente incluir en este trabajo el enfoque bajo el cual la tecnología ha comenzado a ser parte fundamental de la educación hasta evolucionar a lo que hoy conocemos como tecnología educativa multimedia y programas de auto-aprendizaje. Teniendo en cuenta esta evolución educativa orientada a la experiencia en sí del aprendizaje, se ha tenido en cuenta que el enfoque instrumentista de la educación, en donde la intervención de un nuevo medio en las aulas, la Ing. Priscila Cedillo O. 21 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática combinación adecuada del medio, del sujeto aprendiz, el contenido de la materia y la tarea instructiva aumentaría el aprendizaje; cuyos postulados se centran en la necesidad de que el profesor cuente con buenas y variadas herramientas para llevar a cabo la acción docente, ya que la riqueza y variedad de estímulos elevará la atención y la motivación de los estudiantes y facilitará la adquisición y recuerdo de la información. Los medios son soportes materiales de información que deben reflejar la realidad de la forma más perfecta posible. Responden a un modelo estándar de alumno y a una cultura escolar homogénea. Se consideran por si mismos instrumentos generadores de aprendizaje. [8] Hoy en día vemos todo esto reflejado en la introducción de medios tecnológicos en el aula de clases, tales como computadores, proyectores, medios audiovisuales y en sí aparatos que faciliten la introducción del alumno a la educación mediante la experiencia misma, llevada a cabo conjuntamente con un aprendizaje interactivo que facilite y Ing. Priscila Cedillo O. 22 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática dinamice la intervención activa del estudiante en este proceso. Este enfoque me ha hecho tomar la decisión de realizar este tema de tesis ya que en la actualidad hace falta un medio informático que permita tanto el aprendizaje como la manera de llevar a la práctica conceptos y procesos telemáticos que faciliten a las personas que necesiten aprender o reforzar sus conocimientos en redes. Ya que hoy en día se desconoce casi por completo la existencia de este tipo de herramientas. Y más aún en un sistema operativo como Linux, el mismo que se está difundiendo rápidamente por todas sus características y seguridades. Ing. Priscila Cedillo O. 23 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática 1.5 OBJETIVOS 1.5.1. OBJETIVO GENERAL Contribuir con la capacitación de profesionales y técnicos de la telemática a través del desarrollo del presente sistema informático prototipo de autoaprendizaje, autoevaluación y asistente para configurar y poner a funcionar redes de datos en plataformas Linux así como también cimentar y fortalecer los conocimientos adquiridos en materia de redes UNIX-LINUX, de una manera permanente y con un entregable tangible. 1.5.2. OBJETIVOS ESPECÍFICOS 1.5.2.1. Objetivos tangibles • Desarrollar un sistema prototipo de autoaprendizaje, auto evaluación y asistentes para la configuración de ciertas herramientas en sistemas LINUX. • Entregar este sistema a la Universidad de Cuenca, como una herramienta de aprendizaje en materia de redes, para todos los estudiantes Ing. Priscila Cedillo O. 24 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática que necesiten configurar y aprender acerca de los utilitarios de red en LINUX. 1.5.2.2. Objetivos intangibles • Expandir los conocimientos acerca de la configuración de redes LINUX. • Profundizar en las configuraciones de cada uno de los utilitarios de red. • Examinar cada una de las configuraciones. Ing. Priscila Cedillo O. 25 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática CAPITULO 2: CONCEPTOS GENERALES 2.1. INFORMATIZACION DEL APRENDIZAJE La informatización del aprendizaje, es la utilización de los recursos de la tecnología de la información en todas sus modalidades, para potenciar la actividad de aprender. Todo recurso tecnológico que permita almacenar, procesar y recuperar información, ya sea datos numéricos, conceptos, imágenes, sonidos, etc., amplía el potencial de la inteligencia humana y puede ser aplicado para enriquecer el aprendizaje. La informática es un recurso didáctico muy apropiado y abarca todo el conjunto de características que permiten hacer de este un medio de desarrollo cognitivo de las personas, a través de una manera más planificada y estudiada que la tradicional; pudiendo vincular el recurso informático con la llamada tecnología del aprender a pensar basada en: Ing. Priscila Cedillo O. 26 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática 1. Destrezas para planificar estrategias de resolución de problemas. 2. Creación del descubrimiento de principios y reglas lógicas de inferencia y deducción. De esta forma se aprenden conceptos básicos que pueden ser transferidos a situaciones nuevas. 3. El desarrollo de algoritmos para localizar información definida dentro de una gran masa de conocimientos. 4. Las condiciones de transferencia de conocimientos a campos diferentes y diferidos en el tiempo, espacio, etc. Este planteamiento implica una serie de preguntas a responder: ¿Cómo diseñar experiencias de aprendizaje más eficaces?. ¿Cómo mejorar mecanismos hipotético-deductivos?. ¿Cómo desarrollar métodos heurísticos y algorítmicos?. ¿Cómo planificar el tiempo y organizar el espacio?. Ing. Priscila Cedillo O. 27 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática ¿Cómo incrementar el aprender a aprender?. En esta concepción, la computadora se considera como una extensión de la inteligencia humana. Las capacidades intelectuales de análisis, comparación, modelización, cálculo, graficación, deducción, etc., pueden amplificarse con el uso de la herramienta computacional. Pero hay que tener en cuenta que la disponibilidad de la herramienta no constituye en sí misma una experiencia de aprendizaje. También influye decididamente la existencia de un buen docente, proposición de tareas interesantes, buen material de apoyo como libros, bases de datos, etc., un buen ambiente de trabajo, compromiso institucional y apoyo de los directivos, etc.. [2] Sin embargo a todo esto, muchas veces por cuestiones de espacio, economía, tiempo, ubicación geográfica, etc. El medio computacional, sirve de soporte y de guía acertada al aprendizaje oportuno, sin necesidad urgente de los otros factores antes descritos. INFORMATICA EDUCATIVA: Ing. Priscila Cedillo O. 28 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática Se entiende como informática educativa a la disciplina que estudia la utilización, los efectos y las consecuencias de las tecnologías de la información y el proceso educacional. La informática educativa, intenta introducir al alumno al conocimiento e involucrarlo con el manejo de modernas herramientas tecnológicas. Así podemos decir que esta disciplina se concibe como: “la sinergia de entre la educación y la informática, donde cada una de estas ciencias aporta sus más excelsos beneficios en una relación ganar-ganar” Berríos G. (2001) La informática es bastante dinámica, afectando esto un poco a la enseñanza por problemas de adaptación de estos recursos a los hábitos de trabajo personales. En todo caso, esta herramienta se ha visto muy importante en la mejora de los procesos de enseñanza por varias razones y posibilidades: • La comunicación entre usuarios Ing. Priscila Cedillo O. 29 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática • La relación usuario máquina. En la comunicación entre usuarios, la informática nos permite realizar actividades de comunicación entre otros usuarios que estén aprendiendo o que ya sean expertos, a cualquier distancia y tiempo. Esto se logra a través de la introducción de las redes en los procesos de enseñanza. En la relación usuario-máquina, podemos establecer distintos objetivos (para la auto evaluación de los alumnos, para diagnósticos, para la toma de decisiones en situaciones peligrosas, arriesgadas o difícil de reproducir en la realidad -nos referimos aquí a los espacios virtuales y a los programas de enseñanza asistida por ordenador, a los simuladores, etc. El ordenador nos permite elaborar muchos de nuestros materiales de clase y tareas académicas. Esta posibilidad de auto elaboración de materiales es cada vez más cómoda y posible gracias a la estructura abierta de los Ing. Priscila Cedillo O. 30 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática programas, a la facilidad para tratar los datos de cualquier naturaleza o formatos, y a la disponibilidad de recursos existentes en el mercado. La informática nos permite flexibilidad y adaptabilidad a los ritmos, intereses y posibilidades de los estudiantes. En los casos en que esta comunicación no ha sido buena o existen otras razones individuales y personales de los estudiantes, los materiales de clase -datos o apuntespueden ser guardados en una base de datos con acceso a red, o en CD-Rom disponibles a cualquier tiempo en los laboratorios o salas informáticas de usuarios. De esta forma, la el aprendizaje y la enseñanza que establezcamos se adapta más al ritmo y posibilidades de los estudiantes. Este nuevo concepto está revolucionando la literalidad y la relación de la máquina con el usuario (en cuanto almacenaje y recuperación de información, procesamiento de información,...), y han mejorado los productos de los conocidos programas de Enseñanza Asistida por Ordenador (EAO). EDUCACIÓN A DISTANCIA Y AUTOAPRENDIZAJE [3] Ing. Priscila Cedillo O. 31 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática La Educación a Distancia como modalidad educativa no es reciente, en cambio, son los avances que a nivel mundial se han producido en los últimos años en la computación, la televisión, las comunicaciones y la multimedia los que han dado un nuevo auge a esta modalidad. La educación a distancia o formación a distancia como también se ha dado en llamar se define como un sistema de formación sin condicionamientos de lugar y con pocos condicionamientos de tiempo y ocupación del estudiante. Constituye una modalidad de formación con recursos, medios, sistemas de trabajo y de organización, propios y característicos. El paso del tiempo ha marcado algunas diferencias significativas en los modelos teóricos y paradigmas sobre los cuales se han asentado los desarrollos de esta modalidad a distancia. Nadie duda ya de la conveniencia del uso de las computadoras como medios de enseñanza y más aún cuando es posible hacerlas interactuar a distancia; es por Ing. Priscila Cedillo O. 32 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática ello que en el mundo se realizan enormes esfuerzos por poner en práctica estas ideas. La Información y las Comunicaciones (NTIC) genera nuevas formas de comunicación. Según un conocido autor, los cambios estructurales ocasionados por la implementación de sistemas de redes de información, es la aparición de nuevas variables espacio temporales en la comunicación educativa. Según él, el tiempo y el espacio en los ámbitos educativos tienen las siguientes posibilidades de combinación: • Mismo tiempo y lugar. • Mismo tiempo y distinto lugar. • Distinto tiempo y mismo lugar. • Distinto tiempo y lugar. El tipo de comunicación establecida en el primer tipo es el tradicional, aquel en que los alumnos y profesores se encuentran cara a cara. La última combinación corresponde con los procesos de educación a distancia entendida esta en el sentido convencional. Y las otras dos posibilidades son las que nacen con las NTIC, y sobre todo, Ing. Priscila Cedillo O. 33 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática con las redes. Nos encontramos ante un flujo comunicativo global. La educación tradicional podría resumirse en una interacción simbólica entre el maestro y el estudiante, en la que el primero transmitía al segundo su propia interpretación del mundo, con muy pocas posibilidades de que esta interpretación pudiera ser contrastada desde otras perspectivas. Además de los textos escritos a que tuviesen acceso los profesores y alumnos, del seno familiar y del entorno social inmediato, no existían fuentes donde contrastar la interpretación que de la realidad hace el profesor. La aparición del cine y la radio, primero, la televisión y las NTIC después, ha generado una revolución informativa que amplía las posibilidades de interacción del alumno con el mundo que los rodea. Si partimos de la idea de que las nuevas tecnologías generan nuevas formas de comunicación y si estas transformaciones repercuten en el proceso de enseñanza aprendizaje, puede justificarse el por qué preocupación de algunos autores Ing. Priscila Cedillo O. 34 de la al respecto de la Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática urgencia de trabajar a favor de una alfabetización audiovisual que comprenda las NTIC. La Educación a Distancia elimina las rígidas fronteras de espacio y tiempo que la clase impone. Demuestra que es posible que los congregados en el participantes aprendan sin estar mismo sitio y al mismo tiempo. No obstante esto, la computadora no siempre estuvo presente como el medio principal de esta modalidad educativa, solo las últimas dos décadas del pasado siglo la transformaron de mero medio de enseñanza en protagonista diversificando el uso que de ella se hacía, no solo ya como soporte de materiales digitales y/o como herramienta ideal para soportar software educativo con fines específicos, sino como el principal medio de comunicación entre discente y docente, para la interacción entre los estudiantes de un mismo grupo, y para la interacción en cualquier sentido con la red de redes, y con los diferentes recursos que en ella se encuentran. Ing. Priscila Cedillo O. 35 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática Sin temor a equivocarnos podemos asegurar que educación a distancia implica autoaprendizaje. El autoaprendizaje, según Aurelio Sandoval es el proceso al que se somete un individuo, con el interés de aprender alguna cuestión teórica o técnica, con la conciencia de que deberá lograrlo poniendo su máximo empeño en ello y de que lo hará por sus propios medios, en tiempos que él decida. A consideración de otro autor, el autoaprendizaje es el mecanismo intelectual que funciona en base al criterio 'Prueba-Error', donde la persona tiende a digerir información referente a procesos individuales. Entre sus ventajas para el estudiante pueden mencionarse: -respecto al grupo presencial: • decide su propio ritmo Ing. Priscila Cedillo O. 36 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática • es más consciente de su propio proceso de aprendizaje • su poder de decisión respecto a actividades y contenidos intensifica su motivación • su poder de decisión le ayuda a afianzar los conocimientos adquiridos - respecto al aprendizaje totalmente libre: • cuenta con mayores recursos técnicos y didácticos • puede utilizar aulas expresamente preparadas para el estudio • recibe información y orientación personalmente • las aulas de autoaprendizaje están totalmente adecuadas para el estudio y reúnen el material y aparatos necesarios para el aprendizaje según los criterios más modernos INFLUENCIA DE LAS NUEVAS TECNOLOGÍAS Según criterio de muchos autores son diversos los aportes de las nuevas tecnologías a la enseñanza, y por ello Ing. Priscila Cedillo O. Tesis de Grado 37 Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática pudiéramos pensar que tendríamos entonces todo lo necesario para la ejecución de un exitoso proyecto de educación a distancia pero realmente esta idea no es tan absoluta. Para estructurar bien un curso, tenemos que lograr un buen diseño instruccional y definir a qué estudiantes va dirigido el curso para poder precisar el tipo de lenguaje, el grado de dificultad y la estructura del curso. Tenemos emplearía, que si precisar también deseamos un que curso modalidad se completo de autoaprendizaje con o sin tutoría, un curso semi- presencial, un curso más profundo o menos profundo, un curso que en el que integramos teoría y prácticas. Finalmente tenemos que analizar las herramientas de las que disponemos, por ejemplo los cursos de autoaprendizaje deberían contener una elevada dosis de complementos multimedia, por ello algunos, por su peso en bytes, van en formato CD. Un gran número de personas inmersas en esta revolución en la enseñanza, consideran que una Institución dedicada Ing. Priscila Cedillo O. 38 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática a la Educación Superior a Distancia debe tener determinadas características sobre las que debemos reflexionar en nuestras universidades y entre las que podemos encontrar: • Necesidad de una estructura administrativa racionalizada • Necesidad de un sistema integrado de educación a distancia RESUMIENDO LOS CAMBIOS: La educación a distancia introduce cambios en la concepción del desarrollo de la educación tradicional que pudieran resumirse de la siguiente forma: MODELO TRADICIONAL Conferencias teóricas Asimilación pasiva NUEVO MODELO Estudio individual Asimilación activa El profesor El profesor Ing. Priscila Cedillo O. 39 IMPLICACIONES TECNOLÓGICAS PC con acceso a red de información Requiere desarrollo de conocimientos y aplicación de modelos. Se puede acceder Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática como protagonista. Contenido estable como guía a expertos en la red Requiere de la red y de herramientas de publicación e impresión Homogeneidad Diversificación Requiere variedad de herramientas de acceso y de métodos. Esquemas Flexibilidad Actualización inmóviles académica permanente y rápida de la información por materia. Horario fijo Horario PC con acceso a flexible red, acceso a email Tabla 1 Cambios en la concepción del desarrollo de educación tradicional No obstante la Cambio rápido del contenido educación a distancia no puede considerarse una panacea, ella genera también problemas, si bien algunos fáciles de solucionar, otros, aquellos que tienen que ver con estructuras difíciles de modificar, no tanto. Algunos de ellos pueden resumirse en: Ing. Priscila Cedillo O. 40 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática • Necesidad de cambios en las normas, reglamentos y estructuras de toma de decisiones • Roles y responsabilidades establecidos de profesores, departamentos, facultades, y universidades enteras • Necesidad de recursos financieros para iniciar y entonces mantener altos costos de alta tecnología • Necesidad de una infraestructura tecnológica en las instituciones para el desarrollo de programas de educación a distancia • Necesidad de superación y actualización del profesorado en la adopción de nuevas tecnologías • Necesidad de evaluación continua para informar la toma de decisiones en cuanto a los diseños, técnicas, y métodos de la educación a distancia • Necesidad de adaptación del currículum a los nuevos modelos de aprendizaje a distancia. • Dificultades de comunicación entre técnicos y académicos • El reto de convencer a los profesores de los beneficios de involucrarse en la instrucción en línea Ing. Priscila Cedillo O. 41 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática • Mantenimiento del enfoque central en el aprendizaje en vez de las tecnologías Establecimiento de servicios en apoyo de aprendizaje a distancia En consecuencia, una persona culta, en relación al acceso a la información a través de las nuevas tecnologías requiere: 9 Dominar el manejo técnico de cada tecnología (conocimiento práctico del hardware y el software que emplea cada medio) 9 Poseer un conjunto de conocimientos y habilidades específicos que les permitan buscar, seleccionar, analizar, comprender y recrear la enorme cantidad de información a la que se accede a través de las nuevas tecnologías. 9 Desarrollar un cúmulo de valores y actitudes hacia la tecnología de modo que no se caiga ni en un posicionamiento tecnofóbico (es decir, que se las rechace Ing. Priscila Cedillo O. sistemáticamente 42 por considerarlas Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática maléficas) ni en una actitud de aceptación acrítica y sumisa de las mismas. Parece necesario defender el cambio del significado y sentido de la educación en relación a la cualificación y formación en el dominio de la tecnología. Esto debe significar el desarrollo de procesos formativos dirigidos a que la ciudadanía: aprenda a aprender; sepa enfrentarse a la información (buscar, seleccionar, elaborar, difundir); se cualifique laboralmente para el uso de las NTIC; tome conciencia de las implicaciones económicas, ideológicas, políticas y culturales de la tecnología en nuestra sociedad. Realmente en los últimos veinte años aproximadamente la acelerada evolución de las tecnologías de la información y las comunicaciones ha generado muchas expectativas en lo que se refiere a la productividad de la formación a distancia. Desde los primeros paradigmas de la educación a distancia se ha evolucionado hacia formas más abiertas, flexibles y ricas en la utilización de los recursos tecnológicos. Ing. Priscila Cedillo O. 43 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática El nuevo paradigma sitúa el control del aprendizaje en manos del usuario dándole la posibilidad de escoger entre distintos itinerarios y estrategias de aprendizaje. Posibilita el acceso, tratamiento y difusión de todo tipo de informaciones -en forma digital-, con una respuesta inmediata a las demandas del usuario, con lo que se asegura una interacción eficaz. 2.2. CARACTERISTICAS REQUERIDAS POR UN SISTEMA DE AUTOAPRENDIZAJE Al tratarse de un software de auto-aprendizaje, debemos tener en cuenta aspectos pedagógicos para su diseño. Entre ellos tenemos: 1.- Facilidad de uso e instalación. Con el abaratamiento de los precios de los ordenadores y el creciente reconocimiento de sus ventajas por parte grandes sectores de la población, para que los programas puedan ser realmente utilizados por la mayoría de las personas es necesario que sean Ing. Priscila Cedillo O. 44 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática agradables, fáciles de usar y autoexplicativos, de manera que los usuarios puedan utilizarlos inmediatamente sin tener que realizar una exhaustiva lectura de los manuales ni largas tareas previas de configuración. En cada momento el usuario debe conocer el lugar del programa donde se encuentra y tener la posibilidad de moverse según sus preferencias: retroceder, avanzar, etc. Un sistema de ayuda on-line solucionará las dudas que puedan surgir. En el caso del sistema de auto-aprendizaje, en esta tesis planteado, se tendrán ayudas en línea, las mismas que permitirán saber que exactamente es lo que se hace y se obtendrá como resultado a las diferentes acciones. 2.- Versatilidad (adaptación a diversos contextos). Otra buena característica de los programas, desde la perspectiva de su funcionalidad, es que sean fácilmente integrables con otros medios didácticos en los diferentes contextos formativos, pudiéndose adaptar a diversos: Ing. Priscila Cedillo O. 45 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática - Entornos (aula de informática, clase con un único ordenador, uso doméstico). En nuestro caso, se deberá tener en cuenta, que el sistema puede ser utilizado en el hogar o en la empresa. - Estrategias didácticas (trabajo individual, grupo cooperativo o competitivo). En este caso el trabajo siempre se percibirá como individual para el usuario, pero al ejecutarse en red, se podrá utilizar desde cualquier estación de trabajo. - Usuarios (circunstancias culturales y necesidades formativas). En este caso, se necesita que el usuario, tenga claros los conceptos básicos de redes, así como por ejemplo, todo lo que es direccionamiento IP, interfaces, conceptos básicos de hardware, etc. Para que los programas logren versatilidad conviene que tengan unas características que permitan su adaptación a diversos contextos. Por ejemplo: • Que sean programables, abiertos y que incluyan un sistema de evaluación y seguimiento, que permitan la Ing. Priscila Cedillo O. 46 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática modificación de algunos parámetros: grado de dificultad, tiempo para las respuestas, número de usuarios simultáneos, idioma, etc. Para nuestro caso, en el sistema de auto-evaluación se presenta de forma clara esta característica, ya que las preguntas de los cuestionarios, serán dinámicas y también se podrá personalizar la evaluación de cada una de ellas, se tendrá que tener en cuenta que las preguntas deberán ser de opción múltiple, para que faciliten al sistema en su evaluación. • Que permitan continuar los trabajos empezados con anterioridad. Se podrá continuar con la labor de auto-evaluación ya que se guardará el usuario con las respuestas, para que luego pueda seguir contestándolas. 3. Calidad del entorno audiovisual.- El atractivo de un programa depende mucho de su eficiencia en la comunicación con el usuario. Dentro de este aspecto se debe tomar en cuenta: Ing. Priscila Cedillo O. 47 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática • Diseño general claro y atractivo de las pantallas, este no debe incluir un exceso de texto y debe realzar a simple vista los hechos notables. • Calidad técnica y estética en sus elementos, títulos menús, ventanas, íconos, botones, espacios bien proporcionados, etc. • Elementos multimedia, gráficos, fotografías, animaciones, videos, voz, música, etc. • Estilo y lenguaje, tipografía, color, composición, metáforas del entorno. • Adecuada integración de medias, al servicio del aprendizaje, sin sobrecargar la pantalla, bien distribuidas, con armonía. 4. Calidad en los contenidos (bases de datos) • La información que se presenta es correcta y actual, se presenta adecuadamente: bien estructurada datos objetivos, diferenciando opiniones y elementos fantásticos. • Los textos no tienen faltas de ortografía y la construcción de las frases es correcta. Ing. Priscila Cedillo O. 48 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática • No hay discriminaciones. Los contenidos y los mensajes no son negativos ni tendenciosos, y no hacen discriminaciones por razón de sexo, clase social, raza, religión y creencias. • La presentación y la documentación, deben ser claras y completas, tanto para el usuario como para el programador por medio de interfaces claras y de código fuente bien documentado. 5. Navegación e interacción Los sistemas de navegación y la forma de gestionar las interacciones con los usuarios determinarán en gran medida su facilidad de uso y amigabilidad. Conviene tener en cuenta los siguientes aspectos: Mapa de navegación: Buena estructuración del programa que permita acceder bien a los contenidos, actividades, niveles y prestaciones en general. Sistema de navegación: Entorno transparente que permite que el usuario tenga el control. Eficaz pero sin Ing. Priscila Cedillo O. 49 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática llamar la atención sobre sí mismo. Puede ser: lineal, paralelo, ramificado. Velocidad adecuada: Entre el usuario y el programa (animaciones, lectura de datos, etc) El uso del teclado: Los caracteres escritos se ven en pantalla y pueden corregirse. El análisis de las respuestas: Debe por ejemplo ignorar diferencias no significativas como espacios en blanco, etc. La gestión de preguntas, respuestas y acciones: Debe ser adecuado y eficiente. La ejecución del programa: Debe ser fiable, no tener errores de funcionamiento. 6. Originalidad y uso de tecnología avanzada: Resulta deseable que los programas presenten entornos originales, bien diferenciados de otros materiales didácticos, y que utilicen las crecientes potencialidades del ordenador y de las tecnologías multimedia e hipertexto en general, yuxtaponiendo dos o más sistemas simbólicos de manera Ing. Priscila Cedillo O. 50 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática que el computador resulte intrínsecamente potenciador del proceso de aprendizaje, favoreciendo la asociación de ideas y la creatividad y permitiendo la práctica de nuevas técnicas, la reducción del tiempo y del esfuerzo necesarios para aprender y facilitar aprendizajes más completos y significativos. 1. Capacidad de motivación: Para que se realice el aprendizaje o auto-aprendizaje es necesario que el contenido sea interesante y significativo para el usuario y que este tenga la voluntad de aprender los contenidos almacenados. Así para motivar al estudiante, las actividades de los programas deben despertar y mantener la curiosidad y el interés de los usuarios hacia los temas tratados, sin provocar ansiedad y evitando que los elementos adicionales interfieran distrayendo al alumno. 8. Adecuación a los usuarios y a su ritmo de trabajo. Los buenos programas tienen en cuenta las características iniciales de los estudiantes a los que van dirigidos Ing. Priscila Cedillo O. 51 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática (desarrollo cognitivo, capacidades, intereses, necesidades) y los progresos que vayan realizando. Cada sujeto construye sus conocimientos sobre los esquemas cognitivos que ya posee, y utilizando determinadas técnicas. Esta adecuación se manifestará en tres ámbitos principales: Contenidos: extensión, vocabulario, estructuras estructura y gramaticales, profundidad, ejemplos, simulaciones, gráficos, etc. Los contenidos deben ser significativos, para los usuarios y estar relacionados con situaciones y problemas de su interés. Actividades: tipo de interacción, duración, elementos motivacionales, mensajes de corrección de errores y ayuda, niveles de dificultad, itinerarios, progresión y profundidad de los contenidos según los aprendizajes realizados (algunos programas tienen un pre-test para determinar los conocimientos iniciales de los usuarios) Ing. Priscila Cedillo O. 52 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática Entorno de comunicación: pantallas, sistema de navegación, mapa de navegación, etc. 9. Potencialidad de los recursos didácticos: los buenos programas multimedia utilizan potentes recursos didácticos para facilitar los aprendizajes de los usuarios. Tales como resúmenes, esquemas, códigos verbales, etc. Autorización de las acciones de los estudiantes, orientando su actividad y prestando ayuda cuando lo necesiten. En nuestro caso, se utilizarán resúmenes claros sobre la materia en cuestión. Los mismos que serán extraídos de diferentes fuentes y puestos en el sistema de una manera clara y gramaticalmente correcta. 10. Fomento de la iniciativa y el auto-aprendizaje: las actividades de los programas educativos deben potenciar el desarrollo de la iniciativa y el aprendizaje autónomo de los usuarios, proporcionando herramientas cognitivas para que los estudiantes hagan el máximo uso de su potencial de aprendizaje, puedan decidir las tareas a realizar, la forma de llevarlas a cabo, el nivel de profundidad de los temas y puedan autocontrolar su trabajo. Ing. Priscila Cedillo O. 53 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática 11. Enfoque pedagógico actual. El aprendizaje es un proceso activo en el que el sujeto tiene que realizar una serie de actividades para asimilar los contenidos informativos que recibe. Según repita, reproduzca o relacione los conocimientos, realizará un aprendizaje repetitivo, reproductivo o significativo. Las actividades de los programas convienen que estén en consonancia con las tendencias pedagógicas actuales, para que su uso en las aulas y demás entornos educativos provoque un cambio metodológico en este sentido. Por lo tanto, los programas evitarán la simple memorización y presentarán entornos heurísticos centrados en los estudiantes, que tengan en cuenta las teorías constructivistas y los principios del aprendizaje significativo, donde, además de comprender los contenidos, puedan investigar y buscar nuevas relaciones. Así, el estudiante se sentirá constructor de sus aprendizajes mediante la interacción con el entorno que le proporciona el programa (mediador) y a través de la reorganización de sus Ing. Priscila Cedillo O. 54 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática esquemas de conocimiento, ya que aprender significativamente supone modificar los propios esquemas de conocimiento, reestructurar, revisar, ampliar y enriquecer las estructuras cognitivas. 12. La documentación: Aunque los programas sean fáciles de utilizar y auto explicativos, conviene que tengan una información que informe detalladamente de sus características, forma de uso y posibilidades didácticas. Esta documentación (on-line o en papel) debe tener una presentación agradable, con textos bien legibles y adecuados a sus destinatarios, y resultar útil, clara, suficiente y sencilla. Podemos distinguir tres artes: • Ficha resumen, con las características básicas del programa. • El manual del usuario. Presenta el programa, informa sobre su instalación y explica sus objetivos, contenidos, destinatarios, modelo de aprendizaje que propone, así como sus opciones y funcionalidades. También sugiere la realización de diversas actividades complementarias y el uso de otros materiales. Ing. Priscila Cedillo O. 55 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática • La guía didáctica con sugerencias didácticas y ejemplos de utilización que propone estrategias de uso y indicaciones para su integración curricular. Puede incluir fichas de actividades complementarias, test de evaluación y bibliografía relativa del contenido. 13. Esfuerzo Las cognitivo. actividades de los programas, contextualizadas a partir de los conocimientos previos e intereses de los estudiantes, deben facilitar aprendizajes significativos y transferibles a otras situaciones mediante una continua actividad mental en consonancia con la naturaleza de los aprendizajes que se pretenden. Así, desarrollarán las capacidades y las estructuras mentales de los estudiantes y sus formas de representación del conocimiento (categorías, secuencias, redes conceptuales, representaciones visuales) mediante el ejercicio de actividades cognitivas del tipo: control psicomotriz, memorizar, comprender, comparar, relacionar, calcular, analizar, sintetizar, crear, experimentar, explorar, etc. Ing. Priscila Cedillo O. 56 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática CAPITULO 3: CONFIGURACION DE SERVIDORES 3.1. SERVIDOR NAT (Network Address Translation) Un servidor NAT, permite intercambiar paquetes entre dos redes que se asignan mutuamente direcciones incompatibles. Este convierte en tiempo real las direcciones utilizadas en los paquetes transportados. Esto se utiliza cuando el número de direcciones privadas es mayor al número de direcciones públicas asignadas. Así sólo pudieran salir al Internet con las direcciones asignadas por el ISP, pero cuando el número de direcciones privadas es mayor, entonces este servidor lo que hará es traducir las direcciones privadas a la dirección pública al envío de los paquetes y hará el proceso contrario para la recepción de los mismos. NAT, es un protocolo utilizado tanto por computadores que harán las veces de un router, como por los aparatos de ruteo físicos existentes. Ejemplo: Si un ordenador intenta conectar a www.google.com, mediante el NAT, se procesa la petición Ing. Priscila Cedillo O. 57 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática y la envía. Una vez recibida la respuesta, reconoce para quién es esa respuesta y la redirecciona dentro de la LAN al ordenador que la pidió, de forma transparente. Este proceso es también llamado MASQUERADING. NAT. 3.1.1. USOS DEL NAT Un servidor NAT (Network Address Translator), cumple la función de un router. En Linux tenemos una herramienta no tan visual, pero es muy potente en relación con otros software. Esta herramienta se llama IPTABLES, esta controla y sirve como router y lógicamente también como firewall, ya que podemos establecer las peticiones que queremos denegar si alguien intenta ingresar por algún puerto peligroso. 3.1.1.1.- Conexiones Dial Up con módem La mayoría de los ISP dan una sola dirección al momento de la conexión, pudiéndose enviar paquetes con cualquier dirección, pero se obtendrá respuesta de paquetes sólo Ing. Priscila Cedillo O. 58 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática con esa IP de origen. Dentro de una LAN para conectar Internet a través de un enlace se necesita NAT. 3.1.1.2.- Varios Servidores Se puede querer cambiar el destino de los paquetes que entran en la red. Con frecuencia esto se debe, a que sólo tienen una dirección IP, pero se requiere que los usuarios sean capaces de llegar a las máquinas detrás de la que tiene la IP (Servidor de Internet de la Lan). Si se reescribe el destino de los paquetes entrantes esto será posible. 3.1.1.3- Proxy Transparente En ciertas ocasiones se necesita simular que cada paquete que pase por su máquina Linux esté destinado a un programa en la máquina utilizada. Esto se usa para hacer proxys transparentes: un Proxy es un programa que se pone entre su red y el mundo real, filtrando las comunicaciones entre ambos. La parte transparente se debe a que su red nunca tendrá porqué enterarse de que Ing. Priscila Cedillo O. 59 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática está comunicándose con un Proxy, a menos, que el Proxy no funcione. 3.1.2. TIPOS DE SERVIDORES NAT: 3.1.2.1.- Source NAT Cuando se altera el origen del primer paquete, es decir cambiamos el lugar de donde viene la conexión. Source NAT se hace siempre después del encaminamiento, justo antes de que el paquete salga por el cable. El enmascaramiento es una forma especializada de SNAT. 3.1.2.2.- Destination NAT Es cuando se altera la dirección de destino del primer paquete, es decir se cambia la dirección a donde se dirige la conexión, este método se realiza antes del enmascaramiento, cuando el paquete entra por el cable. El Ing. Priscila Cedillo O. 60 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática port forwarding, el balanceo de carga y el Proxy transparente son formas de DNAT. 3.1.3. CONFIGURACIÓN BÁSICA DE UN SERVIDOR NAT FILTRAR PAQUETES QUE PASAN POR NAT Se requiere crear reglas que digan al núcleo que conexiones cambiar y cómo hacerlo. Para ello utilizaremos una herramienta llamada iptables. La tabla de reglas NAT contiene tres cadenas: cada regla se examina por orden hasta que una coincide. NOMBRE DE LAS REGLAS: • Prerouting (PREROUTING).- Según los paquetes entran. • Postrouting (POSTROUTING).- Según los paquetes salen. • Output (OUTPUT).- Para destination nat con los paquetes generados en la propia máquina. PREROUTING D-NAT Ing. Priscila Cedillo O. DESICION DE ENCAMINAM. POSTROUTING S-NAT 61 Ilustración 1. Configuración de un Servidor NAT Tesis de Grado OUTPUT D-NAT Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática Para configurar estas IPTABLES, debemos ejecutar ciertas instrucciones: Para comprobar que tenemos IPTABLES cargado, ejecutamos el comando: chkconfig --list | grep iptables Una vez ejecutado ese comando nos aparecerá en la pantalla la siguiente respuesta: iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off Vaciamos todas las reglas que pudiera haber anteriormente: iptables -flush iptables -table nat -flush Ing. Priscila Cedillo O. 62 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática iptables -delete-chain iptables -table nat -delete-chain Activamos FORWARDING y MASQUERADING : iptables -table nat -append POSTROUTING -outinterface ppp0 -j MASQUERADE iptables -append FORWARD -in-interface eth0 -j ACCEPT Se supone en este ejemplo que la tarjeta de red eth0 es la que corresponde a la red local. Una vez que se conecta se crea la conexión ppp0. Se debe utilizar un programa para conexión. Por ejemplo si se utiliza el raspppoe, se ve tecleando adsl-status. Ahora activamos el soporte de "packet forwarding" en el núcleo: echo 1 >/proc/sys/net/ipv4/ip_forward Ing. Priscila Cedillo O. 63 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática Para asegurarnos que lo hemos hecho bien, podemos hacer una comprobación: cat /proc/sys/net/ipv4/ip_forward y esto debe imprimir en pantalla un 1. A continuación se deben guardar las reglas definidas: service iptables save Al momento de realizar ya este ultimo paso, se termina de configurar el servidor nat. Se puede finalmente ya conectar un ordenador, teniendo en cuenta que la puerta de enlace este bien configurada. En Linux: se puede utilizar la herramienta Linuxconf, se busca el campo Gateway y se ingresa la IP del ordenador que hace de NAT, por ejemplo 192.168.0.1. Después buscamos DNS y ponemos la misma dirección. A continuación se reinician los servicios de la red. 3.2. REDES INALAMBRICAS DE AREA LOCAL– WIRELESS LAN Ing. Priscila Cedillo O. 64 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática Las redes inalámbricas, son una forma fácil y cómoda de acceder a los servicios de conectividad de una red de área local, sin necesidad de la utilización de cables o medios de enlace físico sin los cuales, en la tecnología alámbrica serían imposibles alcanzar. Estas redes son una forma fácil, cómoda y económica de compartir recursos entre los equipos de una organización tales como internet, archivos, impresoras, aplicaciones, etc. Las normas que rigen esta tecnología son las IEEE 802.11, en sus versiones a,b, y g; siendo diseñadas para sustituir la capa física y MAC de la norma Ethernet 802.3; la única diferencia entre ellas es la manera en la que los dispositivos acceden a la red, por lo que ambas normas son compatibles entre sí. Es necesario tener en cuenta en este tipo de redes aspectos como seguridades, debido a que son redes vulnerables a ataques. 3.2.1. CONFIGURACION DE LAS TARJETAS DE RED Ing. Priscila Cedillo O. 65 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática Para el presente caso, bajo la utilización del sistema operativo Fedora en su versión Core 5, los pasos para la instalación de tarjetas de red inalámbricas son los siguientes (previa la introducción al sistema como root): 3.2.1.1. Obtención del repositorio Livna El repositorio Livna es útil para instalar cosas que no son proporcionadas por Fedora de manera directa. Este repositorio nos va a ser útil para descargar una herramienta que nos será de ayuda al momento de obtener los controladores de la tarjeta de red inalámbrica. Una de las maneras de obtener este paquete, y la utilizada para esta aplicación es la siguiente: #rpm –rvh http://rpm.livna.org/livna_release_5.rpm 3.2.1.2. Obtención del paquete ndiswrapper El paquete Ndiswrapper es un envolvedor de drivers de código abierto, que permite el uso de la mayoría de las tarjetas inalámbricas en Linux, haciendo que se ligue en forma dinámica el controlador de Windows a esta implementación. Ing. Priscila Cedillo O. 66 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática Este paquete es de gran importancia, debido a que muchos fabricantes no distrubuyen los drivers de sus tarjetas inalámbricas. La instalación de este paquete se lo puede hacer de dos maneras, la primera, para versiones Fedora diferentes a Core 5, se lo descarga directamente de internet, y se ejecuta el make del paquete para su instalación. La segunda, para Fedora 5, se la debe realizar directamente desde el sistema operativo, previa la instalación del repositorio Livna, con el siguiente comando: #yum –y install ndiswrapper.i386 Una vez ejecutado este comando, se procede a la obtención e instalación del paquete ndiswrapper. 3.3.1.3. Instalar la tarjeta Wireless Si ya hemos instalado el paquete ndiswrapper, nos queda realizar la conversión del driver de Windows al de Linux, para realizar este paso se deberá copiar el driver Windows de la tarjeta inalámbrica (el mismo que generalmente viene dado con la extensión .inf), en una carpeta de Linux, y a Ing. Priscila Cedillo O. 67 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática continuación deberemos en la línea de comandos ubicarnos en la ubicación creada, ejemplo: #cd /drivers/dell1300/wlan Una vez ubicados en la carpeta que contiene el driver ejecutamos el siguiente comando: #ndiswrapper –i [nombre driver].inf Para este caso: #ndiswrapper –i bcmwl5.inf En este comando la instrucción ndiswrapper –i instala el driver. Para verificar que el driver este instalado, ejecutamos el siguiente comando: #ndiswrapper –l Si se ha tenido suerte en la instalación del driver, podremos observar en la pantalla el siguiente mensaje: bcmwl5.inf driver present, hardware present a continuación reiniciamos el equipo. Ing. Priscila Cedillo O. 68 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática Una vez que hemos hecho un reboot, ejecutamos en línea de comandos lo siguiente: #modprobe ndiswrapper #dmesg | grep ndiswrapper Este comando nos sirve para comprobar que se han cargado con éxito los drivers. Concluimos la instalación con el comando #ndiswrapper –m Después de todos estos pasos obtenemos el siguiente mensaje: Adding “alias wlan0 ndiswrapper” to /etc/modprobe.conf 3.2.2. CONFIGURACION BASICA DE UNA RED WIRELESS Una vez instalada la tarjeta de red, nos queda configurar los parámetros de la red a la que nos intentaremos conectar. Ing. Priscila Cedillo O. 69 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática El paso siguiente, será levantar la tarjeta de red inalámbrica, esto se logra a través del comando: #ifconfig wlan0 up En este comando wlan0 es el nombre de la tarjeta de red. Si ejecutamos el comando #ifconfig wlan0 up, podremos observar que la tarjeta está funcionando. Deberemos tener un dhcp cliente funcionando en el caso de que el Access point vaya a proveernos automáticamente la dirección, caso contrario únicamente pondremos la dirección de red estática. A continuación verificamos con iwconfig que la tarjeta de red este correctamente funconando y escaneamos las redes inalámbricas disponibles con: #iwlist wlan0 scan Asignamos el ESSID (nombre de la red) #iwconfig wlan0 EESID “nombre red” Le asignamos adicionalmente el DHCP Ing. Priscila Cedillo O. 70 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática #dhcpd wlan Esa es toda la configuración para la red inalámbrica. 3.2.3. TIPOS DE REDES INALAMBRICAS Básicamente, existen 2 tipos de redes inalámbricas: la "AdHoc" y la "Infraestructure". La primera es una conexión de tipo "punto a punto" en la que los clientes se conectan directamente unos con otros Simplemente envían los paquetes de información "al aire", con la esperanza de que lleguen a su destino. En la red "Infraestructure" se utiliza un dispositivo llamado punto de acceso, que funciona como el Switch tradicional. Envía directamente los paquetes de información a cada ordenador de la red. El Hub incrementa la velocidad y eficiencia de la red y es imprescindible para soluciones profesionales. 3.2.4. RECOMENDACIONES EN EL USO: Las recomendaciones en el uso de una red inalámbrica bajo el sistema operativo Fedora, serian las siguientes: Ing. Priscila Cedillo O. 71 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática • Obtener el driver correcto para Windows, en formato .inf • Descargar el paquete Livna, debido a que sin este, el yum del ndiswrapper no funcionará. • Tener en cuenta, que antes de la instalación, es imprescindible estar conectado al internet (obviamente por una red alámbrica). • Observar aspectos claves tales como las seguridades, debido a que una red inalámbrica, es mucho más fácil de atacar por un hacker o un usuario malintencionado. • Si se cuenta con una versión de kernel que soporte el instalador del ndiswrapper, mejor utilizar este medio ya que es más rápido de utilizar y portable. 3.3. VPN (REDES PRIVADAS VIRTUALES) Las redes privadas virtuales son una tecnología de red que permiten una extensión de la red local sobre una red pública o no controlada, por ejemplo Internet. Ing. Priscila Cedillo O. 72 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática Ilustración 2.- RED PRIVADA VIRTUAL 3.3.1. USOS DE LAS REDES PRIVADAS VIRTUALES Existen varias y muy fuertes razones para utilizar una red privada virtual, entre las principales tenemos: ¾ La conexión de dos oficinas remotas, utilizando como vínculo la red de redes. Ing. Priscila Cedillo O. 73 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática ¾ Se puede utilizar también para la administración remota de la empresa, ya que utilizar una red privada virtual, es igual a estar dentro de la red local. ¾ Pueden ser muy útiles también para un usuario que necesita una muy alta movilidad, es decir que viaja constantemente de un lugar a otro y que necesita los datos corporativos en línea. Ilustración 3.- Usos de las VPN 3.3.2. SEGURIDADES EN UNA RED PRIVADA VIRTUAL: Una red privada virtual, garantiza las siguientes condiciones: Ing. Priscila Cedillo O. 74 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática ¾ Confidencialidad ¾ Autenticidad ¾ Integridad Para cumplir con esas condiciones, los paquetes Ip a ser transmitidos se cifran para garantizar la confidencialidad y se firman para garantizar la autenticidad y la integridad. Para garantizar la seguridad, las VPN, pueden comunicarse a través de protocolos que inmiscuyen aspectos muy relevantes a las seguridades y estos son: 3.3.2.1. PPTP El PPTP es un protocolo de túnel VPN definido por el foro PPTP y en él los paquetes PPP se encapsulan en los paquetes IP. Todas las versiones de Windows incluyen el sofware necesario para acceder a una VPN basada PPTP, y para Linux, también existen tanto el lado del servidor como del cliente pptp. Ing. Priscila Cedillo O. 75 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática 3.3.2.2. L2TO Es una extensión del protocolo PPTP utilizado generalmente por proveedores de servicios de Internet (ISP) para creación de túneles seguros en su red IP (por ejemplo entre usuarios). 3.3.2.3. IPSec El IPSec es una extensión del protocolo IP ideado y administrado por la IETF (Internet Engineering Task Force) y que aporta seguridad al actual estandard universal IP (tanto v4 como v6). IPSec puede proteger cualquier protocolo que se ejecute sobre IP, por ejemplo TCO, UDP e ICMP. IPSec proporciona servicios criptográficos para autentificación, seguridad, control de acceso y de confidencialidad. 3.3.3. RECOMENDACIONES EN EL USO DE LAS VPN Como recomendaciones generales, tenemos lo siguiente: Ing. Priscila Cedillo O. 76 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática *Al momento de generar las claves, y trasladarlas, debemos tener especial cuidado en la manera en la que divulgamos la clave, para que no sea interceptada, por personas o programas maliciosos. *Debemos tener en cuenta que las direcciones IP de la red privada virtual, son totalmente diferentes. *Existen varios tipos de protocolos dirigidos para realizar estas redes, al momento de la elección, debemos escoger un protocolo de facil uso, que ofrezca caracteristicas sólidas de seguridad. *Existen muchas maneras de configurar OPENVPN, la forma realizada en este software es básica, para ver otros modos de configuración, se puede hacer mediante el siguiente comando: #rpm -qd openvpn 3.3.4. CONFIGURACION BASICA DE UNA RED PRIVADA VIRTUAL Ing. Priscila Cedillo O. 77 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática OBTENEMOS EL PAQUETE OPENVPN Utilizaremos el paquete de creación de redes virtuales OPEN VPN, ya que es una herramienta robusta y altamente flexible. Para este paso utilizaremos el siguiente comando (cabe recalcar que todos estos pasos se deben ejecutar en ambos lados de la VPN) #yum -y install openvpn GENERACION DE CLAVES Generamos la clave para la autentificación de los extremos de la VPN. Para ello primero accedemos a la carpeta OPENVPN, eso lo conseguimos con los siguientes comandos: #openvpn --genkey --secret clave.key CREAMOS EL ARCHIVO tunel.conf Ing. Priscila Cedillo O. 78 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática EN LA MAQUINA A Y EN LA B: Este archivo de configuración de la VPN, establecerá los parámetros de conexión, y estará ubicado en la carpeta /etc/openvpn/ ARRANCAMOS EN MODO EXTENDIDO EL TUNEL PARA VER QUE LA VPN FUNCIONA CORRECTAMENTE # openvpn --verb 5 --config /etc/openvpn/tunel.conf 3.4. NFS (NETWORK FILE SYSTEM) El NFS-Sistema de archivos de red, es un protocolo que según el modelo OSI funciona a nivel de aplicación y es utilizado para sistemas de archivos distribuidos en un entorno LAN. El NFS, se divide en dos partes principales: un servidor y uno o más clientes. Los clientes, acceden de forma remota al servidor, para extraer o compartir datos. Ing. Priscila Cedillo O. 79 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática 3.4.1. USOS DE NFS: NFS, es usado, para compartir archivos en toda la red de área local, haciendo que las estaciones de trabajo utilicen menos espacio de disco, debido a que los datos se encuentran centralizados en un único lugar, pero pueden ser accedidos y modificados por varios usuarios. Los directorios /home pueden ser creados en el servidor NFS, para posteriormente poder acceder a ellos desde cualquier equipo de la red. Como en Linux, los dispositivos son tratados en forma de archivos, mediante NFS, podemos compartir dichos dispositivos tales como disketteras, unidades Zip, CDROM. Ayudando a reducir la información de la organización. El programa NFS, soporta 18 diferentes procedimientos para todas las operaciones básicas de Entrada/Salida, como por ejemplo: Ing. Priscila Cedillo O. 80 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática • LOOKUP: busca un fichero en el directorio actual y si lo encuentra, devuelve un descriptor a ese fichero más información sobre los atributos del fichero. • READ y WRITE: primitivas básicas para acceder el fichero. • RENAME: renombra un fichero. • REMOVE: borra un fichero. • MKDIR y RMDIR: creación/borrado de subdirectorios. • GET y SET-ATTR: Devuelve conjuntos de atributos de ficheros. 3.4.2. CONFIGURACION DEL SISTEMA NFS: 1.- Indicamos que carpetas deseamos compartir 2.- Indicamos los permisos de cada carpeta ya sea de lectura o de lectura y escritura. 3.- Opcional .- Indicamos desde qué Pcs es posible conectarse. 4.- Para ello ingresamos en el archivo /etc/exports Ing. Priscila Cedillo O. 81 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática En cada línea del archivo de configuración del servidor NFS /etc/exports. Se puede especificar: 1.- La carpeta que se quiere compartir. 2.- El modo en que se comparte (sólo lectura 'ro' o lectura y escritura 'rw') 3.- Desde qué PC o Pcs se permite el acceso (nombre o IP del PC o rango de Ips) A continuación se muestra un sencillo archivo /etc/exports para configurar algunas carpetas compartidas. # Compartir la carpeta home del servidor # en modo lectura y escritura accesible desde la red 192.168.0.0/24 /home 192.168.0.0 /255.255.255.0 (rw) #Compartir carpeta tmp a todos como 'solo-lectura' /tmp *(ro) #Compartir carpeta /var/log a un PC como 'solo lectura' Ing. Priscila Cedillo O. 82 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática /var/log 192.168.0.211 (ro) Nota: Los permisos de compartición por NFS no excluyen a los permisos del sistema unix sino que prevalecen los más restrictivos. Si una carpeta está compartida con permiso NFS de lectura y escritura pero en los permisos del sistema solo disponemos de permiso de lectura, no podremos escribir. Si una carpeta está compartida con permisos NFS de3 lectura y disponemos de permisos de lectura y escritura en el sistema, tampoco podremos escribir. Para poder escribir necesitaremos disponer permiso de lectura y escritura tanto en los permisos del sistema como en los permisos de compartición NFS. De igual forma, si compartimos la carpeta /home con permisos de lectura y escritura pero el usuario pepe solo tiene acceso a la capeta /home/pepe, no podrá acceder a ninguna otra carpeta dentro de /home ya que los permisos del sistema se lo impedirán. Cuando se comparte por NFS, se recomienda restringir al máximo los permisos. Si los usuarios no tienen la necesidad de escribir debemos compartir con permiso de Ing. Priscila Cedillo O. 83 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática 'solo lectura'. Si los usuarios no tienen la necesidad de escribir, debemos compartir con permiso de 'solo lectura'. Si los usuarios solo se conectan desde nuestra red 192.168.0.0/24, debemos permitir el acceso solo desde dicha red. 3.4.2.1. ARRANQUE Y PARADA DE NFS. Arranque y parada manual. 1.- Iniciar el portmap. # /etc/init.d/portmap start 2.- Arrancar el servicio NFS. # /etc/init.d/nfs-kernel-server start 3.- Parada del servidor NFS # /etc/init.d/nfs-kernel-server stop 4.- Reiniciar el servidor NFS. # /etc/init.d/nfs-kernel-server restart. 3.4.2.2. EXPORTAR CARPETAS COMPARTIDAS NFS. Ing. Priscila Cedillo O. 84 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática 1.- Ejecutar el comando para montar el sistema: //montar carpeta compartida por NFS: #mount -t nfs ip-del-servidor:/fotos /fotos-servidor Si deseamos que nuestro PC monte siempre de forma automática una carpeta compartida por NFS cuando iniciemos nuestro Linux, existe la posibilidad de añadir en el archivo /etc/fstab una linea como por ejemplo: #ip-del-servidor:/fotos /fotos-servidor nfs De esta manera cuando arranquemos nuestro PC, la carpeta /fotos del servidor quedará automáticamente montada sobre nuestra carpeta /fotos-servidor y no tendremos que ejecutar el comando mount para nada. Ing. Priscila Cedillo O. 85 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática 3.5. DHCP (DINAMIC HOST CONFIGURATION PROTOCOL) Llamado también, Protocolo Dinámico de Configuración de Equipos no es un protocolo específico de Linux, sino que se trata de un estándar para cualquier tipo de sistema conectado a una red TCP/IP. La función básica de este protocolo es evitar que el administrador tenga que configurar manualmente las características propias del protocolo TCP/IP en cada equipo. Para ello, existe en la red un sistema especial, denominado servidor DHCP, que es capaz de asignar la configuración TCP/IP al resto de máquinas presentes en la red, o clientes DHCP, cuando estos arrancan. Entre los datos que más habitualmente proporciona el servidor a los clientes se incluyen: Una dirección IP por cada tarjeta de red o NIC (Network Interface Card) que posea el cliente. • La máscara de subred. • La puerta de enlace o gateway. Ing. Priscila Cedillo O. 86 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática • Otros parámetros adicionales, como el sufijo del dominio DNS, o el propio servidor DNS. En una red pueden convivir equipos que sean clientes DHCP con otros cuya configuración se haya establecido manualmente. Aquellos que estén configurados como clientes DHCP necesitarán encontrar en la red local un servidor DHCP para que les proporciones los parámetros TCP/IP. Cuando un cliente arranca por primera vez, lanza por la red un mensaje de difusión, solicitando una dirección IP. Si en la red existe un solo servidor DHCP, cuando este reciba el mensaje contestará al cliente asociándole una dirección IP junto con el resto de parámetros de configuración. En concreto, el servidor DHCP puede estar configurado para asignar al cliente una dirección IP cualquiera de las que tenga disponibles, o bien para asignarle una dirección en concreto (o dirección reservada), en función de la dirección física de la tarjeta ethernet del cliente. En ambos casos, una vez el cliente recibe el mensaje del servidor, ya tiene Ing. Priscila Cedillo O. 87 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática una configuración IP con la que poder acceder a la red de forma normal. Si en la red hay más de un servidor DHCP, es posible que dos o más servidores escuchen la petición y la contesten. Entonces, el primer mensaje que recibe el cliente es aceptado y el resto son rechazados. Es muy importante resaltar que cuando hay varios servidores DHCP en una misma red local, estos no se comunican entre ellos para saber qué direcciones IP debe asignar cada uno. Es responsabilidad de los administradores que sus configuraciones sean independientes y consistentes. Por tanto, cuando en una misma red TCP/IP existe más de un servidor DHCP, es imprescindible que estén configurados de manera que no puedan asignar la misma dirección IP a dos ordenadores distintos. Para ello basta que los rangos de direcciones IP que puedan proporcionar no tengan direcciones comunes, o, si las tienen, que estas sean direcciones reservadas. En cualquiera de los casos anteriores, desde el punto de vista del cliente los parámetros que ha recibido se Ing. Priscila Cedillo O. 88 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática consideran una concesión, es decir, son válidos durante un cierto tiempo. Cada vez que el cliente arranca, o bien cuando se alcanza el límite de la concesión (lease time) el cliente tiene que solicitar su renovación. El protocolo DHCP es especialmente útil cuando el parque de equipos de una organización se distribuye en varias subredes físicas, y además los equipos cambian de ubicación (de subred) con cierta frecuencia. En este caso, cambiar el equipo de sitio no supone nunca reconfigurar manualmente sus parámetros de red, sino simplemente conectarlo a la nueva red y arrancarlo. 3.5.1. USOS DEL SERVIDOR DHCP DHCP proporciona las siguientes ventajas de administración en una red TCP/IP: Configuración segura y confiable. DHCP evita los errores de configuración que se producen por la necesidad de escribir los valores manualmente en cada equipo. Así mismo, DHCP ayuda a evitar los Ing. Priscila Cedillo O. 89 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática conflictos de direcciones que se producen al configurar un equipo nuevo en la red con una dirección IP ya asignada. Reduce la administración de la configuración. La utilización de servidores DHCP puede reducir significativamente el tiempo necesario para configurar y modificar la configuración de los equipos de la red. Los servidores se pueden configurar para que suministren un conjunto completo de valores de configuración adicionales al asignar concesiones de direcciones. Estos valores se asignan mediante opciones DHCP. Así mismo, el proceso de renovación de concesiones de DHCP ayuda a garantizar que en las situaciones en que sea necesario actualizar a menudo la configuración de los clientes (como en el caso de usuarios con equipos móviles o portátiles que cambian frecuentemente de ubicación), los clientes que se comunican directamente con los servidores DHCP puedan realizar estos cambios de forma eficaz y automática. Ing. Priscila Cedillo O. 90 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática 3.5.2. TIPOS DE SERVIDORES DHCP Existen 3 tipos de asignaciones de DHCP: 3.5.2.1. MANUAL / ESTATICA: El administrador, introduce manualmente una tabla de direcciones. Esta manera de asignación de direcciones, se la realiza con la dirección MAC, la misma que no se repite en toda la red. Esto permite que dicha maquina siempre reciba la misma dirección IP, independientemente de donde y cuando se realice la conexión. 3.5.2.2. AUTOMATICA E ILIMITADA: La asignación se realiza de forma permanente hacia el cliente que la solicita y hasta que este la libera, estas direcciones se toman de un rango previamente establecido por el administrador. 3.5.2.3. DINAMICA Y LIMITADA Cada cliente obtiene su dirección al momento de que inicia su interfaz de red. Mediante esta forma de asignación las direcciones dentro del rango se reutilizan con cada Ing. Priscila Cedillo O. 91 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática máquina y durante un tiempo determinado. Con este método, se facilita enormemente la entrada de nuevas maquinas a la red en forma dinámica. 3.5.3. CONFIGURACION DE UN SERVIDOR DHCP Se debe ejecutar el siguiente comando para constatar la configuración: #ifconfig -a una vez ejecutado este comando, se verá la siguiente información: ***************************************************** eth0 Link encap:10Mbps Ethernet HWaddr 00:C0:4F:D3:C4:62 inet addr:183.217.19.43 Bcast:183.217.19.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:2875542 errors:0 dropped:0 overruns:0 TX packets:218647 errors:0 dropped:0 overruns:0 Interrupt:11 Base address:0x210 Ing. Priscila Cedillo O. 92 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática ***************************************************** Si no existe "MULTICAST" se debería reconfigurar el kernel con soporte multicast. En casi la mayoría de sistemas esto no es necesario, por ello no será tomado en cuenta en este trabajo de Tesis El siguiente paso es añadir una ruta para 255.255.255.255 de acuerdo al README del DHCPd Para ello se deberá añadir: #route add -host 255.255.255.255 dev eth0 Si luego de ejecutar el comando anterior sale un error de host desconocido, entonces se debería añadir la siguiente entrada al archivo /etc/hosts: 255.255.255.255 all-ones Ing. Priscila Cedillo O. 93 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática Una vez realizada la edición del archivo descrito se deberá ejecutar los siguientes comandos: route add -host all-ones dev eth0 o route add 255.255.255.0 dev eth0 en donde eth0 es el nombre del dispositivo que se está usando. OPCIONES PARA DHCPd Ahora se deberá configurar DHCPd. De acuerdo a esto se creará o editará el /etc/dhcpd.conf. Lo más común es que se asignen las direcciones IP randómicamente de la siguiente manera: -------------------------------------------------------------# Sample /etc/dhcpd.conf # (add your comments here) default−lease−time 600; Ing. Priscila Cedillo O. 94 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática max−lease−time 7200; option subnet−mask 255.255.255.0; option broadcast−address 192.168.1.255; option routers 192.168.1.254; option domain−name−servers 192.168.1.1, 192.168.1.2; option domain−name "mydomain.org"; subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.10 192.168.1.100; range 192.168.1.150 192.168.1.200; } --------------------------------------------------------------Esto hará que el servidor DHCP de a cada cliente una dirección IP desde el rago de la 192.168.1.10 - 192.168.1.100 o desde la 192.168.1.150-192.168.1.200. Adicionalmente el tiempo máximo de entrega de IP será 7200 segundos. El servidor configurara la mascara del cliente a la 255.255.255.0, la dirección de broadcast será 192.168.1.255; el gateway/router será 192.168.1.254 y 192.168.1.1 y 192.168.1.2 serán de los servidores DNS. Ing. Priscila Cedillo O. 95 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática Si es necesario especificar un servidor WINS para clientes de windows, se necesitará incluir la opción netbios-nameservers Ejm: option netbios−name−servers 192.168.1.1; Se pueden asignar también direcciones IP basadas en las direcciones MAC de los clientes: Ejm. host haagen { hardware ethernet 08:00:2b:4c:59:23; fixed−address 192.168.1.222; } Y también pueden realizarse asignaciones fijas y dinámicas de direcciones IP. INICIANDO EL SERVIDOR DHCP: Ing. Priscila Cedillo O. 96 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática Hay que tener en cuenta una cosa antes de iniciar el servidor. En la mayoría de los casos DHCP no crea un archivo dhcpd.leases. Este archivo es usado por DHCPd para guardar información acerca de las conseciones recientes. Este está en texto plano. Para crear dhcpd.lease escriba: touch /var/state/dhcp/dhcpd.leases Este creará un archivo vacío (tamaño = 0). Algunas de las versiones anteriores del dhcp están ubicadas en el /etc/dhcpd.leases. No se necesita hacer ningún cambio al archivo y este será manipulado por el dhcpd. Para invocar al servidor: /usr/sbin/dhcpd Ing. Priscila Cedillo O. 97 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática Este invocará al dchpd sobre el dispositivo eth0. Si se quiere invocar sobre otro dispositivo simplemente se debe poner este en la línea de comandos. /usr/sbin/dhcpd eth1 Para verificar que todo esté trabajando bien, usted deberá primero iniciar en modo debbuging y poner el servidor en foreground, esto se logra con el siguiente comando: /usr/sbin/dhcpd -d -f. Luego inicie uno de los clientes y revise que estén asignándose las direcciones. Si se desea que dhcpd inicie al boot-up incluya dhcpd en /etc/rc.d/rc.local 3.5.4. CONFIGURACION DE UN CLIENTE DHCP: 1. Descargar el demonio del cliente dhcpcd 2. Instalar si no existiera Ing. Priscila Cedillo O. 98 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática 3. Posicionarse en la carpeta cd /etc/rc.d 4. En el caso de que exista un rc.inet1 crear una copia para respaldo rc.inet1.OLD 5. Si no existiera este archivo crearlo con la siguiente información: #!/bin/sh # #rc.inet1 Este shell inicia el sistema base INET HOSTNAME='cat /etc/HOSTNAME' #Para adjunar el dispositivo de loopback /sbin/ifconfig lo 127.0.0.1 /sbin/route add -net 127.0.0.0 netmask 255.0.0.0 lo #En el caso de que se tenga una Conexión Ethernet, #se deben usar las líneas de configuración de la #interfaz eth0. Si solo se están usando loopback o #SLIP, no se debe incluir el resto de las lineas de este #archivo. /usr/sbin/dhcpd 6. Reiniciar el computador Ing. Priscila Cedillo O. 99 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática #reboot 7. Luego de que la maquina reinicia se deberá con el comando ifconfig ver la configuración de la red Si se tiene algún número normal bajo la dirección inet address usted lo ha logrado. Si se ve que 0.0.0.0 no desaparece, por favor chequee la configuración El DHCP es un demonio que permanecerá corriendo mientras la máquina esté prendida. Cada 3 horas este contactará al servidor DCHP y tratará de renovar la dirección IP. Se guardará la información de esta configuración en el syslog. /var/log/syslog. Finalmente, se necesitarán especificar los nombres de los servidores. Estas son las dos maneras de hacerlo, usted puede preguntar a su proveedor la dirección o el nombre del servidor y luego ponerlos en el /etc/resolv.conf o DCHPcd que obtendrá la lista de los servidores DHCP y luego construirá un resolv.conf en /etc/dchcpc Ing. Priscila Cedillo O. 100 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática Para decidir usar el DCHPcd resolv.conf se debería realizar lo siguiente: 1. Respaldar el anterior /etc/resolv.conf: mv /etc/resolv.conf /etc/resolv.conf.OLD 2. Si el directorio /etc/dhcpc no existe se deberìa crearlo: mkdir /etc/dhcpc. 3. Hacer un link desde /etc/dhcpc/resolv.conf a /etc/resolv.conf: ln -s/etc/dhcpc/resolv.conf /etc/resolv.conf. 4. Para apagar el servicio se deberà ejecutar /usr/sbin/dhcpcd -k 3.6. PPP (PROTOCOLO PUNTO A PUNTO) Ing. Priscila Cedillo O. 101 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática PPP es un protocolo usado para mandar datagramas a través de una conexión serie. Puede transportar un alto número de protocolos y no está limitado al protocolo IP. Proporciona detección de errores en el mismo enlace. Permite a los extremos comunicantes negociar opciones, como la dirección IP y el tamaño máximo del datagrama, y provee autentificación del cliente. Tiene un protocolo específico. En la parte más baja de PPP está el protocolo de Control de Conexión de Datos de Alto-Nivel (HDLC), que define los límites de las tramas PPP individuales, y proporciona un control de errores de 16 bit. Una trama PPP es capaz de llevar paquetes de otros protocolos distintos al IP, como IPX de Novell o Appletalk. Para ello añade un campo de control que identifica el tipo de paquete contenido en la misma. El protocolo de Control de Enlace, es utilizado en la parte más alta del HDLC para negociar las opciones concernientes a la conexión de datos, tales como la Unidad Máxima de Recepción (MRU), que establece Ing. Priscila Cedillo O. 102 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática el tamaño máximo del datagrama que cada extremo de comunicación acepta recibir. En GNU/Linux, la funcionalidad del PPP está dividida en dos partes: un componente del núcleo que controla los protocolos de bajo nivel (HDLC, IPCP, IPXCP, etc) Y EL DEMONIO pppd en espacio de usuario que contorla varios protocolos de alto nivel, como PAP y CHAP. La versión actual de PPP para Linux contiene el demonio PPP pppd y un programa llamado chat utilizado para llamar al sistema remoto. EJECUTANDO PPPD Cuando quiere conectarse a Internet (dedicado) a través de un enlace PPP, tiene que configurar las capacidades básicas de red: − Configurar el dispositivo de búcle local (loopback) y el sistema de resolución de direcciones. NOTA: Se puede configurar simplemente el servidor de nombres de su proveedor de servicios de Internet en el fichero /etc/resolv.conf, pero esto supondrá que cada consulta DNS será enviada a través de su Ing. Priscila Cedillo O. 103 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática enlace seria, solución que no es óptima; mientras más cerca se encuentre de su servidor de nombres, más rápida será la búsqueda. − #pppd /dev/ttyS3 38400 crtscts defaultroute (donde se sustituye el nombre del dispositivo serie que se usa por el ttyS3. NOTA: Esto cambiará la línea serie ttyS3 al modo PPP y establecerá un enlace IP con c3po. La velocidad de transferencia utilizada en el puerto de serie será de 38400 bps. La opción crtscts activa el control de flujo por hardware en el puerto, que es una obligación para velocidades superiores a los 9600 bps. Lo primero que hace pppd tras ejecutarse es negociar varias características para el enlace con el extromo remoto utilizando LCP. FICHEROS DE OPCIONES Ficheros para establecer valores por omisión. Ing. Priscila Cedillo O. 104 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática 1.- Fichero /etc/ppp/options, este se lee cada vez que pppd arranca. 2.- .ppprc situado en el directorio de inicio del usuario. #Opciones globales para el pppd (ejemplo de www.vlager.vbrew.com) lock #usar el boqueo de dispositivo tipo UUCP auth #obligar a autentificación. usehostname #usar el nombre del ordenador local para el CHAP. domain vbrew.com #nombre de nuestro dominio. La expresión lock hace que pppd utilice el método de bloqueo de dispositivos estándar de UUCP. De esta manera, cada proceso que accede a un dispositivo serie, por ejemplo el /dev/ttyS·; crea un fichero de bloqueo llamado LCK::ttyS3 en el directorio despool del UUCP para señalizar que este dispositivo está siendo usado. Esto es Ing. Priscila Cedillo O. 105 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática necesario para evitar que otros programas abran el dispositivo de serie mientras este se usa por el PPP. SERVIDOR PPP Hacer funcionar el pppd como servidor es solo cuestión de configurar un dispositivo terminal serie para que invoque al pppd con la opciones apropiadas cuando una llamada entrante es recibida. Una manera de hacer esto es crear una cuenta especial, digamos ppp, y asociarle un script o programa con shell de entrada que llame al pppd con esas opciones. 1.- Para configurar un servidor usando el método de registro (login), añada una línea similar a la siguiente a su fichero /etc/passwd:[80] ppp:x:500:200:Public PPP Account:/tmp:/etc/ppp/ppplogin 2.- Si el sistema soporta shadow passwords, también necesita añadir una entrada al fichero /etc/shadow: ppp:!:10913:0:99999:7::: Ing. Priscila Cedillo O. 106 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática EJEMPLO: #!/bin/sh #ppplogin – script to fire up pppd on login mesg n stty -echo exec pppd -detach silent modem crtscts. PASOS PARA LA CONFIGURACION: 1. Configure el modem par que funcione en modo de auto-respuesta. En los módems compatibles Hayes, esto se realiza mediante la orden ATS0=3. Si va a utilizar el demonio mgetty, esto no será necesario. 2. Configure el dispositivo serie con una orden tipo getty para que responda a las llamadas entrantes. Una variante comúnmente usada de getty es mgetty. 3. Considere la autentificación. PAP o CHAP. 4. Configure el pppd como se describe en esta sección. 5. Considerar el encaminacmiento. Se debera proporcionar una ruta de red a los clientes. Ing. Priscila Cedillo O. 107 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática Ing. Priscila Cedillo O. 108 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática CAPITULO 4: SISTEMA 4.1. DISEÑO DEL SISTEMA DISEÑO WEB INTRODUCCION El diseño web, consiste en la planificación, diseño e implementación de sitios Web y Páginas Web. Para este tipo de aplicaciones, se deben tener en cuenta aspectos tales como: ¾ Navegabilidad ¾ Interactividad ¾ Usabilidad ¾ Arquitectura de la información ¾ Interacción de medios como audio, texto, imagen y video. ETAPAS Ing. Priscila Cedillo O. 109 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática Para el diseño de este tipo de aplicaciones se deben tener en cuenta 2 etapas: DISEÑO VISUAL La primera etapa es el diseño visual de la información que se desea utilizar y editar. Esta etapa se la debe realizar mediante la distribución física del texto, los gráficos, los vínculos, etc PROGRAMACION Es la programación de la pagina Web, a partir del boceto. Para esto, se tiene el lenguaje HTML, editores y lenguajes especializados en el campo de la programación Web. Al momento de este diseño se deben tener en cuenta aspectos tales como: ¾ Contenido ¾ Tecnología ¾ Aspectos visuales Ing. Priscila Cedillo O. 110 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática ¾ Aspectos tecnológicos En el caso de esta tesis, el contenido, va a ser la explicación, los pasos de configuración de servidores y evaluación; para el sistema de Auto-Aprendizaje, AutoConfiguración y Auto-Evaluación de los Servidores en Linux. En cuanto a la Tecnología, hemos de utilizar la plataforma Linux, en la Versión Fedora, la misma que por su alta difusión y gratuidad se ha creído conveniente usarse. Así mismo con una aplicación Web, que correrá sobre un servidor de aplicaciones y páginas web como es apache, utilizando el lenguaje de programación Java, con el editor NetBeans, y la Base de Datos My SQL. Los aspectos visuales utilizados, serán páginas JSP/HTML, las mismas que se distribuyen en dos frames. El primero servirá para la navegación de los usuarios, de un modo sencillo y uniforme, y el segundo, desplegará la información Ing. Priscila Cedillo O. 111 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática necesaria, para que el objetivo de este sistema se lleve a cabo. MODELO DE DESARROLLO SELECCIONADO: El modelo de desarrollo seleccionado, para este caso, será el modelo Básico en Cascada, que es el utilizado en la mayoría de casos; este, describe el ciclo de vida del software desde la planificación del sistema, hasta la puesta en marcha junto con el mantenimiento. Estos pasos, son interactivos entre ellos, pudiendo ser avanzados o retrocedidos dependiendo la necesidad, esto está descrito mediante su diagrama: Ing. Priscila Cedillo O. 112 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática Ilustración 4.- Modelo de Desarrollo en Cascada VENTAJAS DEL MODELO CASCADA 1. Modelo y planificación fácil y sencilla. 2. Sus fases son conocidas por los desarrolladores. 3. Los usuarios lo pueden comprender fácilmente. DESVENTAJAS DEL MODELO CASCADA Ing. Priscila Cedillo O. 113 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática 1. Alto riesgo en sistemas nuevos debido a problemas en las especificaciones y en el diseño. 2. Bajo riesgo para desarrollos bien comprendidos utilizando tecnología conocida. 4.2. HERRAMIENTAS DE DESARROLLO 4.2.1. PLATAFORMA: Para el desarrollo de este trabajo de tesis, se ha utilizado la plataforma Linux, en su versión Fedora Core 5 4.2.1.1. LINUX FEDORA Es un sistema operativo de distribución GNU/Linux, de propósito general y basado en software de libre distribución, apoyado en la comunidad Linux. Ing. Priscila Cedillo O. 114 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática El Sistema Operativo Red Hat Linux, derivó en un nuevo proyecto el 22 de septiembre del 2003, denominado Fedora, siendo una mejora con nuevas características e innovaciones del sistema original. El historial de lanzamientos de este sistema operativo, se presenta en la siguiente tabla: Versión Fecha de lanzamiento Core 1 5 de noviembre de 2003 Core 2 19 de mayo de 2004 Core 3 8 de noviembre de 2004 Core 4 13 de junio de 2005 Core 5 20 de marzo de 2006 Core 6 24 de octubre de 2006 Core 7 31 de mayo de 2007 Ing. Priscila Cedillo O. 115 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática 8 de noviembre de Core 8 2007 Tabla 2.- Versiones de Fedora. 4.2.2. LENGUAJE DE PROGRAMACION El lenguaje de programación utilizado es Java, debido a las características multiplataforma del mismo, a más de ello es un lenguaje de programación de alto nivel, orientado a objetos, para ello se utilizo el editor Netbeans 5.5 para Linux. 4.2.2.1. Netbeans Netbeans es una plataforma de aplicaciones que utiliza Java y un entorno integrado de desarrollo (IDE). [1] La Plataforma NetBeans es una base modular y extensible usada como una estructura de integración para crear aplicaciones de escritorio grandes. Empresas independientes asociadas, especializadas en desarrollo de software, proporcionan extensiones adicionales que se integran fácilmente en la plataforma y que pueden también Ing. Priscila Cedillo O. 116 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática utilizarse para desarrollar sus propias herramientas y soluciones. La plataforma ofrece servicios comunes a las aplicaciones de escritorio, permitiéndole al desarrollador enfocarse en la lógica específica de su aplicación. Entre las características de la plataforma están: • Administración de las interfaces de usuario (ej. menús y barras de herramientas) Administración de las configuraciones del usuario • Administración del almacenamiento (guardando y cargando cualquier tipo de dato) • Administración de ventanas • Framework basado en asistentes (diálogos paso a paso) 4.2.2.2. JSP Es una tecnología Java, el mismo que permite la generación de contenido dinámico para la web, en forma de documentos HTML, XML o de otro tipo. Ing. Priscila Cedillo O. 117 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática Las JSP`s permite la utilización de código Java mediante scripts. 4.2.3. TIPO DE APLICACION El tipo de aplicación realizada, es una aplicación para la web, basada en una serie de páginas Web, entrelazadas entre sí, y ejecutables desde cualquier otro sitio de la red local, con un servidor de aplicaciones. 4.2.4. SERVIDOR DE APLICACIONES/WEB: El servidor de aplicaciones utilizado es Apache Tomcat. 4.2.4.1. TOMCAT Tomcat es un servidor web con soporte de servlets y JSPs. Este incluye un compilador que realiza la conversión de los JSPs transformándoles en servlets Ing. Priscila Cedillo O. 118 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática 4.2.5. BASE DE DATOS La Base de Datos utilizada es MySql, distribuida gratuitamente junto con el sistema operativo. My Sql, es un sistema de gestión de bases de datos relacional, multihilo y multiusuario. 4.2.6. METODOLOGIA: Como metodología de desarrollo para el presente tema de tesis he escogido el Proceso Unificado de Desarrollo del Software (RUP). Para realizar este sistema mediante el RUP utilizaremos el Lenguaje Unificado de Modelado (UML). Debemos tener en cuenta que el Proceso Unificado de Desarrollo del Software está: Centrado en la Arquitectura. Basado en los Casos de Uso. Ing. Priscila Cedillo O. 119 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática Es un proceso Iterativo e Incremental. Las fases en las que está dividido son: INICIO. ELABORACIÓN. CONSTRUCCIÓN. TRANSICIÓN. 4.3. ENFOQUE UTILIZADO: El enfoque utilizado para el desarrollo del presente trabajo es el instrumentista, ello se justifica ya que se utilizan medios didácticos que estos son utilizados para que el alumno vivencie más su aprendizaje, en este caso es un sistema de auto-aprendizaje, auto-evaluación y autoconfiguración de los servidores Linux, los mismos que permiten una comprensión interactiva con la herramienta de software innovadora, que ayuda al estudiante a tener su propio ritmo de trabajo, además de una retroalimentación al Ing. Priscila Cedillo O. 120 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática momento de la evaluación, permitiendo fijar los conocimientos, evaluarlos y llevarlos a la práctica. 4.3. INGENIERÍA Y ANÁLISIS DEL SISTEMA: Análisis y de diseño de todos los componentes del sistema computacional. Análisis de Requisitos de software: Dentro de los requisitos del software a desarrollar, están: 1. Un software de auto-aprendizaje, fácil de utilizar, que suponga un conocimiento previo completo de redes TCP/IP y sus servicios por parte del usuario, de tal manera que facilite el auto-aprendizaje, de las configuraciones de los diferentes servidores. Este software deberá contemplar: a. Facilidad de ingreso al sistema de auto-aprendizaje. b. Ventanas uniformes, que sean intuitivas y amigables. Ing. Priscila Cedillo O. 121 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática c. Resúmenes claros y precisos, sobre la materia de aprendizaje. d. Hipervínculos que faciliten la navegación. e. Ingreso remoto para ingresar a las páginas, de tal manera que varios usuarios puedan conectarse para estudiar sobre la misma materia a la vez, teniendo como un servidor de acceso múltiple. 2. Un software de auto-evaluación, el mismo que posibilite la evaluación del avance en cuanto al auto-aprendizaje, antes realizado. Es necesario que el software de autoevaluación permita: a. Facilidad de ingreso al sistema de auto-evaluación. b. Ventanas uniformes, que sean intuitivas y amigables. c. Preguntas dinámicas, las mismas que puedan ser modificadas, de tal manera que se fácil la actualización de las mismas para ver el avance del estudiante. d. Una base de datos, la misma que permita, guardar los resultados, para poder completar el cuestionario Ing. Priscila Cedillo O. 122 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática posteriormente, o en su caso poder almacenarlas, para poder revisarlas en el futuro. e. Una forma de evaluación, que de valoración a las preguntas de acuerdo a la dificultad de las mismas. f. Ingreso remoto para responder los cuestionarios, de tal manera que varios usuarios puedan conectarse para realizar la misma plantilla de preguntas. g. Un sistema de autentificación de usuarios, de tal manera que sea multiusuario, y que las preguntas se guarden, de acuerdo a la persona que las ha contestado, pudiendo guardar los perfiles y respuestas a las mismas. 3. Un software de auto-configuración, el cual ejecute las instrucciones paso a paso, para ayudar de una manera pedagógica y eficiente la configuración de los equipos servidores. Este software podrá ejecutar instrucciones, como si se estuviera en la línea de comandos, de tal manera que permita conocer cada uno de los comandos a ejecutar; teniendo en cuenta: a. Facilidad de ingreso al sistema de auto-configuración. Ing. Priscila Cedillo O. 123 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática b. Ventanas uniformes, que sean intuitivas y amigables. c. Configuración clara y precisa de cada servidor. Las mismas que involucrarán un conocimiento completo de redes y a partir de este, lograr un avance significativo en el aprendizaje de configuración de servidores un poco más avanzada. d. Un modo directo de acceso a los diferentes recursos del sistema operativo, como son los archivos de configuración y en ciertos y contados casos de instalación de dispositivos de acuerdo a los controladores y al hardware disponible. e. Sistema de auto-configuración básica tipo prototipo de los siguientes servidores: i. DHCP ii. PPP iii. NFS iv. NAT v. WIRELESS vi. VPN 4. Un módulo de preguntas y respuestas, en el mismo que se pueda plasmar cualquier inquietud y su respuesta, la Ing. Priscila Cedillo O. 124 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática misma que quede guardada en una base de datos, de una manera anónima. Alimentando al sistema con diferentes soluciones a preguntas frecuentes. Esta base de datos debe tener la capacidad de depurarse mediante la eliminación de preguntas o respuestas, que sean consideradas obsoletas, esto únicamente por el administrador del sistema. Diseño del Sistema: Se descompone y organiza el sistema en elementos que puedan elaborarse por separado, aprovechando las ventajas del desarrollo en equipo. Como resultado surge el SDD (Documento de Diseño del Software), que contiene la descripción de la estructura relacional global del sistema y la especificación de lo que debe hacer cada una de sus partes, así como la manera en que se combinan unas con otras. Ing. Priscila Cedillo O. 125 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática DISEÑO PRÁCTICO DEL SISTEMA EN BASE A LOS REQUERIMIENTOS DIAGRAMA DE CONTEXTO GENERAL DEL SISTEMA Ing. Priscila Cedillo O. 126 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática Ilustración 5.- Diagrama de Contexto Ing. Priscila Cedillo O. 127 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática DIAGRAMA MACRO DEL SISTEMA AUTOAPRENDIZAJE / AUTOCONFIGURACION AUTO-APRENDIZAJE NAT AUTO-APRENDIZAJE DHCP AUTO-APRENDIZAJE VPN AUTO-APRENDIZAJE WIRELESS AUTO-APRENDIZAJE PPP AUTO-CONFIGURACION NAT AUTO-CONFIGURACION DHCP AUTO-CONFIGURACION VPN AUTO-CONFIGURACION WIRELESS AUTO-CONFIGURACION PPP SERVIDORES Y DEMONIOS Sistema Operativo AUTOEVALUACION «interfaz» NAT «interfaz» DHCP «interfaz» VPN «interfaz» NFS «interfaz» PPP Ilustración 6 Visión Macro del sistema Ing. Priscila Cedillo O. 128 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática NOTA: En el diagrama, existe interacción entre todos los elementos del mismo, pudiéndose dar retroalimentación entre subsistemas. BASE DE DATOS AUTO-EVALUACION MODULO PREGUNTA RESPUESTA -ID MODULO : int -MODULO : char -ID MODULO : char -ID PREGUNTA : char -DESCRIPCION : char -VALOR : int -IDMODULO : char -IDPREGUNTA : char -IDRESPUESTA : char -DESCRIPCION : char -VALIDA : bool * * * * * * USUARIO CUESTIONARIO -IDUSUARIO : char -LOGIN : char -PASSWORD : char -TIPO : int -IDMODULO : char -IDPREGUNTA : char -IDRESPUESTA : char -IDUSUARIO : char * * Ilustración 7 Entidad-Relación Base de datos ABSTRACCION DE OBJETOS El primer paso será señalar todos los sustantivos de cada uno de los requisitos a fin de abstraer todos los objetos existentes. REQUISITO 1. Ing. Priscila Cedillo O. 129 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática Un software de auto-aprendizaje, fácil de utilizar, que suponga un conocimiento previo avanzado de redes por parte del usuario, de tal manera que facilite el autoaprendizaje, de las configuraciones de los diferentes servidores. Este software deberá contemplar: a. Facilidad de ingreso al sistema de auto-aprendizaje. b. Ventanas uniformes, que sean intuitivas y amigables. c. Resúmenes claros y precisos, sobre la materia de aprendizaje. d. Hipervínculos que faciliten la navegación. e. Ingreso remoto para ingresar a las páginas, de tal manera que varios usuarios puedan conectarse para estudiar sobre la misma materia a la vez, teniendo como un servidor de acceso múltiple. Sustantivos encontrados: • Software • Usuario • Configuración Ing. Priscila Cedillo O. 130 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática • Servidor • Ventana • Resumen • Hipervínculo Objetos Relevantes: Los objetos relevantes para este requerimiento son: • Usuario • Resumen Objeto usuario: El objeto usuario, debe tener las siguientes tener las siguientes características principales: • Id Usuario • Tipo Usuario • Contraseña Objeto resumen: El objeto usuario, debe características principales: • Este objeto, presenta características no dinámicas, por lo cual, se presentará en paginas Web estáticas, sin necesidad de almacenarlo en una base de datos. Ing. Priscila Cedillo O. 131 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática Diagrama de Interacción de objetos Ilustración 8. Diagrama de Interacción de Objetos REQUISITO 2 Un software de auto-evaluación, el mismo que posibilite la evaluación del avance por cada subsistema en cuanto al auto-aprendizaje, antes realizado. Es necesario que el software de auto-evaluación permita: a. Facilidad de ingreso al sistema de auto-evaluación. b. Ventanas uniformes, que sean intuitivas y amigables. Ing. Priscila Cedillo O. 132 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática c. Preguntas dinámicas, las mismas que puedan ser modificadas, de tal manera que se fácil la actualización de las mismas para ver el avance del estudiante. d. Una base de datos, la misma que permita, guardar los resultados, para poder completar el cuestionario posteriormente, o en su caso poder almacenarlas, para poder revisarlas en el futuro. e. Una forma de evaluación, que de valoración a las preguntas de acuerdo a la dificultad de las mismas. f. Ingreso remoto para responder los cuestionarios, de tal manera que varios usuarios puedan conectarse para realizar la misma plantilla de preguntas. g. Un sistema de autentificación de usuarios, de tal manera que sea multiusuario, y que las preguntas se guarden, de acuerdo a la persona que las ha contestado, pudiendo guardar los perfiles y respuestas a las mismas. Sustantivos encontrados: • Software • Subsistema / módulo Ing. Priscila Cedillo O. 133 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática • Autoevaluación • Evaluación • Ventana • Pregunta • Usuario • Base de datos • Resultados • Cuestionario Objetos Relevantes: Los objetos relevantes para este requerimiento son: • Pregunta • Subsistema / Módulo • Usuario • Resultado • Cuestionario • Respuesta-Evaluación Objeto Módulo: El objeto módulo, debe contener: Ing. Priscila Cedillo O. 134 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática • Id Módulo • Nombre Módulo Objeto pregunta: El objeto pregunta, debe contener: • Id Pregunta • Id Módulo • Pregunta • Calificación Objeto respuesta: El objeto respuesta, debe contener: • Id Módulo • Id Pregunta • Id Respuesta • Descripción • Válida Objeto usuario: El objeto usuario, debe tener las siguientes características principales: • Id Usuario Ing. Priscila Cedillo O. 135 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática • Nombre Usuario • Contraseña Diagrama de Interacción de objetos Ilustración 9.- Diagrama de interacción de objetos para la autoevaluación REQUISITO 3 Un software de auto-configuración, el cual ejecute las instrucciones paso a paso, para ayudar de una manera pedagógica y eficiente la configuración de los equipos Ing. Priscila Cedillo O. 136 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática servidores. Este software podrá ejecutar instrucciones, como si se estuviera en la línea de comandos, de tal manera que permita conocer cada uno de los comandos a ejecutar; teniendo en cuenta: a. Facilidad de ingreso al sistema de auto-evaluación. b. Ventanas uniformes, que sean intuitivas y amigables. c. Configuración clara y precisa de cada servidor. Las mismas que involucrarán un conocimiento básico de redes y a partir de este, lograr un avance significativo en el aprendizaje de configuración de servidores un poco más avanzada. d. Un modo directo de acceso a los diferentes recursos del sistema operativo, como son los archivos de configuración y en ciertos y contados casos de instalación de dispositivos de acuerdo a los controladores y al hardware disponible. e. Sistema de auto-configuración básica tipo prototipo de los siguientes servidores: i. DHCP ii. PPP iii. NFS Ing. Priscila Cedillo O. 137 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática iv. NAT v. WIRELESS vi. VPN Sustantivos encontrados: • Software • Hardware • Auto-Configuración • Usuario Objetos Relevantes: Los objetos relevantes para este requerimiento son: • Software Auto-Configuración • Usuario Objeto Módulo: El objeto módulo, debe contener: • Id Módulo • Nombre Módulo DIAGRAMA DE INTERACCION DE OBJETOS Ing. Priscila Cedillo O. 138 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática Usuario -ID : int -LOGIN : string -PASSWORD : string «interfaz» Página Auto-Configuración * Sistema Operativo * * * Ilustración 10.- Diagrama de interacción de objetos Autoconfiguración 5. Un módulo de preguntas y respuestas, en el mismo que se pueda plasmar cualquier inquietud y su respuesta, la misma que quede guardada en una base de datos, de una manera anónima. Alimentando al sistema con diferentes soluciones a preguntas frecuentes. Esta base de datos debe tener la capacidad de depurarse mediante la eliminación de preguntas o respuestas, que sean consideradas obsoletas, esto únicamente por el administrador del sistema. Sustantivos encontrados: • Módulo • Preguntas • Respuestas Ing. Priscila Cedillo O. 139 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática • Usuario Objetos Relevantes: Los objetos relevantes para este requerimiento son: • Módulo • Preguntas • Respuestas Objeto Módulo: El objeto módulo, debe contener: • Id Módulo • Nombre Módulo Objeto Pregunta: El objeto módulo, debe contener: • Id Pregunta • Pregunta Objeto Respuesta: El objeto módulo, debe contener: • Id Pregunta Ing. Priscila Cedillo O. 140 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática • Id Respuesta • Respuesta Objeto usuario: El objeto usuario, debe tener las siguientes características principales: • Id Usuario • Nombre Usuario Usuario -ID : int -LOGIN : string -PASSWORD : string * «interfaz» Pagina Preguntas-Respuestas Base de Datos * * * Ilustración 11.- Diagrama de Interacción Base de DatosCuestionario 1. Pruebas: Las componentes una vez programadas, se ensamblan para formar el sistema y se demuestra que trabaja correctamente antes de ser puesto en práctica por el usuario. Existen varios tipos de Pruebas: Pruebas de unidad Pruebas de integración Ing. Priscila Cedillo O. 141 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática Pruebas de sistema. Pruebas de aceptación Mantenimiento: El software necesitará cambios después de la entrega. Los tipos de mantenimiento son: Mantenimiento Preventivo y Perfectivo Mantenimiento Correctivo Mantenimiento Evolutivo Según el proceso y la metodología utilizada, el desarrollo del sistema se divide en fases, las mismas que se ven especificadas a continuación: 4.4. FASE DE INICIO En esta fase desarrollará los requisitos del producto desde la perspectiva del usuario, los cuales serán establecidos en el artefacto Visión. Los principales casos de uso serán identificados y se hará un refinamiento del Plan de Desarrollo del Proyecto. MODELADO DEL NEGOCIO Ing. Priscila Cedillo O. 142 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática El modelado del negocio es una técnica para comprender los procesos del negocio de la organización. Los propósitos que se persiguen al realizarse el modelado del negocio, son: entender la estructura y la dinámica de la organización, entender los problemas actuales e identificar mejoras potenciales, asegurarse de que los clientes, usuarios finales y desarrolladores tengan una idea común de la organización y derivar los requerimientos del sistema a partir del modelo de negocio que se obtenga. El modelado del negocio, se realizó mediante un estudio de todos los archivos que configuran los diferentes módulos del presente proyecto, ya que la dificultad está precisamente, en saber cuáles archivos deben ser manipulados. MODELADO DE LOS PROCESOS DEL NEGOCIO Al momento, es difícil la utilización del sistema Linux en cuanto a herramientas de configuración, existiendo muy pocas opciones que nos ayuden para este fin. Ing. Priscila Cedillo O. 143 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática Ilustración 12.- Modelado de los procesos del negocio. MODELADO DEL DOMINIO Ing. Priscila Cedillo O. 144 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática El modelo de dominio particiona y representa los conceptos importantes relacionados con el dominio, siendo esta una actividad clásica de la programación orientada a objetos. Dentro del modelo de dominio debemos ver los objetos de interés del software tales como sus atributos y sus relaciones. Este modelo, utiliza la notación UML de diagrama de estructura estática, como veremos en el diagrama que sigue a continuación: Ing. Priscila Cedillo O. 145 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática Ilustración 13.- Modelo de AutoAprendizaje – AutoConfiguración y Auto-Evaluación. MODELADO DE CASOS DE USO Corresponde a las actividades del proceso de negocio existentes dentro del sistema. A continuación veremos los modelos de casos de uso dentro de cada uno de los subsistemas Ing. Priscila Cedillo O. 146 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática Ilustración 14.- Caso de uso AutoAprendizaje Ing. Priscila Cedillo O. 147 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática Ilustración 15.autoconfiguración. Ing. Priscila Cedillo O. 148 Caso de uso Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática AUTOEVALUACION PAGINA WEB DHCP * VPN * * * *** NAT Paquete superior::USUARIO * PPP * VPN * Ilustración 16.- Caso de uso autoevaluación. 4.5. FASE DE ELABORACION En esta fase se analizan los requisitos y se desarrolla un prototipo de arquitectura (incluyendo las partes más relevantes y / o críticas del sistema). Al final de esta fase, todos los casos de uso correspondientes a requisitos que serán implementados en la primera release de la fase de Construcción deben estar analizados y diseñados (en el Modelo de Análisis / Diseño). Ing. Priscila Cedillo O. 149 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática 4.6. FASE DE CONSTRUCCION Durante la fase de construcción se terminan de analizar y diseñar todos los casos de uso, refinando el Modelo de Análisis / Diseño. El producto se construye en base a 2 iteraciones, cada una produciendo una release a la cual se le aplican las pruebas y se valida con el cliente / usuario. 4.6.1. CODIGO PRIMARIO NAT /* * clsNAT.java * * Created on 15 de octubre de 2007, 21:42 * * To change this template, choose Tools | Template Manager * and open the template in the editor. */ package PkgMaster; /** * * @author root */ public class clsNAT { Ing. Priscila Cedillo O. 150 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática Comando cmd; /** Creates a new instance of clsNAT */ public clsNAT() { } public void vaciaReglas(){ cmd = new Comando("iptables --flush"); cmd = new Comando("iptables --table nat --flush"); cmd = new Comando("iptables --delete-chain"); } public void activaFORMASK(String eth0, String ppp0){ cmd = new Comando("iptables --table nat --append POSTROUTING --out-interface "+ ppp0 +" -j MASQUERADE"); cmd = new Comando("iptables --append FORWARD -in-interface " + eth0 + "-j ACCEPT"); } public void activaPacketForwarding(){ cmd = new Comando("echo 1 >/proc/sys/net/ipv4/ip_forward"); cmd = new Comando("cat /proc/sys/net/ipv4/ip_forward"); } WIRELESS /* Ing. Priscila Cedillo O. 151 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática * clsWireless.java * * Created on 9 de noviembre de 2007, 10:49 * * To change this template, choose Tools | Template Manager * and open the template in the editor. */ package PkgMaster; /** * * @author root */ public class clsWireless { Comando cmd; /** Creates a new instance of clsWireless */ public clsWireless() { } public void instalarpktLivda(String path){ cmd = new Comando("rpm -rvh "+ path); } public void instalarpktndiswrapper(){ cmd = new Comando("yum -y install ndiswrapper"); } Ing. Priscila Cedillo O. 152 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática public void extraerDriver(String path, String nombreDriver){ cmd = new Comando("cd "+path); cmd = new Comando("ndiswrapper -i "+ nombreDriver); } /* Manage ndis drivers for ndiswrapper. -i inffile Install driver described by 'inffile' -d devid driver Use installed 'driver' for 'devid' -e driver Remove 'driver' -l List installed drivers -m Write con */ public void verResultados(){ cmd = new Comando("ndiswrapper -l"); } public void cargarModulo(){ cmd = new Comando("depmod -a"); } public void rebootSystem(){ cmd = new Comando("reboot"); } public void probarModulo(){ cmd = new Comando("modprobe ndiswrapper"); } Ing. Priscila Cedillo O. 153 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática public void verDispositivoInstalado(){ cmd = new Comando("dmesg | grep ndiswrapper"); } public void cargarDrivers(){ cmd = new Comando("ndiswrapper -m"); } public void verTarjetaFuncionando(){ cmd = new Comando("ifconfig wlan0 up"); } public void verificarTarjeta(){ cmd = new Comando("iwconfig"); } public void escanearRedInalambrica(){ cmd = new Comando("iwlist wlan0 scan"); } public void asignarNombreRed(String Nombre){ cmd = new Comando("iwconfig wlan0 ESSID "+Nombre); } } NFS /* * clsNFS.java Ing. Priscila Cedillo O. 154 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática * * Created on 3 de agosto de 2007, 23:03 * * To change this template, choose Tools | Template Manager * and open the template in the editor. */ package PkgMaster; /** * * @author root */ public class clsNFS { /** Creates a new instance of clsNFS */ public clsNFS() { } public void exports(clsCarpetaNFS Compartida[]){ int i; ArchivoTexto txt; txt = new ArchivoTexto(); txt.saveFile("/etc/exports","#Compartir archivos y carpetas con NFS (Network File System)",false); txt.saveFile("/etc/dhcpd.conf","Por Ing. Priscila Cedillo",true); for (i=0; i<=Compartida.length; i++){ Ing. Priscila Cedillo O. 155 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática carpetaCompartir(txt, Compartida[i].FileSystem, Compartida[i].Privileges, Compartida[i].Net ); //OTORGA CARPETA POR CARPETA RUTAS, PERMISOS Y REDES PARA NFS } } public void carpetaCompartir(ArchivoTexto txt, String ruta, String permiso, String red){ txt.saveFile("/etc/dhcpd.conf", ruta ,true); txt.saveFile("/etc/dhcpd.conf", " " + red + " ",true); txt.saveFile("/etc/dhcpd.conf", " " + permiso + " ",true); } /******************************************/ /*******ARRANQUE Y PARADA *****************/ /******************************************/ public void arranque(){ Comando cmd; cmd = new Comando("/etc/init.d/portmap start"); cmd = new Comando("/etc/init.d/nfs start"); } public void parada(){ Comando cmd; cmd = new Comando("/etc/init.d/nfs stop"); Ing. Priscila Cedillo O. 156 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática } public void reinicio(){ Comando cmd; cmd = new Comando("/etc/init.d/nfs restart"); } /*****************************************/ /*******acceso a carpetas*****************/ /*****************************************/ public void montarCarpeta(String ipServering, String Carpeta){ String ipServer=ipServering; Comando cmd; cmd = new Comando("mount -t nfs "+ipServer+ ":/"+Carpeta); } public void montarCarpetaAutomaticamente(String ipServering, String Carpeta){ ArchivoTexto txt; txt = new ArchivoTexto(); txt.saveFile("/etc/fstab", ipServering + ":" + Carpeta,true); } } Ing. Priscila Cedillo O. 157 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática VPN public class clsVPN { Comando cmd; /** Creates a new instance of clsVPN */ public clsVPN() { } public void obtenerSoftware(){ cmd= new Comando("yum -y install openvpn"); } public void generarClave(){ cmd= new Comando("/root/WebVisualTesis2/Scripts/VPN/VPN_KEY"); } public void generarArchivoConfiguracion(String contenido){ ArchivoTexto txt; txt = new ArchivoTexto(); txt.saveFile("/etc/openvpn/tunel.conf",contenido,false); } public void generarArchivoConfiguracion2(String contenido){ Ing. Priscila Cedillo O. 158 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática ArchivoTexto txt; txt = new ArchivoTexto(); txt.saveFile("/etc/openvpn/tunel.conf_maq2",contenido,false ); } } DHCP /* * clsDhcp.java * * Created on 3 de agosto de 2007, 21:15 * * To change this template, choose Tools | Template Manager * and open the template in the editor. */ package PkgMaster; /** * * @author root */ public class clsDhcp { String HOSTNAME; String lo; Ing. Priscila Cedillo O. 159 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática String loNet; String loMask; String INTERFAZSERVER; Comando cmd; /** Creates a new instance of clsDhcp */ public clsDhcp() { } /********************************************/ /************c l i e n t e ******************/ /********************************************/ public void installDHCP(){ } public void creaCarpeta(){ } public boolean respDhcpAnterior(String dest){ try{ cmd = new Comando("cp /etc/rc.d/rc.inet1 "+dest); return true; //Ejecuta la tarea sql Ing. Priscila Cedillo O. 160 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática } catch(Exception e){ return false; //una excepción } } public void reiniciarServicio(){ cmd = new Comando("service network restart"); } public boolean crearArchivoConfiguracion(String HOSTNAMEINT, String loInt, String loNetInt, String loMaskInt){ try{ HOSTNAME=HOSTNAMEINT; lo=loInt; loNet=loNetInt; loMask=loMaskInt; ArchivoTexto txt; txt = new ArchivoTexto(); txt.saveFile("/etc/rc.d/rc.inet1","#!/bin/sh",false); txt.saveFile("/etc/rc.d/rc.inet1","#rc.inet1 Este shell inicia el sistema base INET",true); txt.saveFile("/etc/rc.d/rc.inet1","HOSTNAME='cat /etc/"+HOSTNAME+"'",true); txt.saveFile("/etc/rc.d/rc.inet1","#Para adjunar el dispositivo de loopback",true); txt.saveFile("/etc/rc.d/rc.inet1","/sbin/ifconfig lo "+lo,true); Ing. Priscila Cedillo O. 161 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática txt.saveFile("/etc/rc.d/rc.inet1","/sbin/route add -net "+loNet+" netmask " + loMask + " lo",true); /*comentarios*/ txt.saveFile("/etc/rc.d/rc.inet1","#En el caso de que se tenga una Conexión Ethernet, se deben",true); txt.saveFile("/etc/rc.d/rc.inet1","#usar las lÃneas de configuración de la interfaz eth0. Si",true); txt.saveFile("/etc/rc.d/rc.inet1","#solo se están usando loopback o SLIP, no se debe incluir el ",true); txt.saveFile("/etc/rc.d/rc.inet1","#resto de las lineas de este archivo.",true); txt.saveFile("/etc/rc.d/rc.inet1","/usr/sbin/dhcpd",true); return true; //Ejecuta la tarea sql } catch(Exception e){ return false; //una excepción } } public void NetConfiguration(){ cmd = new Comando("ifconfig"); /*Especificación de servidores*/ } public void RespaldarResolvConf(){ cmd = new Comando("mv /etc/resolv.conf /etc/ resolv.conf.OLD"); Ing. Priscila Cedillo O. 162 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática } public void creaRdhcpc(){ cmd = new Comando("mkdir /etc/dchpc"); } public void crearLinkResolv(){ cmd = new Comando ("ln -s/etc/dchpc/resolv.conf /etc/resolv.conf"); } public void apagarServicio(){ cmd = new Comando ("/usr/sbin/dhcpcd -k"); } public void confCompClienteDHCP(String dest, String HOSTNAMEINT, String loInt, String loNetInt, String loMaskInt){ respDhcpAnterior(dest); crearArchivoConfiguracion(HOSTNAMEINT, loInt, loNetInt, loMaskInt); reiniciarServicio(); NetConfiguration(); RespaldarResolvConf(); crearLinkResolv(); apagarServicio(); Ing. Priscila Cedillo O. 163 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática } /********************************************/ /************s e r v i d o r ****************/ /********************************************/ public void NetConfigurationServer(){ //Procedimiento que me permitirá observar la configuración actual de la red //ejecutar ifconfig -a } public void AddRoute(String eth0){ cmd = new Comando("route add -host 255.255.255.255 dev " + eth0); } public void inputHosts(){ //255.255.255.255 all-ones ArchivoTexto txt; txt = new ArchivoTexto(); txt.saveFile("/etc/hosts","255.255.255.255 allones",true); Ing. Priscila Cedillo O. 164 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática } public void inputHostsCommands(String eth){ //route add -host all-ones dev eth0 cmd = new Comando("route add -host all-ones dev "+ eth); } /************dhcpd.conf ****************/ public void confDhNet(String dlt, String mlt, String sm, String bca, String rts[], String dns[], String dn, String domname){ String defaultLeaseTime=dlt; String maxLeaseTime=mlt; String Subnetmask=sm; String broadcastAddress=bca; String Routers[]=rts; String domainNameServers[]=dns; String domainName=dn; ArchivoTexto txt; txt = new ArchivoTexto(); txt.saveFile("/etc/dhcpd.conf","# Sample /etc/dhcpd.conf",false); txt.saveFile("/etc/dhcpd.conf","# (add your comments here)",true); txt.saveFile("/etc/dhcpd.conf","default−lease−time " + dlt + ";",true); txt.saveFile("/etc/dhcpd.conf","max−lease−time " + mlt + ";",true); Ing. Priscila Cedillo O. 165 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática txt.saveFile("/etc/dhcpd.conf","option subnet−mask " + sm + ";",true); txt.saveFile("/etc/dhcpd.conf","option broadcast−address" + bca + ";",true); // me falta agregar aqui los routeadores me quedo aqui el 3 de octubre de 2007 txt.saveFile("/etc/dhcpd.conf","option routers " + rts + ";",true); txt.saveFile("/etc/dhcpd.conf","option domain-nameservers " + dn + ";",true); txt.saveFile("/etc/dhcpd.conf","option domain-name " + domname + ";",true); /* subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.10 192.168.1.100; range 192.168.1.150 192.168.1.200; } */ } public void creaHost(){ Ing. Priscila Cedillo O. 166 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática String mac; String address; } public void creaSubnet(String Direccion, String Mask, String rango[]){ ArchivoTexto txt; txt = new ArchivoTexto(); txt.saveFile("/etc/dhcpd.conf","subnet " + Direccion + " netmask "+ Mask + " {",true); asignaRangos(rango, txt); txt.saveFile("/etc/dhcpd.conf","}",true); } public void asignaRangos(String rango[], ArchivoTexto txt){ for (int i=0; i<=rango.length; i++) { txt.saveFile("/etc/dhcpd.conf","range " + rango[i] + ";",true); } } public void creaHost(String nombre, String MAC, String fixAd ){ ArchivoTexto txt; txt = new ArchivoTexto(); txt.saveFile("/etc/dhcpd.conf","host " + nombre + "{ ",true); Ing. Priscila Cedillo O. 167 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática txt.saveFile("/etc/dhcpd.conf","hardware ethernet " + MAC ,true); txt.saveFile("/etc/dhcpd.conf","fixed-address " + fixAd ,true); } public void iniciarDHCPServer(String interfaz){ cmd = new Comando ("touch /var/state/dhcpd.leases"); cmd = new Comando ("/usr/sbin/dhcpd "+ interfaz ); //1. Crear dhcpd.lease //2. Invocar servidor } public void verificarDHCPServer(){ cmd = new Comando ("/usr/sbin/dhcpd -d -f"); } public void IniciarBoot(){ cmd = new Comando ("/etc/rc.d/rc.local"); } } Ing. Priscila Cedillo O. 168 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática PPP package PkgMaster; /** * * @author root */ public class clsPPP { Comando cmd; /** Creates a new instance of clsPPP */ public clsPPP() { } public void ejecutapppd(int velocidad) { cmd = new Comando("# pppd /dev/ttyS3 "+ velocidad + " crtscts defaultroute"); //Esto cambiará la lÃnea serie ttyS3 al modo PPP y establecerá un enlace IP con c3po. //La velocidad de transferencia utilizada en el puerto de serie será de 38400bps. //La opción crtscts activa el control de flujo por hardware en el puerto, //que es una obligación para velocidades superiores a los 9600 bps. } public void editaOptions(String dominio) { ArchivoTexto txt; txt = new ArchivoTexto(); txt.saveFile("/etc/dhcpd.conf","lock",false); Ing. Priscila Cedillo O. 169 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática txt.saveFile("/etc/dhcpd.conf","auth",true); txt.saveFile("/etc/dhcpd.conf","usehostname",true); txt.saveFile("/etc/dhcpd.conf","domain" + dominio,true); } public void opcionesConexion(String ISPPhone, String user, String Password) { } public void opcionesARCHIVO(){ } public StringBuffer compruebaKernel(){ //cmd = new Comando("ndiswrapper -l"); ArchivoTexto f; cmd = new Comando("/root/WebVisualTesis2/Scripts/PPP/DIALUP/Pru ebaKernel"); StringBuffer x; f=new ArchivoTexto(); x=f.readFile("/root/WebVisualTesis2/tmp/resultado"); return x; } public StringBuffer whichChat(){ Ing. Priscila Cedillo O. 170 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática //cmd = new Comando("ndiswrapper -l"); ArchivoTexto f; cmd = new Comando("/root/WebVisualTesis2/Scripts/PPP/DIALUP/whi chChat"); StringBuffer x; f=new ArchivoTexto(); x=f.readFile("/root/WebVisualTesis2/tmp/resultado"); return x; } public void GUARDASCRIPT1(String Cadena) { ArchivoTexto txt; txt = new ArchivoTexto(); txt.saveFile("/etc/ppp/scriptchat",Cadena,false); } public void GUARDASCRIPT2(String Cadena) { ArchivoTexto txt; txt = new ArchivoTexto(); txt.saveFile("/etc/ppp/peers/miconexion",Cadena,false); } Ing. Priscila Cedillo O. 171 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática public void GUARDAINFOUSER(String USUARIO, String PWD) { ArchivoTexto txt; txt = new ArchivoTexto(); txt.saveFile("/etc/ppp/pap-secrets","\n"+USUARIO+" "+PWD,true); txt.saveFile("/etc/ppp/chap-secrets","\n"+USUARIO+" "+PWD,true); } public void pppdCall() { cmd = new Comando("pppd call miconexion"); } } 4.7. FASE DE TRANSICION Esta fase no se aplica al sistema, debido a que es la creación de uno nuevo, más no se trata de una reingeniería ni tampoco de una implementación de un sistema previamente utilizado. Ing. Priscila Cedillo O. 172 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática CAPITULO 5: CONCLUSIONES Y RECOMENDACIONES 5.1. CONCLUSIONES: Un sistema de auto-aprendizaje, auto-evaluación y autoconfiguración, se lo debe realizar tomando en cuenta aspectos pedagógicos, los mismos que se han tratado de desarrollar a lo largo de este sistema. En el caso de la auto configuración, se ha realizado una configuración básica de cada servidor, con lo cual se ha demostrado, que puede ser implementado un programa de este tipo. La ventaja de tener un sistema como el realizado, es su contribución educativa a un ritmo muy apropiado ya que este es impuesto por el alumno. Además sirve como un material de apoyo, tanto al alumno como al profesional que necesite recordar ciertos aspectos de la configuración de servidores Linux. El sistema operativo Linux es un sistema muy robusto y lleno de Ing. Priscila Cedillo O. posibilidades, 173 las mismas que Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática desgraciadamente no se pudieron tomar en cuenta en su totalidad en este trabajo debido a limitaciones de tiempo para realizar las pruebas pertinentes y su posterior programación, pero se tiene la ventaja de que estas se pueden abordar mediante el desarrollo de nuevas versiones de este sistema. 5.2. RECOMENDACIONES: Antes de iniciar la fase de implementación, en Linux utilizando netbeans, se recomienda trabajar con las últimas versiones de los programas y lenguajes a ser usados, ya que siempre traen mejoras. Al momento de la utilización del sistema, se debe tener en cuenta también que el usuario debe tener un conocimiento avanzado en redes TCP/IP. Para poder realizar pruebas con el sistema, se deberá tener conectividad, y acceso a Internet, para realizar la descarga de ciertos paquetes utilizados en el mismo. Para la utilización del servidor PPP, se recomienda configurar correctamente el modem en linux, teniendo Ing. Priscila Cedillo O. 174 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática mucho cuidado de que se trate de un WINMODEM y en el caso de serlo, se deberá contar con los drivers adecuados. Para ciertas configuraciones se debe tener especial cuidado de la versión de Fedora o Linux que se está utilizando, por ejemplo, se tuvo un serio problema al momento de la instalación del ndiswrapper, que pudo ser solucionada mediante una actualización del kernel. Para la versión de Fedora 5, suele suscitarse este problema, en versiones posteriores es eliminado, siendo directa la instalación del módulo de conversión del driver. En el desarrollo de la tesis, se vio muy complicada la programación del sistema utilizando netbeans con las etiquetas html, haciéndose larga y tediosa la programación, este problema se solucionó fácilmente mediante la instalación de una herramienta llamada Visual Web Pack para Netbeans, que permite el uso de una herramienta visual para la programación, con ayudas en línea al momento de la codificación de sentencias. Ing. Priscila Cedillo O. 175 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática El programa se efectuó mediante programación en capas, recomendándose seguir con este esquema para mejoras o versiones posteriores del programa. Ing. Priscila Cedillo O. 176 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática BIBLIOGRAFIA: [1]Ambientes de aprendizaje por computadora ADAC. Una innovación educativa.-Ma. Gabriela Alvarado Hernández, Instituto Latinoamericano de Comunicación Educativa [2]CONCEPTO DE INFORMÁTICA EDUCATIVA.Federico Martín Maglio, Provincia de Buenos Aires. República Argentina [3]EL AUTOAPRENDIZAJE Y LA EDUCACIÓN A DISTANCIA EN TIEMPOS DE TICS, OPCIONES FACTIBLES EN CONDICIONES DE UNIVERSALIZACIÓN. MSc. Viviana Toledo Rivero, MSc. Ana R. Sosa Hdez., MSc. Laura Toledo Diez. Facultad de Informática, Universidad de Cienfuegos, Cienfuegos, Cuba [4]Internet – Diccionario de consulta http://es.wikipedia.org/wiki/Fedora_(distribuci%C3%B3n_Li nux) [5] Internet – Diccionario de consulta http://es.wikipedia.org/wiki/NetBeans Ing. Priscila Cedillo O. 177 Tesis de Grado Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática [6] Internet http://www.monografias.com/trabajos/redesinalam/redesinal am.shtml [7]Características Del Software Educativo Multimedia Dr. Pere Marquès Graells - UAB 2001 [8] Ensayo Didáctico sobre los enfoques de la Enseñanza http://lenlit.blogia.com/temas/ensayodidactico.php Ing. Priscila Cedillo O. 178 Tesis de Grado