Instalar Pi-hole como servidor DNS local en una Rapsberry PI.
Por Víctor Aracil - agosto 27, 2020
Actualización 2025 – Pi-hole v6 ya disponible
⚠️ IMPORTANTE: Esta guía fue escrita en 2020 y sigue siendo útil como base para instalar Pi-hole. Sin embargo, desde febrero de 2025, Pi-hole ha lanzado su versión 6, con importantes cambios que afectan a su instalación y configuración.
Novedades clave de Pi-hole v6:
Servidor web integrado: Ya no es necesario instalar lighttpd ni PHP. Pi-hole ahora incluye su propio servidor web dentro del binario pihole-FTL, simplificando la instalación.
Interfaz web renovada: Con diseño más moderno, mejor rendimiento y modos “básico” y “experto”.
Nuevo archivo de configuración pihole.toml: Toda la configuración se centraliza en un solo archivo, más claro y comentado.
HTTPS nativo: Puedes habilitar HTTPS fácilmente desde la configuración, sin depender de servidores web externos.
API REST integrada: Ideal para automatizar tareas y gestionar Pi-hole desde scripts o herramientas externas.
¿Sigue funcionando esta guía?
Sí, el proceso de instalación básico mediante el script oficial sigue siendo válido:
curl -sSL https://install.pi-hole.net | bash
Pero si estás empezando desde cero, te recomiendo consultar la entrada que contiene la instalación de Pi-hole v6
En este artículo explicaré cómo he convertido la Raspberry Pi en mi propio servidor DNS (Domain Name Server), para poder bloquear rastreadores y toda esa publicidad que tanto molesta al visitar una web desde la red de casa.
La función principal de un servidor DNS, es asociar nombres de dominio con direcciones IP.
Cuando quiera 'salir' a Internet desde alguno de mis ordenadores o dispositivos de casa, mis peticiónes pasarán antes a través de la Raspberry, con el servicio de Pi-Hole en marcha, que será el encargado de permitirlas o bloquearlas, si las direcciónes IP están en la lista blanca o negra que lleva configurada.
Antes de la instalación, me conecto mediante SSH a la Raspberry, ya que no hago uso de interfaz gráfica.
Compruebo que la herramienta 'curl' se encuentra instalada. De lo contrario la descargaría tecleando
sudo apt-get install curl.
Lo primero es asegurarse que se tiene un IP estática, para que el DHCP del router no le asigne cualquiera que esté en su rango, y los dispositivos no puedan comunicarse con el servidor DNS.
Esto se hace configurando el archivo correspondiente, en mi caso con el editor 'nano'.
sudo nano /etc/dhcpcd.conf
Reiniciamos el sistema y entramos en la instalación de Pi-Hole.
sudo curl -sSL https://install.pi-hole.net | bash
Empezará el proceso y se instalarán las listas de bloqueo (se pueden añadir las que quieras posteriormente). Le decimos a todo que sí, hasta que comience a instalar los paquetes.
Cuando nos da la contraseña de admin por defecto, la cambiamos con el comando
pihole -a -p
Como el router que tengo del ISP no me permite el cambio de DNS a nivel de DHCP, tengo que configurar la tarjeta de red en cada uno de los dispositivos de casa, cambiando la dirección de DNS de Cloudflare (1.1.1.1) para que apunte a la de la Raspberry (192.168.1.3).
Por ejemplo, desde Windows lo hice como se muestra en esta captura:
Puedes ver cómo se bloquea la publicidad entrando antes y después del filtrado, seleccionando 'disable for 10 seconds'.
Para ver cómo funciona, puedes ir a la típica web en la que te hacen un test de velocidad. Solo verás el contenido que quieres ver, sin ningún tipo de anuncio publicitario.
Si solo quieres bloquear los anuncios de YouTube en el ordenador o móvil, te lo explico aquí.
Para cifrar todo el tráfico DNS, échale un vistazo a esta entrada.
2 Reviews
Lo hice pero tuve un problema con las DNS y pensaba que era por que tardan en replicarse las dns y luego era un problema de limpiar la cache de dns del chrome :(
ResponderEliminarEsto con internet explorer no pasaba XD
Gracias por tu aportación.
EliminarUn saludo.