Las cookies nos permiten ofrecer nuestros servicios. Al utilizar nuestros servicios, aceptas el uso que hacemos de las cookies. Más Información. Aceptar

Cómo habilitar y configurar un Servidor DHCP

Miguel Parada
  • Escrito por Miguel Parada el 01 de Octubre de 2019
  • 4 min de lectura | Desarrollo Web
Cómo habilitar y configurar un Servidor DHCP

Como hemos visto en un artículo anterior, un Servidor DHCP (Dynamic Host Configuration Protocol – Protocolo de Configuración Dinámica de Equipos) puede ser una excelente solución tanto para grandes como pequeños entornos. Este tipo de servidores nos permiten definir rangos de direcciones IP para los equipos clientes que se conecten a nuestra organización y de este modo administrar de forma centralizada todas las direcciones IP del dominio. 

De este modo tendremos plena confianza en que todos los equipos y dispositivos que cuelguen de nuestra red tendrán de forma automática su dirección IP, evitando ir a cada máquina a definir la dirección de forma manual. 

Además de la dirección IP mediante un servidor DHCP proveemos los siguientes parámetros:

  • Máscara de subred
  • Dirección IP
  • Puerta de enlace
  • Servidores DNS, entre otros.

Para hacer uso de este servidor necesitaremos trabajar con el protocolo DHCP. Este protocolo de red se basa en un modelo cliente-servidor. Para ponernos en situación, donde un dispositivo (un portátil, móvil, etc.) solicita en el momento de conectarse a una red la configuración IP a un servidor DHCP a través de los puertos UDP 67 y 68 (para IPv6, los puertos 546 y 547), que por su parte consulta en una base de datos las direcciones y parámetros de red asignables antes de dar una respuesta. 

Habilitar DHCP

Administrar nuestro propio Servidor DHCP no es tarea complicada pero requiere ciertos conocimientos previos. Cuando estamos trabajando con entornos DHCP es frecuente conocer estos términos:

  • Ámbito DHCP: Lo definiremos como el grupo administrativo de usuarios o equipos de una subred.
  • Rango DHCP: No debemos confundirlo con el anterior. Por rango entenderemos un grupo de direcciones IP para una función determinada dentro de la organización.
  • Concesión: Este parámetro establece el tiempo en el cual un equipo puede usar de forma activa una dirección IP en el dominio o grupo de trabajo. 
  • Reserva de direcciones IP: Si fuera necesario, siempre podemos reservar una o diversas direcciones IP para fines administrativos.

Para instalar el rol DHCP en nuestro servidor podemos seguir diferentes guías y utilizar sistemas tan variados como MS/WIndows o GNU/Linux. Para este artículo vamos a instalar un Servidor DHCP y configurarlo en Ubuntu Server 18.04, pero el proceso es bastante similar para cualquier otra distribución GNU/Linux. 

Para empezar, en primer paso será instalar el servicio DHCP en nuestro Linux server con “sudo apt install isc-dhcp-server” el proceso no debería llevar más de unos pocos minutos dependiendo de la velocidad de nuestra conexión de Internet para descargar el  paquete y dependencias necesarios.

Imagen 0 en Cómo habilitar y configurar un Servidor DHCP

Configurar DHCP

Ahora vamos a editar el fichero de configuración de nuestro servidor DHCP con sudo nano /etc/dhcp/dhcpd.conf y lo dejamos así.

Imagen 1 en Cómo habilitar y configurar un Servidor DHCP

Por supuesto esto es solo un ejemplo. La idea es poder mostrar los conceptos que antes comentamos. Por ejemplo, el valor de Concesión (Lease-Time), el rango y ámbito, así como la reserva de direcciones IP para determinadas máquinas presentes en nuestra red, por ejemplo otro servidor. 

Claramente, esto podemos modificarlo a nuestro gusto según las necesidades de nuestra red. Pero no te lances a modificar valores sin más, lo mejor es que planifiques un poco tu red. Para ello pasar un tiempo con papel y lápiz siempre es buena idea. 

El siguiente paso es comprobar que desde un cliente Windows todo funciona. Para ello debemos hacer ipconfig /release y luego ipconfig /renew desde el command promt.  Estos comandos lo que hacen es liberar la configuración Ip y solicitar una nueva configuración.

Si todo ha ido bien deberíamos tener un resultado como el que sigue en las siguientes capturas de pantalla: 

Imagen 2 en Cómo habilitar y configurar un Servidor DHCP

Imagen 3 en Cómo habilitar y configurar un Servidor DHCP

Aunque el proceso parece rápido, en realidad es consecuencia de llevar con éxito cuatro pasos consecutivos:

  1. Difusión amplia o broadcast: El cliente envía un paquete DHCPDISCOVER, de modo que intenta localizar los servidores DHCP disponibles y así continuar con la petición.
  2. Oferta: Los servidores DHCP presentes en la red se encuentran a la escucha de peticiones a través del puerto 67. En cuanto detectan la petición de un cliente envían un paquete que contiene una dirección IP libre.
  3. Solicitud: El cliente DHCP que recibe el paquete contacta con el servidor correspondiente con DHCPREQUEST. De este modo, confirma al servidor que acepta los parámetros asignados anteriormente.
  4. Confirmación: Para finalizar, el servidor confirma los parámetros TCP/IP y los guarda en la base de datos del servidor junto con la dirección MAC del cliente.

Cómo solucionar los errores más comunes con DHCP

No todas las configuraciones funcionan tan bien como nos gustaría. Los clientes DHCP proporcionan de manera automática sus tarjetas de red (NICs) y direcciones IP, que comienzan con 169.254.xx hasta que puedan entrar en contacto con el servidor DHCP. Cuando se logra el contacto se reconfiguran las direcciones IP a los valores proporcionados por el servidor DHCP. Por lo tanto, una interfaz con una dirección 169.254.xx significa que hay un fallo en la comunicación con el servidor DHCP.

¿Qué puede estar pasando? Existen múltiples causas de diferentes problemas y resulta prácticamente muy difícil listarlos todos.  En la mayoría de los casos, la falta de un enlace es debida a un problema en el cable, tarjeta de red o un problema en la configuración. Por ejemplo:

  • Los cables no funcionan.
  • El switch o router al que está conectado el servidor cuenta con su propio servicio DHCP.
  • Configuración incorrecta en nuestro servidor DHCP

Pero existen otros motivos:

  • Colisiones: Cuando la tarjeta NIC se detecta a sí misma y otro servidor en la LAN trata de transmitir datos al mismo tiempo. Las colisiones se pueden esperar como una parte normal de la operación de Ethernet y están típicamente por debajo del 0,1% de todas las tramas enviadas (frames sent). En general, las altas tasas de error son probablemente causadas ​​por tarjetas de red NIC defectuosas o cables mal terminados.
  • CRC: Cuando las tramas son enviadas pero se corrompen en el tránsito. La presencia de errores CRC pero sin muchas colisiones, por lo general es una indicación de que existe ruido eléctrico. Hay que verificar el tipo correcto de cable, que el cableado no se encuentre dañado y que los conectores estén bien fijados.
  • Trama (Frame errors): Un CRC incorrecto y un número no entero de bytes se reciben. Esto suele ser el resultado de colisiones o porque un dispositivo Ethernet se encuentra defectuoso.
  • Firewall: Asegúrate antes de probar tu configuración DHCP que esta no incumple las reglas vigentes del firewall.
  • Descartado esto, algunos problemas del servidor DHCP pueden ser la causa de nuestros problemas, por lo que hay algunas cosas a tener en cuenta.

Por ejemplo, en el archivo de configuración principal /etc/dhcp/dhcpd.conf asegúrate de finalizar todas tus opciones con un punto y coma ;.

Puede parecer una tontería, pero si esto sucede el servicio arroja un error cuando verifica el archivo de configuración. Además, asegúrate de probar también el servidor DHCP después de que las reglas del firewall estén vigentes.

Otra aproximación a la resolución de problemas del cliente está en consultar el archivo de arrendamiento del cliente. Este archivo es proporcionado por el servidor DHCP y contiene toda la información de arrendamiento sobre cada cliente que ha obtenido una dirección IP del servidor.

Cuando tiene un cliente que tiene una dirección DHCP, se puede ver el archivo de arrendamientos utilizando lo siguiente:

# cat /var/lib/dhcpd/dhcpd.leases

Ahí se puede consultar la información asignada, así como cualquier mensaje de error relacionado, y a partir de ahí buscar la solución al problema. Claro que esto es fácil de decir, en el mundo real todos sabemos que esto lleva tiempo y siempre es necesario disponer de los conocimientos adecuados para poder dar con la solución. A fin de cuentas, cada red es diferente.

Relacionado

Te dejamos una selección de cursos, carreras y artículos

Curso de Redes Virtuales en Azure

Curso de Redes Virtuales en Azure

curso

Con este curso aprenderás:

  • Introducción a las redes virtuales de Azure
  • Aprenderás el comportamiento de las redes virtuales y subredes
  • Trabajarás con IPs privadas y públicas en Azure

Duración: 1 hora y 55 minutos

Curso de IPv6

Curso de IPv6

curso

Con este curso aprenderás:

  • Dominarás IPv6.
  • Uso básico de direcciones de enlace global.
  • Direccionamiento global.

Duración: 2 horas y 39 minutos

Curso de fundamentos de Redes: TCP/IP

Curso de fundamentos de Redes: TCP/IP

curso

Con este curso aprenderás:

  • Qué es una dirección IPv4 y sus características principales
  • En qué consiste en enrutamiento
  • Para qué sirven los diferentes niveles de la pila TCP/IP

Duración: 4 horas y 48 minutos

Estas son algunas de las empresas que ya confían en OpenWebinars

Profesores y profesionales

Nuestros docentes son profesionales que trabajan día a día en la materia que imparten

Conviértete en profesor de OpenWebinars