¿Te resulta más fácil leer con fondo crema, un tono de color, más contraste o un texto más grande? Elige tus colores y tu texto una sola vez, para todas las páginas.

Lección gratuita

Repartir direcciones y nombres (DHCP, DNS)

Después de esta lección: Puedo explicar cómo consigue un equipo una dirección y un nombre.

Lección de 55 min6 comandosLaboratorio de DHCP y DNS: configura dnsmasq para una red pequeña en el navegador

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

PalabraQué significaEjemplo
DHCPel servicio que presta direcciones a los equipos que las piden
Cesiónuna dirección prestada durante un tiempo fijo12 horas
Ámbitoel rango de direcciones que un servidor DHCP puede prestar10.0.10.100 a 10.0.10.150
Reservauna dirección fija para un equipo, que se reconoce por su dirección física
DNSel servicio que convierte un nombre en una dirección
Registroun 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

PasoLo envíaQué dice
DiscoverEl equipo¿Hay algún servidor DHCP aquí?
OfferEl servidorPuedes quedarte con esta dirección
RequestEl equipoQuiero esa dirección, por favor
AcknowledgeEl servidorEs tuya hasta esta hora

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

Conoce el servidor y dos clientes

Comando
dnslab status

Se 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

Comando
sudo dnslab renew pc1

Se 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

CampoEjemploSignificado
Caducidad1761400000Cuándo acaba la cesión, en segundos desde 1970. Cero es nunca
Dirección física02:00:00:00:00:0aQuién tiene la cesión
Dirección192.168.1.101Lo que se prestó
Nombrecaja1El nombre que dio el equipo, o un asterisco
Id de cliente01:02:00:00:00:00:0aOtra 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

Comando
sudo ip netns exec pc1 ip -o link show eth0

Se 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

Comando
cat /etc/dnsmasq.d/lab.conf

Se 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

TipoRespondeEjemplo
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

Comando
sudo ip netns exec server dig +noall +comments @10.0.10.1 files.lab

Se 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

Comando
cat /etc/netns/pc1/resolv.conf

Se 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?

Sobre este laboratorio y su código: Laboratorio de DHCP y DNS: configura dnsmasq para una red pequeña en el navegador

¿Enseñas a una clase? Asigna este módulo a tus alumnos con guía del profesor, tareas con corrección automática y un laboratorio para cada alumno.