Una parada en el camino

Por David Romero

Servicios en Red: Una programación didáctica en espiral (y III)

2020-09-06 8 min read David Romero

Una vez definido el objetivo de esta programación, clasificar los criterios de evaluación y establecer una planificación general semanal, terminaremos esta serie desglosando las distintas sesiones de una de las unidades. Concretamente, la unidad 1: “Crea tu propio servidor de hosting”, correspondiente a las semanas 3-8 de la planificación general, es decir, un total de 42 sesiones.

Tenéis la propuesta completa en la siguiente tabla:

Sesión Contenido
1 - Reflexión: ¿Se puede controlar un ordenador a distancia?
- Explicación: Acceso remoto en modo texto y SSH
- Práctica: Acceso a un servidor usando SSH
2 - Reflexión: ¿Cómo intercambiamos archivos con un servidor?
- Explicación: Transferencia de ficheros con FTP
- Práctica: Descarga y subida de ficheros en un servidor usando vsftpd usando SSH para la instalación
3 - Reflexión: ¿Qué necesito para poner en línea una página web?
- Explicación: Servidores web
- Práctica: Permite el acceso a tus compañeros a una página web propia, usando SSH para la instalación del servidor web nginx y subiendo los archivos al servidor con vsftpd
4 - Reflexión: ¿Hay alternativas a SSH?
- Explicación: Telnet
- Práctica: Prueba a realizar una conexión Telnet y otra SSH capturando paquetes con Wireshark. ¿Cuál es la diferencia?
5 - Finalización de prácticas pendientes
- Práctica de ampliación: Pon una página web online con https://es.000webhost.com/
6 - Evaluación de los criterios: 3b, 6b, 5b y 5f
7 - Revisión de la evaluación
8 - Reflexión: ¿Se puede ver el escritorio de un ordenador controlado a distancia?
- Explicación: Acceso remoto en modo gráfico
- Práctica: Accede al ordenador de un compañero usando Escritorio Remoto y TeamViewer. ¿Cuáles son las diferencias?
9 - Reflexión: ¿Cómo gestionamos un servidor FTP con varios usuarios?
- Explicación: Usuarios, grupos y acceso anónimo en un servidor FTP
- Práctica: Permite el acceso en tu servidor a toda la clase usando el acceso anónimo y a dos compañeros usando usuarios enjaulados
10 - Reflexión: ¿Podemos asegurar la comunicación entre un cliente y una página web?
- Explicación: Los protocolos HTTP y HTTPS
- Práctica: Asegura tu página web con un certificado HTTPS. Compara el tráfico HTTP y HTTPS en Wireshark
11 - Reflexión: ¿FTP es un protocolo seguro?
- Explicación: FTPS y SFTP como alternativas
- Práctica: Usa un protocolo seguro para la transferencia de archivos
12 - Finalización de prácticas pendientes
- Práctica de ampliación: ¿Puedes encontrar y usar una app en tu teléfono para controlar remotamente un ordenador?
13 - Evaluación de los criterios: 3c, 3d, 5i, 6c, 6d y 6f
- Recuperación de los criterios: 3b, 6b, 5b y 5f
14 - Revisión de la evaluación
15 - Reflexión: ¿Puedo administrar un servidor sin interfaz gráfica a través de una interfaz gráfica?
- Explicación: Acceso remoto a través de la web
- Práctica: Instalación y prueba de webmin
16 - Reflexión: ¿Puedo poner límites a los usuarios de un servidor FTP?
- Explicación: Límites y cuotas
- Práctica: Configuración de límites y cuotas en vsftpd
17 - Reflexión: ¿Cómo controlo un servidor FTP por línea de comandos?
- Explicación: Comandos FTP
- Práctica: Accede a tu servidor FTP usando la línea de comandos, descarga y sube algún archivo y compruébalo
18 - Reflexión: ¿Qué diferencia al modo de acceso activo y pasivo en un servidor FTP?
- Explicación: Funcionamiento del acceso activo y pasivo en un servidor FTP
- Práctica: Accede a tu servidor FTP usando el modo activo y pasivo capturando la conexión con Wireshark. Compáralas
19 - Finalización de prácticas pendientes
- Práctica de ampliación: Instala Monsta FTP para usar una web como cliente de tu servidor FTP
20 - Evaluación de los criterios: 3e, 3f, 3g y 6g
- Recuperación de los criterios: 3b, 3c, 3d
21 - Revisión de la evaluación
22 - Reflexión: ¿Puedo tener distintas páginas web en un mismo servidor?
- Explicación: Sitios virtuales
- Práctica: Configuración de sitios virtuales en nginx
23 - Reflexión: Las acciones en una página web, ¿Se ejecutan en el cliente o en el servidor?
- Explicación: Código cliente y código servidor. Lenguajes
- Práctica: Ejecuta código cliente y código servidor en nginx
24 - Reflexión: ¿Se puede extender la funcionalidad de un servidor web con módulos?
- Explicación: Utilidad e instalación de módulos
- Práctica: Instalación de nginx con módulos asociados
25 - Reflexión: ¿Puedo bloquear el acceso en mi página web a una determinada IP?
- Explicación: Seguridad en un servidor web
- Práctica: Asegura tu servidor nginx
26 - Finalización de prácticas pendientes
- Práctica de ampliación: Sirve tu página web usando IIS en Windows Server
27 - Evaluación de los criterios: 5c, 5d, 5e, 5g, 5h
- Recuperación de los criterios: 5b, 5f, 5i
28 - Revisión de la evaluación
29 - Reflexión: ¿Cómo explicarías a un familiar las distintas formas que tenemos de acceder y administrar un sistema remotamente?
- Explicación: Creamos definiciones de los distintos tipos de acceso y administración remoto entre todos
- Trabajo personal: Escribimos nuestras propias definiciones y escenarios de uso para cada tipo
30 - Reflexión: ¿Cuál es la utilidad de un servidor FTP? ¿En qué modos puede operar?
- Explicación: Se proponen escenarios empresariales y se discuten soluciones en grupo
- Trabajo personal: Búsqueda de ejemplos en Internet
31 - Reflexión: ¿Cómo funciona un servidor web? ¿Qué protocolos utiliza?
- Explicación: Procedimiento de comunicación entre cliente y servidor web y descripción del funcionamiento de los protocolos
- Trabajo personal: Creamos nuestros propios diagramas que expliquen las comunicaciones de un servidor web
32 - Reflexión: ¿Cuáles son las ventajas y desventajas de cada tipo de acceso remoto?
- Explicación: Se proponen escenarios empresariales y se discuten soluciones en grupo
- Trabajo personal: Creamos una tabla con las ventajas y desventajas de cada tipo de acceso remoto
33 - Autoevaluamos nuestro conocimiento teórico de los servicios
- Repaso
34 - Evaluación de los criterios: 3a, 5a, 6a y 6g
35 - Revisión de la evaluación
36 - Proyecto: Creamos nuestro propio Hosting
37 - Proyecto: Creamos nuestro propio Hosting
38 - Proyecto: Creamos nuestro propio Hosting
39 - Proyecto: Creamos nuestro propio Hosting
40 - Defensa de proyectos
41 - Repaso/Recuperación de los RA 2, 5 y 6
42 - Revisión de la evaluación

He estructurado cada semana de la misma forma: cuatro sesiones con nuevo contenido, una sesión extra para que terminen los más rezagados y puedan ampliar los más aventajados, una sesión de evaluación y otra de revisión de la misma (sería ideal que estas dos últimas sesiones fueran seguidas en el tiempo).

Cada sesión en la que se enseña nuevo contenido, empieza con una reflexión. Se lanza una pregunta que pone en evidencia un problema, en base a los conocimientos previos del alumnado. Durante esa hora se proporcionarán las herramientas para resolver ese problema la próxima vez que les surja. Después, se realizará una práctica para que ellos mismos puedan de alguna manera “tocar” la solución propuesta.

Para que el trabajo pendiente no se acumule al alumnado que necesite más tiempo, se dedicará una hora completa para terminarlo, despejar dudas y asegurar que se encuentran preparados para una evaluación. Los alumnos más aventajados pueden realizar una práctica más para mejorar su transferencia del aprendizaje.

Llegamos a la sesión de evaluación, donde se pondrá a prueba lo que han aprendido. Es muy importante que el docente esté atento a las distintas dificultades con las que se encuentren los estudiantes.

Y por último, y más importante, finaliza la semana con la sesión de revisión. Es probablemente la sesión clave, ya que nos permite aplicar una evaluación formativa de calidad. El alumnado debe ser consciente de que no será la última vez que tengan que poner a prueba esos conocimientos, para que presten la atención suficiente. En esta hora el docente explicará y aclarará las dificultades que haya detectado en la sesión anterior.

La dos últimas semanas de la unidad son un poco diferentes al resto. En la penúltima semana se trabajan los conceptos más puramente teóricos. En muchas ocasiones, se comienza con la explicación teórica antes de pasar a la práctica. Pienso que si solo impartimos la teoría básica al comienzo, el alumnado estará mucho mejor preparado para entender conceptos complejos después de realizar varias pruebas prácticas, ya que podrá crear conexiones con conocimientos previos más fácilmente. La última semana se destina a un proyecto que integre todos los contenidos vistos en la unidad (y potencialmente en unidades anteriores). Es importante que sea lo más aplicado posible, intentando que tenga una utilidad real. Así, el alumnado comprobará que lo que ha aprendido le servirá en su futuro profesional y se sentirá más motivado a seguir aprendiendo.

Con esta planificación, conseguimos que cada resultado de aprendizaje se trabaje durante bastante tiempo, mucho más que si lo vemos solamente en una unidad aislada. Sería bueno aprovechar cualquier circunstancia de unidades posteriores para volver también a utilizarlos, consiguiendo así un repaso espaciado. El único objetivo de los que propusimos que se queda un poco cojo es el que está relacionado con la transferencia del aprendizaje. Sería ideal que pusiesen en práctica los contenidos en situaciones más variadas y en distintos sistemas operativos, pero es difícil conseguirlo con el tiempo que hay tan ajustado para impartir el currículum completo. Se pueden aprovechar para este propósito los tiempos dedicados a las prácticas de ampliación.

Espero que os resulte, cuanto menos, interesante. Quizás las circunstancias actuales no sean las idóneas para poner en práctica algo así por primera vez. Comenzamos un curso lleno de incertidumbres, en el que es probable que tengamos que modificar nuestra planificación prácticamente cada día. Si logro llevar a cabo una buena estrategia que pueda replicarse, seréis los primeros en enteraros. Espero que vosotros también la compartáis en ese caso.

Mucho ánimo y buena suerte.

Servicios en Red: Una programación didáctica en espiral (II)

2020-08-22 4 min read David Romero

Después de definir el objetivo de esta programación y clasificar los criterios de evaluación , toca desglosar en términos generales a qué vamos a dedicar cada semana.

Lo ideal hubiese sido trabajar todos los resultados de aprendizaje en paralelo, de forma que se fuera profundizando en cada uno de ellos durante el curso. Sin embargo, al tratarse de un grado medio, he pensado que quizás sería demasiado abrumador, por lo que he optado por agrupar los resultados de aprendizaje. De esta forma, se aprenderán en paralelo un conjunto de los mismos. Esto no significa que, una vez trabajado un grupo, no se volverán a usar durante el curso. Las evaluaciones y proyectos están diseñados para que se vayan repasando los contenidos tratados anteriormente a lo largo de todo el curso escolar.

Para fomentar la evaluación formativa, se realizarán evaluaciones todas las semanas. En cada evaluación, un porcentaje se destinará al repaso de algunos de los resultados de aprendizaje previos y otro porcentaje a la evaluación de nuevos criterios.

Creo que es bueno que los alumnos no trabajen con un solo software para un determinado servicio, ni con un solo sistema operativo, pero tampoco tiene tantas horas el módulo como para dedicar el tiempo suficiente a ver los más utilizados. Por eso recomiendo coordinarse con los profesores de otros módulos como aplicaciones web o sistemas operativos en red. Por ejemplo, en aplicaciones web puede usarse Apache en Windows y en servicios en red usar Nginx en Ubuntu Server. También se puede impartir el módulo de sistemas operativos en red centrado en Windows y el de servicios en red centrado en Linux.

En este caso, he optado por centrar el módulo en Ubuntu Server, usando las siguientes aplicaciones:

  • OpenSSH y Webmin en el servicio de acceso remoto.
  • Vsftpd en el servicio de transferencia de ficheros.
  • Nginx en el servicio web.
  • Bind9 en el servicio de nombres de dominio.
  • Isc-dhcp-server en el servicio de configuración dinámica de la red.
  • Postfix y Squirrelmail en el servicio de correo.
  • FreeRadius en seguridad de redes inalámbricas.
  • Squid como proxy y WireGuard como VPN para la conexión de redes privadas y públicas.

Esto no quiere decir que puntualmente no utilice otras herramientas y otros sistemas operativos, así como soluciones de paneles de control de empresas dedicadas al hosting.

A continuación, tenéis una propuesta de trabajo para cada una de las semanas del módulo:

Semana Contenido
1 Repaso de redes y funcionamiento de Linux
2 Repaso de redes y comandos de Linux*
3 Introducción a SSH, FTP y servicio web
4 Configuración básica de SSH, vsftpd y nginx
5 Acceso remoto y vsftpd avanzado
6 Nginx avanzado
7 Afianzando la teoría (Acceso remoto, servicio de transferencia de ficheros y servicio web)
8 Proyecto de integración (SSH, FTP y servicio web en un hosting)
9 Introducción a DNS y DHCP
10 Configuración básica de bind9 e introducción al servicio de correo
11 Configuración avanzada de bind9 y isc-dhcp-server
12 Configuración avanzada de postfix y squirrelmail
13 Afianzando la teoría (DNS, DHCP y servicio de correo)
14 Introducción a Proxy y VPN con configuración básica de Squid y WireGuard
15 Configuración avanzada de Squid y WireGuard
16 Introducción e instalación de un servidor Radius
17 Teoría sobre la seguridad en redes inalámbricas
18 Proyecto de repaso - Configuración de servicios en una red local (I)
19 Pruebas de evaluación finales
20 Proyecto de repaso - Configuración de servicios en una red local (II)
21 Recuperación / Proyectos de repaso - Creación de una red con ZeroTier

*Normalmente dedico una sola semana al repaso, pero dado que el alumnado de este nivel tuvo una instrucción de emergencia durante el tercer trimestre del pasado curso, he creído conveniente dedicar el doble de tiempo para evitar lagunas que dificulten la asimilación de nuevos contenidos.

El orden y la agrupación de resultados de aprendizaje está realizado en base a criterios subjetivos. Si alguien tiene interés especial en eso, podría dar una explicación al respecto.

Me gustaría que aquellos profesores que han impartido el módulo alguna vez, me comentaran sus opiniones sobre esta distribución temporal, así como formas alternativas de plantearlo.

Una vez llegados a un consenso aquí, tocará decidir en cada sesión qué contenido se trabaja y/o qué criterio se evalúa.

Actualización: Ya tenéis disponible el desenlace de esta serie aquí.

Servicios en Red: Una programación didáctica en espiral

2020-08-04 7 min read David Romero

Siguiendo la estela del guante lanzado en esta publicación, ha llegado el momento de comenzar a esbozar una nueva programación para el módulo Servicios en Red.

Voy a partir de los criterios de evaluación de los distintos resultados de aprendizaje, dividiéndolos primero en conceptuales (cosas que el alumnado debe saber) y procedimentales (cosas que el alumnado debe saber hacer). Aunque directamente prefiero hacer la diferenciación entre teóricos (T) y prácticos (P). Os sonará muy antiguo todo, pero también queda antiguo ya lo de conceptual y procedimental, y así creo que nos entendemos mucho mejor. A poco que echéis un vistazo a los criterios, os daréis cuenta de que la categorización en un grupo u otro es muy sencilla. Los teóricos utilizan verbos como reconocer, identificar, ilustrar, describir…, etc. Los prácticos, por otra parte, usan verbos como instalar, comprobar, verificar, crear, configurar, implementar…, etc. Si no estáis de acuerdo con alguno de los criterios clasificados siempre podemos discutirlo.

La otra categorización es más compleja, ya que es totalmente subjetiva. Me refiero al peso que va a tener cada criterio en la evaluación: básico, intermedio o avanzado. Si queréis saber por qué lo hago de esta manera, tenéis la explicación completa en esta publicación. He considerado que la instalación, configuración básica y verificación de cada servicio sería un criterio básico y, por lo tanto, mínimo. Una configuración un poco más compleja o un concepto que requiere tener conocimientos básicos de cómo funciona el servicio lo he clasificado como intermedio. Los criterios avanzados son aquellos que tienen la máxima complejidad y son totalmente complementarios. Esta clasificación está totalmente abierta al debate, es más, me ayudaría muchísimo que se discutiera y que todos los docentes que impartimos el módulo estableciésemos un criterio similar, ya que contribuiría a hacer la evaluación más justa independientemente del centro educativo en el que estudie el alumnado.

Tenéis la tabla completa con todos los criterios clasificados del módulo a continuación:

Criterio de evaluación Tipo Peso propuesto
1a. Se ha reconocido el funcionamiento de los mecanismos automatizados de configuración de los parámetros de red T B
1b. Se han identificado las ventajas que proporcionan T B
1c. Se han ilustrado los procedimientos y pautas que intervienen en una solicitud de configuración de los parámetros de red T I
1d. Se ha instalado un servicio de configuración dinámica de los parámetros de red P B
1e. Se ha preparado el servicio para asignar la configuración básica a los sistemas de una red local P B
1f. Se han realizado asignaciones dinámicas y estáticas P B
1g. Se han integrado en el servicio opciones adicionales de configuración P I
1h. Se ha verificando la correcta asignación de los parámetros P B
2a. Se han identificado y descrito escenarios en los que surge la necesidad de un servicio de resolución de nombres T B
2b. Se han clasificado los principales mecanismos de resolución de nombres T I
2c. Se ha descrito la estructura, nomenclatura y funcionalidad de los sistemas de nombres jerárquicos T I
2d. Se ha instalado un servicio jerárquico de resolución de nombres P B
2e. Se ha preparado el servicio para almacenar las respuestas procedentes de servidores de redes públicas y servirlas a los equipos de la red local P B
2f. Se han añadido registros de nombres correspondientes a una zona nueva, con opciones relativas a servidores de correo y alias P I
2g. Se ha trabajado en grupo para realizar transferencias de zona entre dos o más servidores P A
2h. Se ha comprobado el funcionamiento correcto del servidor P B
3a. Se ha establecido la utilidad y modo de operación del servicio de transferencia de ficheros T B
3b. Se ha instalado un servicio de transferencia de ficheros P B
3c. Se han creado usuarios y grupos para acceso remoto al servidor P I
3d. Se ha configurado el acceso anónimo P I
3e. Se han establecido límites en los distintos modos de acceso P A
3f. Se ha comprobado el acceso al servidor, tanto en modo activo como en modo pasivo P B
3g. Se han realizado pruebas con clientes en línea de comandos y en modo gráfico P B
4a. Se han descrito los diferentes protocolos que intervienen en el envío y recogida del correo electrónico T B
4b. Se ha instalado un servidor de correo electrónico P B
4c. Se han creado cuentas de usuario y verificado el acceso de las mismas P B
4d. Se han definido alias para las cuentas de correo P I
4e. Se han aplicado métodos para impedir usos indebidos del servidor de correo electrónico P A
4f. Se han instalado servicios para permitir la recogida remota del correo existente en los buzones de usuario P I
4g. Se han usado clientes de correo electrónico para enviar y recibir correo P B
5a. Se han descrito los fundamentos y protocolos en los que se basa el funcionamiento de un servidor web T B
5b. Se ha instalado un servidor web P B
5c. Se han creado sitios virtuales P I
5d. Se han verificado las posibilidades existentes para discriminar el sitio destino del tráfico entrante al servidor P A
5e. Se ha configurado la seguridad del servidor P A
5f. Se ha comprobando el acceso de los usuarios al servidor P B
5g. Se ha diferenciado y probado la ejecución de código en el servidor y en el cliente P B
5h. Se han instalado módulos sobre el servidor P I
5i. Se han establecido mecanismos para asegurar las comunicaciones entre el cliente y el servidor P A
6a. Se han descrito métodos de acceso y administración remota de sistemas T B
6b. Se ha instalado un servicio de acceso remoto en línea de comandos P B
6c. Se ha instalado un servicio de acceso remoto en modo gráfico P B
6d. Se ha comprobado el funcionamiento de ambos métodos P B
6e. Se han identificado las principales ventajas y deficiencias de cada uno T I
6f. Se han realizado pruebas de acceso remoto entre sistemas de distinta naturaleza P I
6g. Se han realizado pruebas de administración remota entre sistemas de distinta naturaleza P I
7a. Se ha instalado un punto de acceso inalámbrico dentro de una red local P B
7b. Se han reconocido los protocolos, modos de funcionamiento y principales parámetros de configuración del punto de acceso T B
7c. Se ha seleccionado la configuración más idónea sobre distintos escenarios de prueba P I
7d. Se ha establecido un mecanismo adecuado de seguridad para las comunicaciones inalámbricas P I
7e. Se han usado diversos tipos de dispositivos y adaptadores inalámbricos para comprobar la cobertura P B
7f. Se ha instalado un encaminador inalámbrico con conexión a red pública y servicios inalámbricos de red local P A
7g. Se ha configurado y probado el encaminador desde los ordenadores de la red local P I
8a. Se ha instalado y configurado el hardware de un sistema con acceso a una red privada local y a una red pública P B
8b. Se ha instalado una aplicación que actúe de pasarela entre la red privada local y la red pública P B
8c. Se han reconocido y diferenciado las principales características y posibilidades de la aplicación seleccionada T I
8d. Se han configurado los sistemas de la red privada local para acceder a la red pública a través de la pasarela P I
8e. Se han establecido los procedimientos de control de acceso para asegurar el tráfico que se transmite a través de la pasarela P A
8f. Se han implementado mecanismos para acelerar las comunicaciones entre la red privada local y la pública P A
8g. Se han identificado los posibles escenarios de aplicación de este tipo de mecanismos T I
8h. Se ha establecido un mecanismo que permita reenviar tráfico de red entre dos o más interfaces de un mismo sistema P I
8i. Se ha comprobado el acceso a una red determinada desde los sistemas conectados a otra red distinta P I
8j. Se ha implantado y verificado la configuración para acceder desde una red pública a un servicio localizado en una máquina de una red privada local P I

Este es el punto de partida, y sobre esta base construiremos una nueva programación didáctica. Próximamente en sus mejores dispositivos.

Actualización: Ya tenéis disponible la segunda publicación de esta serie aquí y el desenlace aquí.