A nivel de redes y sistemas uno de los puntos más neurálgicos y de constante supervisión debido a su grado de importancia es todo lo relacionado con el DHCP.
Hemos escuchado hablar muchas veces de este tema y conocemos su función, distribuir de forma dinámica las direcciones IP a los equipos del dominio, pero es importante y útil entender un poco más su estructura y mucho más tener presentes las diversas herramientas disponibles para instalar un servidor DNS en diversos sistemas operativos.
Por ello hoy Solvetic analizará de forma detallada como funciona DHCP y veremos cómo instalar y configurar un servidor DHCO en Debian 9 usando ISC DHCP.
1. Qué es y cómo funciona DHCP
RFC 2131 y 2132 definen al DHCP como un estándar de Internet Engineering Task Force (IETF) el cual está basado en el Protocolo Bootstrap (BOOTP), siendo este un protocolo con el cual DHCP comparte muchos detalles de implementación.
DHCP permite que los hosts obtengan información de la configuración de TCP/IP necesaria de un servidor DHCP ya definido. Cuando hacemos uso de un servidor DHCP en nuestras organizaciones, estamos simplificando de forma amplia la administración y gestión de la configuración de red para todos los hosts de la red y también será posible crear un punto de administración centralizada para las configuraciones de red de las máquinas.
Cuando implementamos un DHCP, podremos estar seguros de que todas las máquinas de escritorio, teléfonos móviles u otros dispositivos de red que requieren que las configuraciones de IP se configuren en el arranque recibirán el mismo conjunto de configuraciones, según la configuración de su red.
El servidor DHCP tiene la capacidad de proporcionar un gran número de parámetros y opciones que están relacionados con la configuración de la configuración de red necesaria para unirse de manera correcta a la red. Algunas configuraciones normales que un servidor DHCP puede proporcionar a las maquinas cliente son:
- La dirección IP relacionada con la red
- La dirección de transmisión de la red a la que pertenecE
- La máscara de red
- Los servidores de nombres DNS
- La dirección de los servidores NTP de la red local los cuales son necesarios para que los dispositivos sincronicen con precisión el tiempo y otras configuraciones adicionales.
Un servidor DHCP nos permite limitar la cantidad de tiempo y esfuerzo que debemos invertir como administradores de configurar manualmente cada dispositivo relacionado con la red y mantener una tabla de qué IP se ha configurado para un dispositivo especifico.
El servidor DHCP contiene un grupo de direcciones IP y concede una dirección a cualquier cliente DHCP cuando se inicia en la red local. Debido a que las direcciones IP son dinámicas en lugar de estáticas, se devuelven automáticamente direcciones que ya no están en uso a la agrupación de reasignación.
- Parámetros de configuración de TCP/IP válidos para todos los clientes de la red.
- Direcciones IP válidas, las cuales se mantienen en un grupo de asignación a clientes, así como excluir direcciones.
- Direcciones reservadas de IP asociadas con determinados clientes DHCP. Esto permite la asignación valida de una única dirección IP a un único cliente DHCP.
- La duración de la concesión o la longitud de tiempo para el que se puede utilizar la dirección IP antes de que se solicite una renovación de concesiones de nuevo.
- En primer lugar el dispositivo de red, o el cliente que debe asignarse con una dirección estática, envía una transmisión en una red con el mensaje "DHCP Discover". En este mensaje enviado, el dispositivo cliente también incluye su dirección MAC. Los clientes envían este mensaje para identificar si un servidor DHCP está disponible en algún lugar de la red, escuchando este tipo de mensajes entrantes y así seguir el proceso.
- El servidor de escucha DHCP recibe la trama de difusión y responde al cliente con un mensaje “Oferta DHCP”: La oferta contiene la configuración de red necesarios para que el cliente sea registrado en la red con su propia dirección IP, con el fin de que el cliente correctamente identifique la fuente de la oferta.
- Después de recibir la oferta, el cliente, si está de acuerdo con la configuración que recibió, envía un mensaje de "Solicitud DHCP" al servidor DHCP e informa que está de acuerdo con la configuración formal de red ofrecida. Se incluye un registro de la oferta para que solo el servidor que envió la oferta reserve la dirección IP solicitada.
- Por último, el servidor DHCP responde con el mensaje de unidifusión "DHCP ACK". En esta etapa, la dirección IP y todos los demás parámetros de la red se envían al dispositivo cliente porque ahora están aprobados para que el cliente haga uso de ellos.
Ofrece una solución completa para implementar servidores DHCP, agentes de retransmisión y clientes para pequeñas redes locales o para grandes empresas. La aplicación ISC DHCP es compatible tanto con IPv4 como con IPv6, y es adecuada para su uso en aplicaciones de gran volumen y alta confiabilidad. DHCP está disponible para descarga gratuita bajo los términos de la licencia ISC, una licencia de estilo BSD.
Con estos conceptos en mente veremos cómo instalar y configurar ISC DHCP en Debian 9.
2. Actualización de los paquetes del sistema
En primer lugar, debemos actualizar todos los paquetes disponibles en el sistema ejecutando la siguiente línea:
sudo apt-get update
Allí aceptaremos la descarga y respectiva instalación de los paquetes del servidor ISC DHCP.
El archivo de configuración principal del servidor DHCP es dhcpd.conf, que se encuentra en el directorio /etc/dhcp/. El archivo de configuración contiene muchos comentarios, denotados por el símbolo hash (#) y todas las demás líneas no comentadas son parámetros del servidor dhcp (usadas para las características generales de configuración del demonio dhcpd) o declaraciones, que describen los rangos de IP de red y las direcciones IP u otros valores de red que el servidor puede enviar a los dispositivos del cliente.
Antes de editar dicho archivo, será necesario crear una copia de seguridad del archivo original ejecutando los siguientes comandos:
cp /etc/dhcp/dhcpd.conf{,.backup} cat /dev/null > /etc/dhcp/dhcpd.conf
3. Configuración de DHCP en Debian 9
Ahora procedemos a crear el archivo de configuración dhcp usando el editor deseado:
nano /etc/dhcp/dhcpd.confAllí ingresaremos las siguientes líneas:
ddns-update-style none; default-lease-time 600; max-lease-time 7200; #ping true; option domain-name-servers 172.27.15.2, 10.72.81.2; option domain-name "example.com"; authorative; log-facility local7; subnet 192.168.0.1 netmask 255.255.255.0 { range 192.168.0.10 192.168.0.20; option subnet-mask 255.255.255.0; option domain-name-servers 192.168.0.254, 10.128.254.254; option domain-name “example.com”; option routers 192.168.0.1; option netbios-name-servers 192.168.0.11; option netbios-node-type 8; get-lease-hostnames true; use-host-decl-names true; default-lease-time 600; max-lease-time 7200; }
Guardamos los cambios usando la combinación de teclas Ctrl + O y salimos del editor usando Ctrl + X.
Todas las líneas de parámetros terminan con punto y coma en el archivo de configuración dhcp. Algunos parámetros pueden tener más de un solo valor, como domain-name-servers, que tiene dos direcciones IP separadas por una coma. Las líneas que comienzan con un hashtag # son comentarios y no son analizados por el servidor dhcp.
Los parámetros aquí descritos son los siguientes:
default-lease-time
max-lease-time
ping
domain-name-servers
domain-name
authorative
log-facility local7
subred 192.168.0.1
rango 192.168.0.10 192.168.0.20
routers
netbios-name-servers
etbios-node-type
Allí debemos reemplazar las direcciones IP con las adecuadas según sea el caso. Después de editar el archivo de configuración principal y declarar los propios rangos de IP, debemos abrir el archivo /etc/default/isc-dhcp-server y reemplazar el parámetro INTERFACESv4 con el nombre de la interfaz de red que se configurará para la red:
Recordemos que este nombre lo obtenemos ejecutando el comando ifconfig. Una vez completo este punto ejecutaremos los siguientes comandos para reiniciar y ver el estado de ISC:
systemctl restart isc-dhcp-server systemctl status isc-dhcp-server
Con esto los clientes ahora deberían comenzar a recibir las respectivas direcciones IP de parte del servidor dhcp.
4. Cómo reservar direcciones IP Linux
En algunas ocasiones será necesario reservar en el DHCP una dirección IP fija para dispositivos de red especiales de la red, como servidores o equipos especiales.
Para ello debemos usar una declaración con el nombre del host al cual se desea otorgar una dirección IP fija y el Control de acceso a medios (MAC). Esta dirección IP reservada se asignará al cliente cada vez que arranque. Debemos reservar una dirección IP fija desde el rango IP que haya sido declarado para la red en el servidor DHCP. La declaración de la dirección IP fija debe estar incluida en las líneas que han sido definidas para el rango de red, accederemos usando nano:
nano /etc/dhcp/dhcpd.confDebemos añadir lo siguiente:
subnet 192.168.0.1 netmask 255.255.255.0 { range declarations…. host WIN-SERVER { hardware ethernet 00:0c:19:bc:2e:e1; fixed-address 192.168.0.12;} }
Guardamos los cambios. Finalmente debemos reiniciar el servicio ejecutando lo siguiente:
systemctl restart isc-dhcp-serverAsí hemos configurado un servidor DHCP con ISC DHCP en Debian 9.