Cómo usar el comando BIND de Linux para instalar y configurar DNS

El Sistema de nombres de dominio (DNS) se utiliza para resolver (traducir) nombres de host a direcciones de Protocolo de Internet (IP) y viceversa. Un servidor DNS, también llamado Nombre del servidor, asigna direcciones IP a nombres de host o nombres de dominio.

En este artículo, aprenderá los conceptos básicos de DNS, desde cómo DNS obtiene la dirección IP y el nombre de host, hasta los conceptos de zonas de búsqueda directa e inversa. También le mostrará cómo instalar y configurar DNS, definir y modificar archivos de zona y verificar si DNS puede resolverse en la dirección correcta mediante comandos. Si es nuevo en DNS, este artículo lo ayudará a jugar con él en su sistema usando configuraciones básicas.

Índice

    Cómo funciona el DNS

    Cuando un cliente solicita información de un servidor de nombres, generalmente se conecta al puerto 53 y luego el servidor de nombres resuelve el nombre solicitado.

    (Ashish Bharadwaj, CC BY-SA 4.0)
    • El envío de una consulta desde el cliente DNS al servidor DNS se denomina solicitud de búsqueda.

    • Obtener una respuesta del servidor DNS al cliente DNS se denomina respuesta de búsqueda.
    • El sistema en el que se configura el servicio DNS se denomina Servidor DNS.
    • El sistema que accede al servidor DNS se denomina Cliente DNS.

    ¿De dónde obtiene DNS las direcciones IP?

    Quizás se pregunte cómo obtiene el DNS la dirección IP del nombre de dominio o del host correspondiente. ¿Cómo busca DNS entre diferentes direcciones IP y hace coincidir correctamente su nombre de dominio? ¿Quién almacena estas asignaciones entre nombres de dominio y direcciones IP?

    El flujo de trabajo de DNS ilustra cómo se produce la comunicación dentro de DNS y cómo resuelve las direcciones.

    (Ashish Bharadwaj, CC BY-SA 4.0)
    • Cuando el cliente busca el dominio www.example.com, la solicitud se enviará inicialmente a la resolución del proveedor de servicios de Internet (ISP). Responderá a la solicitud del usuario para resolver un nombre de dominio.
    • Si la dirección IP no se encuentra en la resolución, la solicitud se reenvía a un servidor DNS raíz y luego a los servidores de dominio de nivel superior (TLD).
    • Los servidores TLD almacenan información para dominios de nivel superior, como .com Donde .reporte.
    • Las solicitudes se pasan a servidores de nombres, que conocen información detallada sobre dominios y direcciones IP.
    • Los servidores de nombres responden al resolutor del ISP, luego el resolutor responde al cliente con la dirección IP solicitada.
    • Cuando el resolutor no conoce la dirección IP, almacena la dirección IP y su dominio en un caché para responder a futuras solicitudes.

    Búsquedas directas e inversas

    el área de búsqueda directa utiliza el nombre de dominio para buscar direcciones IP, mientras que el zona de búsqueda inversa utiliza direcciones IP para encontrar el nombre de dominio.

    (Ashish Bharadwaj, CC BY-SA 4.0)

    Instalar y configurar DNS

    BIND es un servicio de servidor de nombres responsable de realizar la conversión de nombre de dominio a IP en servidores DNS basados ​​en Linux.

    [[email protected] ~] # yum install bind

    El paquete BIND proporciona la named un servicio. Lee la configuración de /etc/named y /etc/named.conf archivos. Una vez que este paquete esté instalado, puede comenzar a configurar DNS.

    Configure el archivo /etc/named.conf

    Primero, agregue o modifique los dos valores en el opciones dominio. Una es la dirección del servidor DNS y la otra es la solicitud de autorización en ningún.

    [[email protected] ~] # vim /etc/named.conf
    listen-on port 53 { 127.0.0.1; 192.168.25.132; };
    allow-query { localhost; any; };

    Aquí están los valores del archivo anterior:

    • 192.168.25.132 - dirección del servidor DNS
    • ningún - corresponde a cada dirección IP

    Definir zonas delanteras y traseras

    Defina las zonas delantera y trasera en el /etc/named.conf Donde /etc/named.rfc1912.zones (puede definir zonas en cualquiera de estos archivos). En este ejemplo, estoy agregando detalles de definición de zona al /etc/named.rfc1912.zones archivar.

    [[email protected] ~] # vim /etc/named.rfc1912.zones
      zone "example.com" IN { type master;
      file "example.forward.zone";
      allow-update { none; };
    };
    
      zone "25.168.192.in-addr.arpa" IN { 
       type master;
       file "example.reverse.zone";
       allow-update { none; };
    };
    

    Crear archivos de zona delantera y trasera

    También debe crear archivos de zona delantera y trasera en el /var/named directorio telefónico.

    Notar: Por defecto, el named.conf archivo incluye el /var/named directorio para comprobar los archivos de zona. Archivos de zona de ejemplo named.localhost y named.loopback se crean durante la instalación del paquete BIND.

    [[email protected] ~] # vim /var/named/example.forward.zone
    (Ashish Bharadwaj, CC BY-SA 4.0)
    [[email protected] ~] # vim /var/named/example.reverse.zone
    (Ashish Bharadwaj, CC BY-SA 4.0)

    Agregue la IP del servidor de nombres a /etc/resolv.conf

    Primero, debe deshabilitar el procesamiento de DNS por parte de NetworkManager, ya que actualiza dinámicamente el /etc/resolv.conf con la configuración de DNS de sus perfiles de conexión activos. Para deshabilitar esto y permitir la edición manual de /etc/resolv.conf, debe crear un archivo (por ejemplo, 90-dns-none.conf), como raíz en el /etc/NetworkManager/conf.d/ directorio que contiene los siguientes elementos:

    [main]
    dns=none

    Guarde el archivo y vuelva a cargar (reiniciar) NetworkManager.

    # systemctl reload NetworkManager

    Después de recargar NetworkManager, no se actualizará /etc/resolv.conf. Ahora puede agregar manualmente la dirección IP del servidor de nombres al /etc/resolv.conf archivar.

    [[email protected] ~] # vim /etc/resolv.conf
    # Generated by NetworkManager 
    search localdomain example.com 
    nameserver 192.168.25.132

    Iniciar/reiniciar y activar el servicio nombrado

    Si la named el servicio no se está ejecutando o está deshabilitado, luego inícielo y habilítelo. Si ya está activo (en ejecución) y ha realizado todas estas configuraciones, debe reiniciar el servicio para realizar cualquier cambio.

    [[email protected] ~] # systemctl status named.service
    
    [[email protected] ~] # systemctl start named.service
    
    [[email protected] ~] # systemctl enable named.service
    
    [[email protected] ~] # systemctl restart named.service
    

    Comprobar la resolución de nombres DNS

    Ha instalado el paquete BIND, configurado named archivos, creado cuadros de búsqueda y reiniciado el servicio para que las configuraciones surtan efecto. Ahora usa el nslookup y dig Comandos para verificar si el DNS funciona correctamente y para verificar si está obteniendo los resultados esperados.

    • nslookup es un programa para consultar servidores de nombres de dominio de Internet.
    • dig es una herramienta para consultar servidores DNS. Realiza búsquedas de DNS y muestra las respuestas devueltas por el servidor de nombres.

    Consulta con nslookup

    [[email protected] ~] # nslookup servera.example.com
      Server: 192.168.25.132
      Address: 192.168.25.132#53
      Name: servera.example.com
      Address: 192.168.25.132
    
    [[email protected] ~] # nslookup 192.168.25.132 
       132.25.168.192.in-addr.arpa name = servera.example.com.

    Consulta con excavación

    Aquí hay una búsqueda directa, donde DNS responde con 192.168.11.132 como IP para servera.ejemplo.com:

    [[email protected] ~] # dig servera.example.com
       ...output truncated...
    
    ;; ANSWER SECTION:
    servera.example.com. 86400 IN A 192.168.25.132
    
    
    ;; AUTHORITY SECTION:
    example.com. 86400 IN NS servera.example.com.
    
    ...output truncated...
    
    

    Este ejemplo muestra una búsqueda inversa, donde el servidor DNS responde con servera.ejemplo.com como un nombre de dominio para 192.168.25.132:

    [[email protected] ~] # dig -x 192.168.25.132
      ...output truncated...
    
    ;; ANSWER SECTION:
    132.25.168.192.in-addr.arpa. 86400 IN PTR servera.example.com.
    
    ;; AUTHORITY SECTION:
    25.168.192.in-addr.arpa. 86400 IN NS servera.example.com.
    
    ;; ADDITIONAL SECTION:
    servera.example.com. 86400 IN A 192.168.25.132
    
    ...output truncated...

    Concluir

    En este artículo, aprendió qué es el DNS y cómo funciona. Además, ahora sabe qué son las zonas de búsqueda directa e inversa y cómo funcionan. También aprendió cómo instalar el paquete BIND, que es responsable de configurar DNS en el sistema y configurar el named archivos y áreas de búsqueda. Finalmente, has aprendido dos comandos, nslookup y dig, para consultar las resoluciones de DNS.

    Artículos de interés

    Subir