Lo enchufas y funciona
Una persona nueva enchufa su portátil a la toma de la pared y abre la web de la empresa. Nadie escribió una dirección. Nadie configuró ningún servidor.
Dos servicios pequeños lo lograron en menos de un segundo. Uno presta una dirección al portátil. El otro convierte un nombre en un número.
Hoy abrimos los dos.
Al final de esta lección
Nota
Puedo explicar cómo consigue un equipo una dirección y un nombre.
Palabras clave
| Palabra | Qué significa | Ejemplo |
|---|---|---|
| DHCP | el servicio que presta direcciones a los equipos que las piden | |
| Cesión | una dirección prestada durante un tiempo fijo | 12 horas |
| Ámbito | el rango de direcciones que un servidor DHCP puede prestar | 10.0.10.100 a 10.0.10.150 |
| Reserva | una dirección fija para un equipo, que se reconoce por su dirección física | |
| DNS | el servicio que convierte un nombre en una dirección | |
| Registro | un dato que un servidor DNS guarda sobre un nombre |
Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.
Un equipo sin dirección pide una
Un equipo nuevo aún no tiene dirección y no sabe dónde está el servidor. Así que envía su pregunta a todos los equipos del enlace. Eso es una difusión.
Un servidor DHCP responde. Hablan en cuatro pasos, en inglés Discover, Offer, Request y Acknowledge.
Ejemplo resuelto: los cuatro pasos
| Paso | Lo envía | Qué dice |
|---|---|---|
| Discover | El equipo | ¿Hay algún servidor DHCP aquí? |
| Offer | El servidor | Puedes quedarte con esta dirección |
| Request | El equipo | Quiero esa dirección, por favor |
| Acknowledge | El servidor | Es tuya hasta esta hora |
Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.
Conoce el servidor y dos clientes
dnslab statusSe muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
Haz que pc1 pida una dirección
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.
Qué dicen las respuestas
El primer Run muestra que server tiene dirección y que pc1 y pc2 no.
El segundo Run espera unos tres segundos. Después imprime pc1 was given nothing: no DHCPOFFER came back. El Discover salió y no volvió ningún Offer.
Una dirección se presta, no se regala
Una cesión dura un tiempo fijo. El equipo debe pedir renovarla antes de que acabe. Si desaparece, la dirección vuelve al conjunto.
El ámbito es el conjunto del que el servidor puede prestar. Una reserva une una dirección fija con una dirección física, así que una impresora recibe siempre la misma.
Ejemplo resuelto: una línea de cesiones
| Campo | Ejemplo | Significado |
|---|---|---|
| Caducidad | 1761400000 | Cuándo acaba la cesión, en segundos desde 1970. Cero es nunca |
| Dirección física | 02:00:00:00:00:0a | Quién tiene la cesión |
| Dirección | 192.168.1.101 | Lo que se prestó |
| Nombre | caja1 | El nombre que dio el equipo, o un asterisco |
| Id de cliente | 01:02:00:00:00:00:0a | Otra etiqueta, o un asterisco |
Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.
Lee la dirección física de un cliente
sudo ip netns exec pc1 ip -o link show eth0Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
Lee el fichero de configuración del servidor
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.
Por qué el servidor no presta nada
El primer Run imprime una línea que incluye link/ether 02:00:00:00:00:01. Esa dirección física es lo que usa el servidor para distinguir a pc1 de pc2.
El segundo Run imprime tres líneas de comentarios y nada más. Sin ámbito, dnsmasq no tiene direcciones que prestar.
DNS convierte un nombre en una dirección
Las personas recordamos nombres. Los routers necesitan números. Un servidor DNS guarda registros que unen los dos.
Un equipo pregunta a su servidor DNS configurado. El servidor responde con sus registros, o pregunta a otro y recuerda la respuesta un tiempo.
DHCP le dice al equipo qué servidor DNS usar.
Ejemplo resuelto: tipos de registro
| Tipo | Responde | Ejemplo |
|---|---|---|
| A | ¿Qué dirección IPv4 tiene este nombre? | archivos.lab es 10.0.10.20 |
| AAAA | ¿Qué dirección IPv6 tiene este nombre? | archivos.lab es un número hexadecimal largo |
| CNAME | ¿Este nombre es otro nombre? | www es lo mismo que tienda |
| MX | ¿Qué servidor recibe el correo de este dominio? | correo.ejemplo.org |
| PTR | ¿Qué nombre tiene esta dirección? | 10.0.10.20 es archivos.lab |
| TXT | ¿Qué nota lleva asociada? | Un texto corto |
Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.
Pide un nombre al servidor
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.
Lee la lista de servidores DNS de pc1
cat /etc/netns/pc1/resolv.confSe muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
Un error frecuente
Advertencia
Mucha gente cree que DHCP y DNS son un mismo servicio. Hacen trabajos distintos. DHCP presta direcciones a los equipos. DNS responde preguntas sobre nombres. Un programa puede hacer los dos, como dnsmasq aquí, y siguen siendo dos trabajos.
Para ir más lejos: una cesión renovada
Cuando termines el laboratorio, ejecuta sudo dnslab renew pc1 dos veces, con un minuto entre una y otra.
Después lee el fichero de cesiones del servidor con sudo cat /run/dnslab/dnsmasq.leases. Pásale su texto a tu función active_leases con la hora actual. ¿Cambió la dirección de pc1? ¿Cambió la caducidad?