Instala AdGuard/Pi-Hole + Unbound: Tu propio servidor DNS recursivo en UnRAID
Sencillo tutorial para tener instalado en tu servidor UnRAID un bloqueador de publicidad con tu propio servidor Unbound. Además configúralo en tu Router para que funcione correctamente.

Regístrate en HDS+
Tutoriales y soporte sobre sistemas NAS, Redes, Docker y SelfHosting.
Sin SPAM. Es gratuito. Ten acceso a todo el contenido.
Este tutorial vamos a separarlo en dos partes. Primero explicaremos cómo instalar Pi-Hole y AdGuard Home en nuestro servidor UnRAID. En segunda instancia explicaremos como levantar nuestro propio servidor DNS recursivo e integrarlo con el bloqueador de publicidad y con ello ganar un plus de privacidad y velocidad en la resolución de las consultas.
Vamos a empezar por el principio. Un servidor DNS recursivo, es el intermediario entre los clientes y los servidores DNS que contienen la información veraz que relaciona los nombres de dominio con una o varias direcciones IP.
El funcionamiento es el siguiente: el DNS recursivo consulta en su propia caché si dispone de la información solicitada, en caso negativo pregunta a un servidor DNS raíz, seguida de una solicitud a un servidor DNS de primer nivel y finalmente a un servidor DNS autoritativo.
Con lo anterior, deducimos que nuestro servidor DNS recursivo se volverá más rápido con el tiempo, al disponer de más información guardada en cache.
En la siguiente captura queda patente el funcionamiento. En un primer dig
apuntando a la IP del servidor Unbound, la resolución tarda 437 msec vs los 10 msec de la segunda consulta.

En el tutorial de hoy os voy a explicar cómo instalarlo en UnRAID y añadirlo correctamente a nuestra instancia de AdGuard Home y/o Pi-Hole.


Instalación y configuración de Pi-Hole
- El primer paso será instalar Pi-Hole y modificar la plantilla con las variables que muestro a continuación. Tendréis que especificar una IP dentro del rango local que sea diferente a la de vuestro servidor UnRAID, en nuestro ejemplo
192.168.10.169
. - Tendremos que especificar la misma IP en la variable
ServerIP
. - Por último dentro de la variable de
PIHOLE_DNS
deberemos de especificar la IP en la cual vayamos a ejecutar nuestro servidor DNS recursivo. Que aconsejo que sea la IP posterior en sentido ascendente, en nuestro ejemplo192.168.10.170
.


Instalación y configuración de AdGuard Home
En el caso de querer tener AdGuard en lugar de Pi-Hole, de la plantilla únicamente tendremos que cambiar el tipo de Red a "Custom: br0" y especificar una IP dentro del rango local que sea diferente a la de vuestro servidor UnRAID, en nuestro ejemplo 192.168.10.169
.

Preparando los archivos del servidor Unbound
Lo primero que tendremos que hacer es ejecutar el siguiente comando por SSH, o bien creando el directorio a través de la GUI.
mkdir /mnt/user/appdata/unbound
Después nos bajaremos el siguiente archivo y lo subiremos dentro de la carpeta "unbound" creada en el paso anterior:
Una vez lo tengamos en la carpeta, tendremos que editarlo con el comando nano unbound.conf
y tendremos que cambiar la IP local por la del rango a nuestra Red Local. En nuestro ejemplo 192.168.10.0/24
.


Instalación de Unbound
Ahora que ya tenemos Pi-Hole o AdGuard Home corriendo y hemos configurado correctamente el archivo de configuración de Unbound, toca la parte más importante, y es la instalación de dicho servidor.


Para ello buscaremos "unbound" en la pestaña de DockerHub integrada en UnRAID e instalaremos la imagen de MVANCE.
Una vez dentro de la plantilla, tendremos primero que modificar el Tipo de Red a "Custom: br0" y especificar la IP siguiente a la de nuestra instancia de Pi-Hole/AdGuard, en nuestro ejemplo 192.168.10.170
.
Después tendréis que dejar la plantilla con las mismas variables que muestro en la imagen inferior.

Comprobar que tenemos el servidor DNS recursivo funcionando correctamente
Para comprobarlo, solamente tendremos que entrar por Terminal en nuestro Mac/Linux y ejecutar el siguiente comando:
dig hdsplus.co @192.168.10.170 # Modificar la IP por la especificada en vuestro caso en el servidor DNS Unbound
Nos devolverá la siguiente consulta. Con esto comprobamos que el servidor DNS Unbound resuelve la consulta correctamente.

⚠️ Error al ejecutar Dig
con Unraid
Si queremos ejecutar la comprobación de Unbound en nuestro Terminal de UnRAID nos dará error. Para solucionarlo, nos dirigimos a Ajustes ➜ Docker y habilitamos la opción Acceso del host a redes personalizadas.
Una vez comprobemos que el comando dig
nos devuelve la consulta correctamente, podemos volver a deshabilitarlo.
Cómo integrar Unbound en AdGuard Home y Pi-hole
Ya tenemos todo funcionando, ahora solamente nos falta integrar ambos servicios. Es la tarea más sencilla. En el caso de Pi-Hole no tendremos que tocar nada, ya que hemos especificado el servidor DNS en la plantilla.
En el caso de AdGuard entramos a Configuración ➜ Configuración de DNS y será tan sencillo como especificar la IP donde ejecutamos el servidor Unbound y guardar los cambios.

Podéis tener más servidores Upstream DNS configurados, no es necesario que sea únicamente el nuestro el que trabaje. De hecho yo en mi configuración de AdGuard Home tengo también especificado estos tres:
tls://1dot1dot1dot1.cloudflare-dns.com
tls://dns-unfiltered.adguard.com
https://dns10.quad9.net/dns-query
Una vez hayamos guardado los cambios y para comprobar que ya está funcionando y actuando correctamente, nos iremos a la pantalla principal y veremos como ya está trabajando sin problemas.

CloudFlare certifica que nuestro DNS es 100% seguro y privado con los cuatro checks. Para comprobarlo pulsaremos en el siguiente enlace.

Intégralo: AdGuard / Pi-Hole en tu router como servidor DNS para toda tu Red
Ya lo tenemos todo funcionando correctamente, pero nos faltará especificar el servidor DNS en nuestro Router, para que empiece a filtrar a través de AdGuard Home / Pi-Hole.
- En el caso de tener un Router de la marca ASUS, en HDS+ ya tenéis un tutorial detallado sobre cómo configurarlo correctamente.

- En el caso de Ubiquiti por ejemplo sería tan fácil como irnos a Ajustes ➜ Internet y poner nuestra IP en el campo DNS primario.

En definitiva, y por resumir independientemente de la marca de Router que se tenga, lo único que hay que hacer es especificar la IP local donde tenemos corriendo AdGuard o Pi-Hole dentro del campo DNS Primario / Principal en los ajustes de nuestra conexión a Internet.