Cómo configurar un servidor DNS/DHCP usando DNSMASQ en CentOS/RHEL 8/7

Cómo configurar un servidor DNS/DHCP usando DNSMASQ en CentOS/RHEL 8/7

A protocolo de configuración huésped dinámico (DHCP) El servidor asigna dinámicamente direcciones IP y otros parámetros de configuración de red a cada dispositivo en una red. Un reenvío de DNS en una LAN reenvía consultas DNS para nombres de dominio no locales a servidores DNS aguas arriba (fuera de esa red). Un servidor de almacenamiento en caché del DNS responde a las solicitudes recursivas de los clientes para que la consulta DNS se pueda resolver más rápido, mejorando así las velocidades de búsqueda DNS a los sitios visitados previamente.

dnsmasq es un reenviador de DNS, fácil de configurar DNS, software del servidor DHCP y subsistema de publicidad de enrutadores para pequeñas redes. DNSMASQ admite Linux, *BSD, Mac OS X y Android.

Presenta un DNS Subsistema que proporciona un servidor DNS local para la red, con el reenvío de todos los tipos de consultas a los servidores DNS recursivos aguas arriba y en caché de tipos de registros comunes. El subsistema DHCP admite DHCPV4, DHCPV6, BootP, PXE y un servidor TFTP. Y el subsistema de publicidad del enrutador admite la autoconfiguración básica para hosts IPv6.

En este artículo, lo guiaremos a través de las instrucciones sobre cómo instalar y configurar DNS/DHCP Servidor utilizando dnsmasq en CentOS/RHEL 8/7 distribuciones.

Instalación de DNSMASQ en Centos y Rhel Linux

1. El dnsmasq El paquete está disponible en los repositorios predeterminados y se puede instalar fácilmente utilizando el Administrador de paquetes YUM como se muestra.

# yum install dnsmasq 
Instalar dnsmasq en centos

2. Una vez el dnsmasq La instalación del paquete está completa, debe iniciar el dnsmasq servicio por ahora y habilitarlo para comenzar automáticamente en el arranque del sistema. Además, verifique su estado para asegurarse de que esté en funcionamiento utilizando los siguientes comandos SystemCTL.

# SystemCTL Inicio DNSMASQ # SystemCTL Habilitar DNSMASQ # SystemCTL Status DNSMASQ 
Iniciar y verificar el estado de DNSMASQ

Configuración del servidor DNSMASQ en CentOS y Rhel Linux

3. El dnsmasq el servidor se puede configurar a través del /etc/dnsmasq.confusión Archivo (que contiene opciones bien comentadas y explicadas), y los archivos de configuración definidos por el usuario también se pueden agregar en el /etc/dnsmasq.d directorio.

DNS está habilitado de forma predeterminada, por lo que antes de realizar cualquier cambio, asegúrese de crear una copia de seguridad de /etc/dnsmasq.confusión archivo.

# CP /ETC /DNSMASQ.conf /etc /dnsmasq.confusión.oriente 

4. Ahora abre el /etc/dnsmasq.confusión Archivo utilizando su editor basado en texto favorito y realice la siguiente configuración de configuración sugerida.

# vi /etc /dnsmasq.confusión 

El directorio de escucha La opción se utiliza para establecer la dirección IP, donde DNSMASQ escuchará en. Para usar tu CentOS/RHEL servidor para escuchar DHCP y DNS Solicitudes en el Lan, selecciona el directorio de escucha opción para sus direcciones IP de LAN (recuerde incluir 127.0.0.1) como se muestra. Tenga en cuenta que la IP del servidor debe ser estática.

escucha-dirección = :: 1,127.0.0.1.192.168.56.10 

Relacionado con lo anterior, puede restringir la interfaz DNSMASQ que escucha el uso de la opción de interfaz (agregue más líneas para más de una interfaz).

interfaz = eth0 

5. Si quieres tener un dominio (que puede configurar como se muestra a continuación) Se agregó automáticamente a los nombres simples en un archivo de hosts, sin comment the expansión opción.

expansión 

6. Para establecer el dominio para DNSMASQ, que significa DHCP Los clientes tendrán nombres de dominio totalmente calificados siempre que el dominio establecido esté igualado y establece el "dominio"Opción DHCP para todos los clientes.

dominio = tecMint.lan 

7. A continuación, también defina el servidor DNS aguas arriba para dominios no locales utilizando el servidor Opción (en el formulario servidor = dns_server_ip) como se muestra.

# Servidor de servidores de nombres de Google = 8.8.8.8 servidor = 8.8.4.4 

8. Luego puede forzar su dominio local a una (s) dirección () (s) de IP utilizando el DIRECCIÓN opción como se muestra.

dirección =/tecMint.LAN/127.0.0.1 dirección =/tecMint.LAN/192.168.56.10 

9. Guarde el archivo y verifique la sintaxis del archivo de configuración para obtener errores como se muestra.

# DNSMASQ -Test 
Verifique la configuración de DNSMASQ

Configuración de dnsmasq con /etc /resolv.archivo conf

10. En este paso, debe hacer que todas las consultas se envíen a DNSMASQ agregando las direcciones locales como los únicos servidores de nombres en /etc/resolv.confusión archivo.

# vi /etc /resolv.confusión 
Establecer la dirección localhost en /etc /resolv.archivo conf

11. El /etc/resolv.confusión un demonio local mantiene el archivo, especialmente el networkManager, por lo tanto, cualquier cambio hecho por el usuario se sobrescribirá. Para evitar esto, reduzca la escritura configurando el atributo de archivo inmutable (deshabilitar el acceso de escritura al archivo) usando el comando chattr como se muestra.

# chattr +i /etc /resolv.conf # lsattr /etc /resolv.confusión 
Establecer el atributo de archivo

Definición de los anfitriones y nombres de DNS

12. El Dnsmasq lee todos los hosts y nombres de DNS del /etc/huéspedes Archivo, por lo tanto, agregue sus direcciones IP y pares de nombres de Hosts DNS como se muestra.

127.0.0.1 DNSMASQ 192.168.56.10 DNSMASQ 192.168.56.1 Gateway 192.168.56.100 Maas-Controller 192.168.56.20 Nagios 192.168.56.25 servidor web1 
Agregar direcciones IP de hosts DNS

Importante: Los nombres de DNS locales también se pueden definir importando nombres del subsistema DHCP, o mediante la configuración de una amplia gama de tipos de registro útiles.

13. Para aplicar los cambios anteriores, reinicie el dnsmasq Servicio como se muestra.

# SystemCTL reiniciar DNSMASQ 

14. Si tienes el cortafuegos Servicio en ejecución, debe abrir DNS y DHCP Servicios en la configuración del firewall, para permitir que las solicitudes de los hosts en su LAN pasen al servidor DNSMASQ.

# firewall-cmd --add-service = DNS --Permanent # firewall-cmd --add-service = dhcp --permanent # firewall-cmd 

Prueba de DNS local

15. Para probar si el servidor DNS local o el reenvío funciona bien, debe usar herramientas como DIG o NSLookup para realizar consultas DNS. Estas herramientas son proporcionadas por el utils paquete que puede no venir preinstalado en CentOS/RHEL 8, Pero puede instalarlo como se muestra.

# yum instalación de usos de enlace 

dieciséis. Una vez que haya instalado, puede ejecutar una consulta simple en su dominio local como se muestra.

# DIG TECMINT.lan o # nslookup tecmint.lan 
Consulta dominio local

17. También puedes intentar consultar el FQDN de uno de los servidores.

# cavar weberver1.tecmenta.LAN o # NSLOOKUP WABSERVER1.tecmenta.lan 
DNS de dominio de consulta

18. Para probar una búsqueda de IP inversa, ejecute un comando similar.

# Dig -x 192.168.56.25 o # nslookup 192.168.56.25 
Consulta Búsqueda de IP inversa

Habilitar el servidor DHCP usando DNSMASQ

19. Puedes habilitar el DHCP servidor desactivando el rango de DHCP opción y suministro la gama de direcciones disponibles para arrendamiento y opcionalmente un tiempo de arrendamiento e.G (Repita para más de una red).

DHCP-range = 192.168.0.50,192.168.0.150,12h 

20. La siguiente opción define dónde el servidor DHCP mantendrá su base de datos de arrendamiento, esto le ayudará a verificar fácilmente las direcciones IP que ha asignado.

dhcp-laseFile =/var/lib/dnsmasq/dnsmasq.arrendamientos 

21. Para hacer que el servidor DHCP sea de modo autorizado, descomponente la opción.

dhcp-autoritativo 

22. Guarde el archivo y reinicie el dnsmasq Servicio para aplicar los cambios recientes.

# SystemCTL reiniciar DNSMASQ 

Eso nos lleva al final de esta guía. Para contactarnos para cualquier pregunta o pensamiento que desee compartir sobre esta guía, use el formulario de comentarios a continuación.