En este tutorial, configuramos nuestro propio servidor DHCP en Ubuntu. El Protocolo de configuración dinámica de host (DHCP) es un servicio de red para asignar automáticamente direcciones IP a clientes en una red. Sigue una arquitectura servidor-cliente en la que el cliente solicita un servidor DHCP para obtener una dirección IP. La mayoría de los enrutadores tienen un servidor DHCP incorporado, pero también podemos usar nuestro propio servidor DHCP.
Tabla de contenido
- ¿Cómo funciona DHCP?
- Pasos para configurar el servidor DHCP en Ubuntu
- Solución de problemas
- Conclusión
¿Cómo funciona DHCP?
Cuando la computadora arranca, no tiene una dirección IP (suponiendo que no tenga configurada una dirección IP estática, que la mayoría de las máquinas no tienen). Envía una transmisión (en la dirección MAC con todas las F) llamadaDescubrir DHCP. Los servidores DHCP están diseñados para responder a tales transmisiones.
Luego envían tráfico de unidifusión conocido comoOferta DHCPde vuelta al cliente solicitante. Esta oferta de DHCP normalmente contiene la dirección IP asignada, la dirección IP de la puerta de enlace predeterminada y la dirección IP del servidor DNS.
El cliente al recibir la Oferta envía unSolicitud DHCPal servidor DHCP reconociendo que ha aceptado la información proporcionada por el servidor.
Los servidores DHCP mantienen un registro de las direcciones IP asignadas para evitar la doble asignación o las colisiones de direcciones IP.
Dado que los servidores DHCP responden a la transmisión,debe serpresentes en la red local y allíno deberíahaber más de 1 servidor DHCP en una red local.
Métodos de asignación para DHCP
Los siguientes son los dos métodos de asignación para un servidor DHCP:
- Manual:En este método, la dirección IP se proporciona sobre la base de la dirección MAC. Esto asegura que una máquina en particular obtenga una dirección IP fija ya que su dirección IP está vinculada a su dirección MAC. El Servidor DHCP envía una configuración constante al cliente en función de su Dirección MAC en este tipo de asignación.
- Automático:En este método, las direcciones IP son asignadas automáticamente por el servidor DHCP por orden de llegada de un grupo de direcciones. Se puede dividir en dos categorías según el Tiempo de arrendamiento: el tiempo durante el cual se asigna una dirección IP a un cliente.
- Tiempo de arrendamiento fijo:Cuando un cliente DHCP ya no está en la red durante un período específico, la configuración caduca y se libera al conjunto de direcciones para que la utilicen otros clientes DHCP. El cliente tiene que renegociar para mantener la dirección IP anterior.
- Tiempo de arrendamiento infinito:Esto tiene el efecto de asignar permanentemente una dirección IP a un cliente.
Pasos para configurar el servidor DHCP en Ubuntu
Ahora veremos cómo configurar un servidor DHCP en Ubuntu.
1. Instalar el servidor DHCP
Puede instalar el servidor DHCP usando el comando apt de la siguiente manera:
sudo apt install isc-dhcp-server
Usar:Puede instalar un servidor DHCP incluso en una edición de escritorio en lugar de la edición de servidor de Ubuntu. Veresta respuesta de StackOverflowsobre cómo las ediciones de escritorio y servidor son diferentes/similares.
2. Configurar el servidor DHPC
El archivo de configuración principal del servidor ISC DHCP es/etc/dhcp/dhcpd.conf
.
Copia de seguridad del archivo de configuración original
Siempre es una buena idea hacer una copia de seguridad de los archivos de configuración originales. En caso de que algo salga mal, la configuración original se puede restaurar fácilmente. Puede usar el comando cp o el comando mv para crear una copia de seguridad.
sudo mv /etc/dhcp/dhcpd.conf{,.backup} #Expands to sudo mv /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.backup
El comando anterior crea undhcpd.conf.backup
archivo usando el{}
función de expansión de bash.
Crear y editar el nuevo archivo de configuración
Puede utilizar el editor de su elección. Usaré el editor nano:
sudo nano /etc/dhcp/dhcpd.conf
Las opciones en el archivo de configuración dependen de la complejidad de la red.
Asignación de direcciones IP aleatorias de un grupo
Lo más común que hace un servidor DHCP es asignar direcciones aleatoriamente. La configuración del mismo sería la siguiente:
# a simple /etc/dhcp/dhcpd.conf default-lease-time 600; max-lease-time 7200; authoritative; subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.100 192.168.1.200; option routers 192.168.1.254; option domain-name-servers 192.168.1.1, 192.168.1.2; #option domain-name "mydomain.example"; }
Según esta configuración:
- El tiempo de concesión predeterminado para un cliente es de 10 minutos (600 segundos) y el tiempo máximo de arrendamiento es de 2 horas (7200 segundos).
- Este servidor DHCP es el servidor oficial de la red local. (indicado por
authoritative
). - El servidor entregará la dirección IP del rango192.168.1.100para192.168.1.200.
- El servidor también “aconsejará” al cliente que use192.168.1.254como la puerta de enlace predeterminada y192.168.1.1y192.168.1.2como sus servidores DNS.
También puede incluir un nombre de dominio.
Asignación de una dirección IP estática a un cliente
Para garantizar que un cliente en particular siempre obtenga la misma dirección IP, el servidor DHCP necesitará la dirección MAC de ese cliente. Este sería el modo de asignación manual del que se habló anteriormente en este artículo.
Para obtener la dirección MAC de un cliente, podemos usar el comando ip en elmáquina cliente:
ip a
(Deberá seleccionar la dirección MAC de la interfaz desde la que planea conectarse a la red. Elegí la inalámbrica).
Ahora que tenemos la dirección MAC, podemos ponerla en el archivo de configuración:
host archmachine { hardware ethernet e0:91:53:31:af:ab; fixed-address 192.168.1.20; }
Esto reservará la dirección IP192.168.1.20para el cliente con la dirección MAC e0:91:53:31:af:ab
.
Finalmente, el archivo de configuración se ve así:

Puede omitir la parte de configuración de IP estática si desea asignar direcciones automáticamente.
3. Enlace el servidor DHCP a una interfaz
El servidor DHCP puede tener muchas interfaces. Debe definir la interfaz que debe escuchar. Puedes ver las interfacesen el servidorusandoip a
igual que el cliente.
La interfaz con la que enlazar se define en el/etc/default/isc-dhcp-server
expediente. Ábralo usando el editor de su elección. La interfaz de mi servidor eseth0
. Puede ser diferente para su servidor. Edite el archivo como:
INTERFACESv4="eth0"

4. Reinicie el servidor DHCP
Ahora que se realizaron los cambios en la configuración, debemos reiniciar el servicio para habilitar esos cambios. Para ello utilizaremos elsystemctl
mando:
sudo systemctl restart isc-dhcp-server.service
5. Verifique el estado del servidor DHCP
Esto se puede hacer de nuevo usando elsystemctl
dominio:
sudo systemctl status isc-dhcp-server.service

Un estado activo indica que el servidor DHCP ha recogido con éxito la configuración y está listo para distribuir direcciones IP.
Solución de problemas
El servidor DHCP escribe sus registros en Syslog. Si encuentra que el estado del servicio es inactivo, debe investigar/var/log/syslog
expediente. A partir de ahí, puede buscar el problema específico mencionado en Syslog en Internet.
Conclusión
En este artículo, aprendimos sobre DHCP y cómo instalar un servidor DHCP en una máquina con Ubuntu. Tener un Servidor DHCP automatiza la asignación de Direcciones IP lo cual es mucho mejor que la configuración manual de cada cliente.