Configuración de servidor DNS en una Raspbery Pi

En esta entrada se definen los pasos a seguir para configurar un servidor DNS en una Raspberry Pi.

Instalación de DNSMasq

1
sudo apt install -y dnsmasq

Configuración de dnsmasq

1
sudo nano /etc/dnsmasq.conf

Buscamos (CTRL+W) y descomentamos las siguientes líneas eliminando el signo de almohadilla (#):

  • domain-needed - Configuramos el servidor DNS para que no reenvíe los nombres sin un punto (.) o un nombre de dominio a los servidores upstream. Los nombres sin punto o dominio se quedan en la red local.
  • bogus-priv - Impide que el servidor DNS reenvíe las consultas de búsqueda inversa del rango de IP local a los servidores DNS ascendentes. Esto previene la filtración de la red local a los servidores upstream.
  • no-resolv - Deja de leer los servidores de nombres upstream del archivo /etc/resolv.conf, confiando en cambio en los de la configuración de DNSMasq.

Buscamos (CTRL+W) y eliminamos la siguiente línea:

1
#sever=/localnet/192.168.0.1

La sustitimos por las DNS de Cloudflare:

1
2
3
server=1.1.1.1

server=1.0.0.1

Este paso hace uso de los servidores DNS de Google para los servidores de nombres ascendentes.

Buscamos (CTRL+W) la siguiente línea:

1
#cache-size=150

Descomentamos y cambiamos el tamaño de la caché a 1000:

1
cache-size=1000

Aumentar el tamaño de la caché ahorra un mayor número de peticiones DNS a la caché de DNSMasq. El rendimiento de la red mejora porque el tiempo de búsqueda de DNS se reduce.

Guardamos el archivo con CTRL+X, luego presionamos Y y pulsamos Enter para guardar los cambios.

Reiniciamos DNSMasq para aplicar los cambios:

1
sudo systemctl restart dnsmasq

Comprobamos el estado del servidor DNS con:

1
sudo systemctl status dnsmasq

Añadir una url

1
sudo nano /etc/dnsmasq.d/example.conf

Añadimos la ip local asociada a un nombre de dominio, por ejemplo home.localhost.

1
address=home.localhost/192.168.1.130

Probar el servidor DNS en una

1
sudo apt install -y dnsutils