04 noviembre, 2015

Configurar un servidor DNS caché en Linux

Buenas tardes admins, hoy os presento como implementar un servidor caché
de resolución de nombres de dominio.

Lo vamos a implementar en una Raspberry y permitirá que en la red local se realicen las peticiones DNS hacia el servicio de la Raspberry, con esto conseguiremos una mayor velocidad de internet debido a que las peticiones DNS se resolverán mucho mas rápido que si las hiciéramos a servidores externos.


Esto se debe a que la Raspberry almacenará las peticiones que realicen los clientes y en caso de que se vuelva a pedir el mismo nombre de dominio, el servidor lo habrá guardado en la caché y, por tanto, la respuesta será mas rápida.

Sin mas dilación vamos a divertirnos:

En primer lugar instalamos el servidor BIND9 con el comando:

#apt-get install bind9


En próximo paso es editar el siguiente archivo:

#nano /etc/bind/named.conf.options

Y escribimos lo siguiente: 
  1. los forwarders: son los DNS a los que el el servicio realizará la petición en caso de no saber resolver el nombre.
  2. listen on port 53: aquí definimos el puerto en el que queramos que escuche y las redes en las que atienda a los clientes, en este caso pondremos que la Raspberry se resuelva los nombres a si misma ademas y los demás clientes de la red loscal.
  3. allow-query: las redes en las que serán permitidas las peticiones DNS
  4. allow-transfer: con esta opción evitamos que se hagan transferencias de zona.
  5. allow-transfer: lista de direcciones IP en las que estarán permitidas las peticiones recursivas.
  6. Las demás las teneís en aquí, adicionalmente podeís definir las que queraís.



 

Una vez configurado el servidor lo reiniciamos con el comando:

#service bind9 restart

Finalmente vamos a decir al cliente DNS de la Raspberry que haga las peticiones directamente a si misma.Para ello editamos el archivo resolv.conf y definimos como servidor DNS a la IP de bucle local.
 
#nano /etc/resolv.conf


 
 

Salimos y comprobamos el funcionamiento con ayuda de los comandos “time” para ver el tiempo de ejecución de un comando y “nslookup” para resolver los nombres.
Vemos que en el primer comando el tiempo es mayor que en el segundo, por tanto, el servidor DNS caché funciona correctamente. Además en el cliente DNS hemos definido solo el servicio de la Raspberry, como resuelve, significa que funciona.







Espero que lo haya explicado bien y se entienda. Como veís es muy sencillo implantar un DNS caché.

Hasta la próxima.

No hay comentarios:

Publicar un comentario