Tener un servidor DNS en una red local es muy útil para mejorar la velocidad de respuesta de todos los dispositivos, ademas nos puede ayudar a mejorar la privacidad, ya que la mayoría de peticiones DNS no viajaran fuera de nuestra red. Este tutorial es perfecto para los que tenemos una RPI en casa o cualquier tipo de dispositivo conectado 24h en la red. También puede ser útil para usarse de forma local en un único equipo, ya que a nivel de SO en GNU/Linux no se suele cachear.

En este caso voy a usar bind9, este al recibir una solicitud mirara si esta en su base de datos/cache, en caso contrario solicitara a otro DNS la IP, de esta forma la primera vez que se vaya a resolver el nombre sera algo más lento, pero luego mejoran muchísimo los tiempos.
Para esta guía voy a suponer que se tiene instalado Debian o algún derivado como Raspbian.

Configuración del servidor:

Antes de empezar siempre nos debemos asegurar tener todo el sistema actualizado:

Instalamos bind9:

Realizamos una copia de seguridad del fichero de configuración:

Por suerte bind9 ya viene configurado para funcionar como servidor cache y únicamente debemos de agregar las IPs de los servidores que tomara los datos, por lo tanto descomentamos la sección de forwarders y agregamos unas cuantas IPs:

Eso seria un ejemplo, podemos agregar los que queramos, los más recomendables son los más rápidos en la zona de cada uno, en mi caso son los de google y OpenDNS, pero aquí tenéis algunos interesantes que respetan la privacidad:

https://dns.watch/

www.piratpartiet.no/dns/

www.opennicproject.org/

Ahora levantamos el servicio:

Testando desde otro host:

Con esto ya deberíamos de poder hacer unas pruebas para ver si funciona correctamente, para eso vamos a usar dig:

Se debe sustituir la IP por la correspondiente, en mi caso quedaría así:

Solo imprimirá las últimas 5 lineas que son las interesantes:

La primera linea nos mostrara el tiempo que ha tardado, pero si lo volvemos a ejecutar vemos como baja drásticamente:

Si todo ha ido bien agregamos bind9 al arranque:

Configurando el router:

Ahora debemos hacer que nuestros equipos usen por defecto este DNS y no el que nos proporciona nuestro ISP, cada router es un mundo y probablemente debamos de buscar información del modelo especifico de cada uno, pero igualmente voy a dar unas indicaciones básicas.

Para empezar debemos de configurar el servidor con una IP fija, esto se puede hacer desde el propio host o aun mejor desde el DHCP:

Y también cambiamos los valores del los servidores DNS que proporciona por defecto:

Con esto deberíamos de obtener una IP estática por el DHCP, pero no es instantáneo, deberíamos de poder obtener la IP nueva forzando una petición nueva:

Como extra voy a señalar como forzar el uso de los DNS que queramos haciendo caso omiso a los datos proporcionados por el DHCP:

Y esto agregara manualmente nuestro servidor como único DNS (podemos poner varios, uno por linea), si queremos que el cambio sea persistente debemos de modificar el fichero: “/etc/resolv.conf.head” en el cual agregamos de la misma forma las IPs que nos interesen.

Si todo ha ido bien a partir de ahora todos nuestros dispositivos al intentar acceder a un dominio primero preguntara a nuestro servidor local mejorando considerablemente la velocidad de navegación do todos los dispositivos en la casa, pero ademas si abrimos los puertos podemos realizar solicitudes desde fuera.

1
Deja una respuesta

avatar
1 Hilos de comentario
0 Respuestas de hilo
0 Seguidores
 
Comentario más reaccionado
El hilo de comentarios más caliente
0 Autores de comentarios
Securizando peticiones DNS con TOR | LiGNUx Autores de comentarios recientes
  Suscribirse  
Los más recientes Los más antiguos Más votados
Notificarme las
trackback

[…] Creando un sencillo servidor DNS cache […]