Búsqueda de sitios web

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 directa y la búsqueda de reserva. En la mayor parte del lugar, necesitamos búsquedas de reserva. El servidor de caché no contendrá ningún nombre de dominio, solo funcionará como un servidor señalador. Antes de profundizar, necesitamos saber sobre el servidor DNS y cómo funciona.

¿Qué es DNS?

A continuación se muestra una forma sencilla de comprender el DNS y cómo funciona.

Si necesitamos acceder a linux-console.net en el navegador, el sistema buscará linux-console.net. Aquí al final del .com habrá un (.) entonces, ¿qué es esto?

El (.) representa el espacio de nombres del servidor raíz; hay un total de 13 servidores raíz disponibles a nivel mundial. Mientras accedemos a linux-console.net, se le pedirá que nombre el servidor según la configuración del sistema operativo. En Ubuntu, solíamos configurar el servidor de nombres en /etc/resolv.conf, al acceder a linux-console.net, mi navegador solicitará rootear los servidores de nombres, si el servidor de nombres raíz no lo hace. tener la información de mi dominio solicitada, almacenará en caché mi información solicitada y reenviará mi solicitud al servidor de nombres (TLD) dominio de nivel superior, 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 del 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 nuestra solicitud llega a ANS, responderá a la consulta que linux-console.net tiene 111.111.222.1 al mismo tiempo será almacenado en caché en el servidor de nombres autorizado y envía la solicitud de regreso al navegador. Todos los pasos anteriores se realizan en milisegundos.

Espero que sepas qué es DNS ahora y cómo funciona. Ahora configuremos un Servidor DNS de almacenamiento en caché en Ubuntu Server 14.04 LTS.

Paso 1: instalar el 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' y '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 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 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 utiliza 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 realizar 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 explorar ubuntu.com ahora, al principio, no será caché, por lo que puede tomar algunos milisegundos, una vez que se almacenó en caché será 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 Excavar, lea el siguiente tema.

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

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

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

¡Genial! En el segundo intento obtuvimos la consulta en 5 milisegundos. Espero que sepas qué es el servidor de 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 accedieron al sitio oficial de Ubuntu.

Paso 3: Configuración del servidor DNS maestro

Cree un servidor DNS MAESTRO. Aquí defino 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 información de la zona.

Cree el archivo de zona db.tecmintlocal.com (búsquedas directas) a partir de realizar 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 utilizado como tutorial. También uso lo mismo para otras configuraciones de máquinas virtuales. Modifique la siguiente entrada según sus necesidades.

;
; 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 DNS de enlace 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 de 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 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 reiniciar la red no tiene efecto, debemos reiniciar. Ahora hagamos ping y verifiquemos 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 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 la 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

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

Hagamos una verificación usando el comando excavar también.

dig clt1.tecmintlocal.com

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

Paso 4: Configurar 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; de ser así, a nuestra máquina cliente se le asignará un nombre de host desde el servidor DNS local.

Verifiquemos el nombre de host de nuestro cliente usando la siguiente serie de comandos.

ifconfig eth0 | grep inet
hostname	
dig -x 192.168.0.100

Comprendiendo la entrada de archivos de zona en dns. Esta imagen le dará una pequeña explicación de lo que hemos definido en la entrada de archivos de zona.

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

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

8 comandos de Nslookup para solucionar problemas de DNS