|

Cómo configurar un servidor DNS en Raspberry Pi

 por Emmet  23 nov 2019  Actualizado 01 dic 2019

En este tutorial te guiaremos a través de los pasos para configurar un servidor DNS en tu Raspberry Pi.

Raspberry Pi DNS Server


Un servidor DNS es lo que se encarga de traducir un nombre de dominio como pimylifeup.com a su destino final. Es lo que ayuda a transformar las direcciones IP de algo como “210.345.231.345” al sistema de nombres de dominio, mucho más fácil de recordar para el usuario.

Al configurar un servidor DNS en tu Raspberry Pi, puedes usarlo para mejorar el tiempo que tarda tu computadora en realizar peticiones DNS.

El servidor DNS en la Pi hará peticiones a otros servidores DNS para determinar la IP de esa petición y la almacenará en caché. Esto significa que cuando vuelvas a solicitar ese mismo nombre de dominio, obtendrás la respuesta casi al instante.

Si quieres configurar en tu Raspberry Pi un servidor DNS con algo más de funcionalidad de fábrica, te recomendamos que consultes nuestra guía para configurar Pi-Hole.

Pi-Hole es un paquete de software que incluye un conjunto de funciones adicionales, como el bloqueo de nombres de dominio, además de una interfaz fácil de usar que te permite gestionar tu configuración DNS con comodidad.

Si quieres aprender a cambiar el DNS que usa tu Raspberry Pi, no dejes de seguir nuestra guía de configuración de DNS.

Antes de comenzar a configurar tu servidor DNS en Raspberry Pi, primero debes asegurarte de tener tu Pi configurada para usar una dirección IP estática.

 Lista de equipo

Aquí está todo el equipo que recomiendo para este tutorial de servidor DNS en Raspberry Pi.

Recomendado

 Raspberry Pi 2, 3 o 4

 Tarjeta Micro SD

 Fuente de alimentación

 Cable Ethernet o adaptador WiFi (La Pi 3 y la 4 tienen WiFi integrado)

Opcional

 Carcasa para Raspberry Pi

 Configurar un servidor DNS en la Raspberry Pi

1. En este tutorial utilizaremos el sistema operativo Raspbian. Otros sistemas operativos podrían funcionar, pero no está garantizado.

Antes de poder configurar nuestra Raspberry Pi como servidor DNS, debemos asegurarnos de que todo esté actualizado.

Podemos hacer esto ejecutando los siguientes dos comandos en nuestra Raspberry Pi.

sudo apt update
sudo apt upgrade

2. Una vez completada la actualización, podemos proceder a instalar el software que usaremos para configurar nuestra Pi como servidor DNS.

El paquete de software que vamos a instalar se llama DNSmasq. DNSmasq es un servidor DNS ligero y sencillo que fue diseñado pensando en redes de pequeña escala.

Gracias a su naturaleza ligera, DNSmasq es la solución perfecta para configurar un servidor DNS en una Raspberry Pi, ya que no agotará sus limitados recursos.

Podemos instalar dnsmasq en nuestra Raspberry Pi ejecutando el siguiente comando.

sudo apt install dnsmasq

 Configurar el servidor DNS

1. Ahora que ya hemos instalado el software dnsmasq en nuestra Raspberry Pi, deberíamos hacerle algunos cambios en la configuración.

Los cambios que haremos en su archivo de configuración permitirán que tu Raspberry Pi funcione mejor como servidor DNS.

Podemos empezar a modificar el archivo ejecutando el siguiente comando.

sudo nano /etc/dnsmasq.conf

Para encontrar más fácilmente las secciones que buscas, puedes usar CTRL + W para buscar el texto requerido.

Busca

#domain-needed

Reemplaza con

domain-needed

Esta opción cambia el servidor DNS para que no reenvíe a los servidores de nombres upstream los nombres que no contengan un punto (.) o un nombre de dominio (.com).

Hacer esto mantiene dentro de la red local cualquier nombre sencillo como “localhost” o “dlinkrouter”.

Busca

#bogus-priv

Reemplaza con

bogus-priv

Esta opción evita que el servidor DNS reenvíe a los servidores DNS upstream las consultas de búsqueda inversa que tengan un rango de IP local.

Hacer esto ayuda a evitar que se filtre la configuración de la red local, ya que las direcciones IP nunca se enviarán a los servidores upstream.

Busca

#no-resolv

Reemplaza con

no-resolv

Con esta opción le indicamos a dnsmasq que no lea el archivo “/etc/resolv.conf” para obtener sus servidores de nombres upstream y que, en su lugar, use los especificados en su configuración.

Busca

#server=/localnet/192.168.0.1

Reemplaza con

server=8.8.8.8
server=8.8.4.4

Con esto le indicamos a dnsmasq que utilice los servidores DNS de Google como sus servidores de nombres upstream.

También puedes usar otros DNS públicos como el DNS de CloudFlare o OpenDNS.

Busca

#cache-size=150

Reemplaza con

cache-size=1000

Con esta opción aumentamos la cantidad de peticiones DNS que el software dnsmasq guardará en caché.

Al aumentar el tamaño de la caché, deberíamos poder mejorar el rendimiento general del servidor DNS de nuestra Raspberry Pi y reducir el tiempo para realizar las búsquedas DNS.

2. Con los cambios hechos en el archivo de configuración, ahora puedes guardar el archivo presionando CTRL + X luego Y seguido de ENTER.

3. Como hemos hecho cambios en la configuración de dnsmasq, necesitaremos reiniciar su servicio para que lea nuestros cambios.

Podemos reiniciar dnsmasq ejecutando el siguiente comando.

sudo systemctl restart dnsmasq

4. Como hicimos algunos cambios en el servicio dnsmasq, deberíamos comprobar que haya arrancado correctamente.

Podemos comprobar el estado de nuestro servidor DNS usando el comando de abajo.

sudo systemctl status dnsmasq

Si el estado muestra “Active: active (running)”, entonces ya tienes tu Raspberry Pi funcionando correctamente como servidor DNS.

Ahora deberías poder apuntar tu dispositivo a la dirección IP de la Raspberry Pi para utilizarla como servidor DNS.

 Probar el servidor DNS de la Raspberry Pi

1. Si quieres probar los resultados de tu servidor DNS en Raspberry Pi sin cambiar tu DNS, puedes hacerlo usando la herramienta “dig”.

Para usar la herramienta dig en tu Raspberry Pi, primero necesitarás instalar el paquete “dnsutils” ejecutando el comando de abajo.

sudo apt install dnsutils

2. Con el paquete “dnsutils” instalado en la Raspberry Pi, podemos consultar nuestro servidor DNS de la Pi ejecutando el comando de abajo.

Al usar “@localhost” le indicamos a la herramienta dig que utilice el servidor DNS del localhost para la búsqueda DNS.

dig pimylifeup.com @localhost

3. Con este comando deberías obtener una respuesta como la que tenemos a continuación.

Esta respuesta muestra el resultado que el software dig obtuvo del servidor DNS de la Raspberry Pi.

A partir de esta respuesta, puedes ver cuánto tardó en completarse la consulta, así como información adicional.

pi@raspberrypi:~ $ dig pimylifeup.com

; <<>> DiG 9.11.5-P4-5.1-Raspbian <<>> pimylifeup.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 40018
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;pimylifeup.com.                        IN      A

;; ANSWER SECTION:
pimylifeup.com.         257     IN      A       104.25.42.22
pimylifeup.com.         257     IN      A       104.25.43.22

;; Query time: 45 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Thu Aug 01 08:04:35 BST 2019
;; MSG SIZE  rcvd: 75

4. Si vuelves a ejecutar el comando, notarás que el tiempo de consulta se reducirá significativamente, ya que puede recuperar la petición DNS desde la caché.

Como estamos consultando desde localhost, deberías tener un tiempo de consulta cercano a 0 msec.

;; Query time: 0 msec

Con suerte, a estas alturas ya habrás configurado correctamente tu Raspberry Pi para que funcione como servidor DNS de tu red. Si te encuentras con algún problema o tienes algún comentario, no dudes en dejarlo abajo.

Artículo traducido al español. Fuente original: Pi My Life Up (autor: Emmet).

Similar Posts

Deja un comentario