Configuración de un servidor DNS de almacenamiento en caché en Ubuntu Server 14.04


El Servicio de nombres de dominio ( DNS ) es un servicio de nombres que asigna direcciones IP y nombres de dominio completos entre sí. Las computadoras que ejecutan DNS se denominan servidores de nombres.

Aquí instalé y configuré el servidor de caché usando el reenviador, la búsqueda hacia adelante y la búsqueda de reserva. En la mayor parte del lugar, necesitamos búsquedas de reserva. El servidor de almacenamiento en caché no contendrá ningún nombre de dominio, solo funcionará como servidor señalador. Antes de profundizar, necesitamos conocer el servidor DNS y cómo funciona.

A continuación, se ofrece una forma sencilla de comprender el DNS y su funcionamiento.

Si necesitamos acceder a tecmint.com en el navegador, el sistema buscará tecmint.com . Aquí, al final de .com habrá un (. ), ¿qué es esto?

Los (.) representan el espacio de nombres del servidor raíz, hay un total de 13 servidores raíz disponibles a nivel mundial. Mientras accedemos a tecmint.com , nos pedirá que nombremos el servidor según la configuración del sistema operativo. En Ubuntu, solíamos configurar el servidor de nombres en /etc/resolv.conf , mientras accede a tecmint.com, mi navegador preguntará a los servidores de nombres raíz, si el servidor de nombres raíz no lo hace. tengo la información de mi dominio solicitada, almacenará en caché la información solicitada y la reenviará a ( TLD ) Dominio de nivel superior servidor de nombres, incluso en el servidor de nombres TLD mi solicitud no es disponible, se almacenará en caché y se reenviará al servidor de nombres autorizado .

Durante el registro de dominio, nuestro registrador de dominio definirá qué servidor de nombres autorizado debe utilizar nuestro dominio. Entonces, los servidores de nombres autorizados tienen la información de nuestro dominio, mientras que nuestra solicitud llega a ANS, responderá la consulta de que tecmint.com tiene 111.111.222.1 al mismo tiempo que será almacenado en caché en el servidor de nombres autorizado y envíe la solicitud de vuelta al navegador. Todos los pasos anteriores se realizan en milisegundos.

Espero que sepa qué es DNS ahora y cómo funciona. Ahora configuremos un Caching DNS Server en Ubuntu Server 14.04 LTS.

Paso 1: instalación del servidor DNS

Primero, eche un vistazo a la información de mi servidor DNS local, como la dirección IP estática y el nombre de host, que se utiliza para el propósito de este artículo.

IP Address:	192.168.0.100
Hostname:	dns.tecmintlocal.com

Para verificar que la configuración anterior sea correcta, podemos usar los comandos " hostnamectl " e "ifconfig".

$ hostnamectl
$ ifconfig eth0 | grep inet

A continuación, actualizamos los repositorios predeterminados y realizamos una actualización del sistema, antes de configurar el servidor de caché DNS.

$ sudo apt-get update && sudo apt-get upgrade -y

Ahora, instale los paquetes DNS bind y dnsutils usando el siguiente comando.

$ sudo apt-get install bind9 dnsutils -y

Una vez que haya instalado dns, vaya al directorio de configuración de enlace, en /etc/bind .

$ /etc/bind/
$ ls -l

Paso 2: Configurar el servidor de caché DNS

En primer lugar, instalamos y configuramos el servidor de almacenamiento en caché aquí. Abra y edite el archivo named.conf.options usando el editor vim.

$ sudo vim named.conf.options

Ahora, aquí la palabra " reenviadores " se usa para almacenar en caché las solicitudes de nombres de dominio. Entonces, aquí vamos a usar mi enrutador como reenviador. Descomente el/delante de la línea como se muestra en la imagen.

forwarders {
        192.168.0.1;
        };

Guarde y salga del archivo usando wq! . Ahora es el momento de iniciar el servidor de enlace para una pequeña prueba.

$ sudo /etc/init.d/bind9 start

Si necesitamos probar si el almacenamiento en caché funciona, podemos usar el comando dig y verificar si el caché funciona o no.

Por ejemplo, vamos a excavar ubuntu.com ahora, al principio, no estará en caché, por lo que puede tomar algunos milisegundos, una vez que se haya guardado en caché, estará a la velocidad del rayo.

$ dig @127.0.0.1 ubuntu.com

Un comando de excavación es una herramienta para búsquedas de DNS. Para saber más sobre el comando Dig, lea el tema a continuación.

  1. 10 ejemplos útiles de comandos de excavación

Aquí, podemos ver en la imagen de arriba en la primera excavación que tomó 1965 milisegundos para mi consulta y muestra qué dirección IP está vinculada a ubuntu.com .

Intentemos una excavación más y veamos el tiempo de consulta.

¡Genial! En el segundo intento obtuvimos la consulta en 5 milisegundos. Espero que sepas qué es el servidor de almacenamiento en caché ahora. La imagen de arriba muestra que un total de 13 servidores raíz están almacenando en caché Ubuntu.com, porque millones de personas ya han accedido al sitio oficial de Ubuntu.

Paso 3: Configuración del servidor DNS maestro

Cree un servidor DNS MAESTRO. Aquí estoy definiendo el nombre de dominio como tecmintlocal.com , edite el archivo named.conf.local usando el editor vim.

$ sudo vim /etc/bind/named.conf.local

Ingrese la entrada DNS-Master como se muestra a continuación.

zone "tecmintlocal.com" {
        type master;
        file "/etc/bind/db.tecmintlocal.com";
        };

    1. zona : detalles de los hosts en el dominio

    .

    1. tipo : DNS maestro.
    2. archivo : ubicación para almacenar la información de la zona.

    Cree el archivo de zona db.tecmintlocal.com (búsquedas hacia adelante) a partir de hacer una copia desde db.local .

    $ sudo cp db.local db.tecmintlocal.com
    

    Ahora abra y edite el archivo de zona copiado usando el editor vim.

    $ sudo vim db.tecmintlocal.com
    

    A continuación, agregue la siguiente entrada de ejemplo, que he usado con el propósito de tutorial. También utilizo lo mismo para otras configuraciones de máquinas virtuales. Modifique la entrada siguiente según sus requisitos.

    ;
    ; BIND data file for local loopback interface
    ;
    $TTL    604800
    @       IN      SOA     tecmintlocal.com. root.tecmintlocal.com. (
                         2014082801         ; Serial
                             604800         ; Refresh
                              86400         ; Retry
                            2419200         ; Expire
                             604800 )       ; Negative Cache TTL
    ;
    @       IN      NS      ns.tecmintlocal.com.
    ns      IN      A       192.168.0.100
    
    clt1    IN      A       192.168.0.111
    ldap    IN      A       192.168.0.200
    ldapc   IN      A       192.168.0.211
    mail    IN      CNAME   clt1.tecmintlocal.com.
    

    Guarde y salga del archivo usando wq! .

    Finalmente, reinicie el servicio bind DNS usando el siguiente comando.

     
    $ sudo service bind9 restart
    

    Necesitamos confirmar si nuestra configuración de zona anterior funciona. Comprobemos usando el comando dig . Ejecute el comando de la siguiente manera desde la consulta localhost.

    $ dig @127.0.0.1 mail.tecmintlocal.com
    

    Hagamos ping y probemos clt1.tecmintlocal.com , antes de eso, necesitamos cambiar la entrada del servidor dns a localhost en nuestra máquina del servidor dns y reiniciar la red para que surta efecto. .

    Abra y edite la configuración de la interfaz de red e ingrese la entrada DNS.

    $ sudo vim /etc/network/interfaces
    

    Cambie la entrada de DNS en la interfaz como se muestra a continuación.

    auto lo
    iface lo inet loopback
    auto eth0
    iface eth0 inet static
            address 192.168.0.100
            netmask 255.255.255.0
            gateway 192.168.0.1
            network 192.168.0.0
            broadcast 192.168.0.255
            dns-nameservers 127.0.0.1
    	    dns-search tecmintlocal.com
    

    Después de agregar la entrada, reinicie la red usando el siguiente comando.

    $ sudo ifdown eth0 && sudo ifup eth0
    

    Si el reinicio de la red no surte efecto, debemos reiniciarlo. Ahora hagamos ping y revisemos clt1.tecmintlocal.com , mientras responde, necesitamos obtener la dirección IP que definimos para el nombre de host clt1 .

    $ ping clt1.tecmintlocal.com -c 3
    

    Configuración de búsquedas de DNS inversas

    Vuelva a abrir y editar el archivo named.conf.local .

    $ sudo vim /etc/bind/named.conf.local
    

    Ahora agregue la siguiente entrada de búsqueda de DNS inversa como se muestra.

    zone "0.168.192.in-addr.arpa" {
            type master;
            notify no;
            file "/etc/bind/db.tecmintlocal192";
            };
    

    Guarde y salga del archivo usando wq! . Ahora cree un archivo db.tecmintlocal192 , como mencioné en el archivo maestro anterior para una búsqueda inversa, copie el db.127 a db.tecmintlocal192 usando el siguiente comando.

    $ sudo cp db.127 db.tecmintlocal192
    

    Ahora, abra y edite un archivo db.tecmintlocal192 para configurar la búsqueda inversa.

    $ sudo vim db.tecmintlocal192
    

    Ingrese la siguiente entrada como se muestra a continuación, modifique la siguiente entrada según sus requisitos.

    ;
    ; BIND reverse data file for local loopback interface
    ;
    $TTL    604800
    @       IN      SOA     ns.tecmintlocal.com. root.tecmintlocal.com. (
                            2014082802      ; Serial
                             604800         ; Refresh
                              86400         ; Retry
                            2419200         ; Expire
                             604800 )       ; Negative Cache TTL
    ;
    @       IN      NS      ns.
    100     IN      PTR     ns.tecmintlocal.com.
    
    111     IN      PTR     ctl1.tecmintlocal.com.
    200     IN      PTR     ldap.tecmintlocal.com.
    211     IN      PTR     ldapc.tecmintlocal.com.
    

    Reinicie el servicio de enlace usando.

    Ahora, verifique la entrada de búsqueda de reserva.

    $ host 192.168.0.111
    

    Si bien hacemos una búsqueda inversa usando una dirección IP como se muestra arriba, quiere responder con un nombre como muestra la imagen de arriba.

    Hagamos una verificación con el comando dig también.

    $ dig clt1.tecmintlocal.com
    

    Aquí, podemos ver la respuesta para nuestra sección de consulta en respuesta ya que el nombre de dominio clt1.tecmintlocal.com tiene la dirección IP 192.168.0.111 .

    Paso 4: Configuración de la máquina cliente

    Simplemente cambie la dirección IP y la entrada dns en la máquina cliente a Nuestro servidor dns local 192.168.0.100 , si es así, nuestra máquina cliente recibirá un nombre de host asignado desde el servidor DNS local.

    Comprobemos el nombre de host de nuestro cliente utilizando la siguiente serie de comandos.

    $ ifconfig eth0 | grep inet
    $ hostname	
    $ dig -x 192.168.0.100
    

    Entendiendo la entrada del archivo de zona en dns, esta imagen le dará una pequeña explicación de lo que hemos definido en la entrada del archivo de zona.

    ¡Eso es! En este artículo, hemos visto cómo configurar un servidor DNS local para nuestra oficina o uso doméstico.

    Pronto podrá leer sobre el artículo sobre cómo solucionar problemas de un servidor DNS utilizando varias herramientas y solucionarlo. Hay muchas herramientas que se utilizan para solucionar problemas de los servidores DNS. Lea el artículo a continuación para conocer algunos consejos de solución de problemas.

    8 comandos de Nslookup para la resolución de problemas de DNS