Qué vas a hacer
Cuando un ordenador entra en una red necesita una dirección y una forma de convertir un nombre como files.lab en una dirección. Normalmente un solo programa pequeño hace las dos cosas: DHCP reparte direcciones y DNS responde a los nombres. Aquí ese programa es dnsmasq, y está en marcha en un servidor sin configurar. Vas a pedirle una dirección y un nombre, y a ver cómo dice que no. No vas a arreglarlo: la configuración es la tarea del propio laboratorio.
Antes de empezar
Nota
Pulsa Iniciar el laboratorio en la barra de la parte superior de esta lección. Este laboratorio es una máquina Ubuntu entera para ti, con una pequeña red construida dentro, así que tarda un poco más en arrancar que un contenedor. Cada botón Ejecutar de abajo escribe su comando en el terminal de la máquina, uno detrás de otro. Si alguno dice que la máquina todavía está arrancando, espera unos segundos y púlsalo otra vez. Para verlos, o para escribir los tuyos, pulsa Abrir el terminal (pestaña nueva) en la barra.
1. Conoce las máquinas
Todo esto está construido dentro de tu única máquina Ubuntu: cada ordenador es un espacio de nombres de red (network namespace) distinto, con sus propias direcciones. dnslab status los enumera. El server tiene la dirección 10.0.10.1, y pc1 y pc2 no tienen ninguna: bajo ellos no aparece nada. También dice que dnsmasq está en marcha.
dnslab statusSe muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
2. Pide una dirección
Un ordenador sin dirección se la pide a toda la red, y un servidor DHCP le responde. dnslab renew hace que pc1 la pida, y espera unos tres segundos. La respuesta es que a pc1 no le han dado nada: nadie contestó, porque a dnsmasq no le han dicho que reparta ninguna.
sudo dnslab renew pc1Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
3. Pide un nombre
dig le pregunta un nombre a un servidor DNS, en este caso el del servidor, 10.0.10.1. Preguntas desde el propio servidor, porque pc1 no tiene dirección desde la que preguntar. La cabecera dice status: REFUSED y ANSWER: 0: dnsmasq no sabe nada de files.lab y no tiene dónde buscarlo.
sudo ip netns exec server dig +noall +comments @10.0.10.1 files.labSe muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
4. Lee la configuración
dnsmasq lee sus ajustes de los archivos de /etc/dnsmasq.d. El laboratorio te dejó uno, lab.conf. Solo tiene tres líneas de comentarios y nada más, y por eso no reparte nada.
cat /etc/dnsmasq.d/lab.confSe muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
Ahora haz el laboratorio
Consejo
Ya has visto lo que falta: direcciones que repartir y nombres que responder. Hacer que el servidor haga las dos cosas es la tarea de este laboratorio: abre README.md en tu carpeta personal con cat README.md en el terminal. Te explica qué hacer y no da ninguna respuesta.
Para el profesorado
Consejo
Esta lección es un pequeño ejemplo de una lección practicada en un laboratorio: los pasos y los botones Ejecutar son la lección, y el laboratorio es la copia propia de cada alumno. Esta lección usa un laboratorio de máquina virtual: cada alumno tiene su propia máquina Ubuntu con un servidor y dos clientes dentro, y un botón Ejecutar escribe en su terminal y muestra lo que se imprimió. El propio laboratorio tiene una comprobación que reinicia dnsmasq con el archivo guardado y hace que los clientes pregunten de nuevo. Cópiela en su propio módulo y modifíquela, o cree una desde cero con el menú Laboratorio del constructor de lecciones.