Pi-hole es una aplicación para bloqueo de anuncios y rastreadores en Internet a nivel de red en Linux que actúa como un sumidero de DNS (y opcionalmente como un servidor DHCP), destinado para su uso en una red privada.
Está diseñado para su uso en dispositivos embebidos con capacidad de red, como el Raspberry Pi, pero también se puede utilizar en otras máquinas que ejecuten distribuciones Linux e implementaciones en la nube. (Fuente Wikipedia)
El NAS QNAP-332X tiene un procesador arm64v8 y a veces no es fácil encontrar un Dockerfile adaptado para tu sistema. En este tutorial veremos como instalar pi-hole en este NAS.
Para este tutorial debemos tener instalada la App Container Station en el NAS.
Paso 1- Nos conectamos con el NAS y nos bajamos Pi-Hole
Realizamos una conexión ssh con el NAS.
ssh admin@<ip_del_NAS>
Nos vamos a una carpeta dentro de los discos del NAS.
Ahora cuidado con esto: Vamos a proceder a descargarnos archivos desde Internet. Al acceder por ssh al NAS entrarás en una carpeta llamada root y tiene poco espacio de disco asignado.
Esa carpeta root está montada en un espacio de disco muy pequeño. En mi caso de apenas 138MB. Si quieres comprobarlo usa la orden df .
[~] # df .
Filesystem Size Used Available Use% Mounted on
none 138.0M 104.2M 33.8M 75% /
En mi caso iré a una compartida que tengo:
cd /share/CACHEDEV1_DATA/Compartida_NAS/docker/
Tú vete a la tuya.
Si no estás familiarizado con los directorios montados en Linux usa la orden df
sin parámetros, fíjate en la columna Available
donde tengas Gigas libres y anota el directorio donde dice Mounted on
. No uses el que dice Container ya que son las reservadas para el Container Station.
Una vez hayas accedido al directorio con espacio suficiente, nos descargamos de github todo lo necesario para poner Pi-hole en un contenedor.
wget https://github.com/pi-hole/docker-pi-hole/archive/master.zip
Ahora lo descomprimimos:
unzip master.zip
Nos creará una carpeta llamada docker-pi-hole-master
Entraremos dentro de dicha carpeta:
cd docker-pi-hole-master
Paso 2- Creamos la imagen desde el Dockerfile.
Ya dentro del directorio docker-pi-hole-master
hacemos lo siguiente:
docker build -f Dockerfile_aarch64 -t pihole .
Le estamos diciendo que use el archivo Dockerfile para este procesador aarch64 que es el que usa este NAS.
Ahora podemos borrar también el archivo zip descargado junto con la carpeta descomprimida.
En la línea de comandos del NAS escribimos:
cd ..
rm -r docker-pi-hole-master
rm master.zip
Paso 3- Ejecutamos el contenedor.
Ahora seguiremos el paso 3 de mi anterior tutorial ya que no tengo ganas de repetir lo mismo.
Paso 4- Asignar una contraseña a Pi-hole
Lo podrás hacer abriendo un terminal desde la ventana del Container Station
–> Overview
–> en pihole hacer clic en el icono >_
, escribir en la ventana que se te abre \bin\bash
Con esto hemos abierto un terminal en nuestro navegador. Ahora pondremos en el terminal el comando:
sudo pihole -a -p
y le ponemos la contraseña que queramos. Podremos acceder al Pi-hole poniendo en el navegador:
http://<ip_de_pi-hole>
Saludos.