Cómo bloquear anuncios con Pi Hole

Una fotografía de una persona usando una computadora portátil.

Un Pi-Hole es un bloqueador de anuncios a nivel de red que intercepta anuncios en cualquier dispositivo de tu red. Se dirige a una lista de miles de dominios que sirven anuncios y redirige su contenido a un agujero negro, eliminándolos de la vista. Puede funcionar en cualquier dispositivo que esté conectado a tu red, sin software adicional. Incluso se ejecuta en aplicaciones de dispositivos móviles, reduciendo el uso de ancho de banda y mejorando el rendimiento. Este tutorial muestra cómo ejecutar Pi Hole en tu máquina Linux.

Tabla de Contenidos

  • ¿Qué es Pi-Hole?
  • Instalando Pi-Hole
  • Actualizando Pi-Hole
  • Configurando un servidor DHCP personalizado
  • Creando una lista de bloqueo personalizada en Pi-Hole
  • Preguntas Frecuentes

Bueno saber: descubre la diferencia entre AdBlock y Adblock Plus y cuál deberías usar.

¿Qué es Pi-Hole?

Pi-Hole se llama a sí mismo “un agujero negro para anuncios de Internet”. Funciona ejecutando todas las solicitudes de servidor salientes contra una lista de bloqueo interna. Para que esto suceda, necesitarás configurar el Pi-Hole como tu servidor DNS. Esto le permite manejar las solicitudes de resolución de direcciones y ver las direcciones IP de la información solicitada. Como resultado, tiene el poder de silenciar selectivamente ciertas solicitudes salientes basadas en sus direcciones IP.

Una captura de pantalla del encabezado del sitio web de Pi-Hole.

Si el Pi-Hole ve una solicitud de conexión que coincide con su lista de bloqueo, bloquea esa solicitud para que no llegue al servidor de anuncios o destino. Más de 10,000 dominios están en la lista de bloqueo, y evita que las solicitudes lleguen a sus servidores. No se descargan anuncios, por lo que se ahorra ancho de banda y se mejora la velocidad de conexión.

Pi-Hole no solo bloquea anuncios. También puede proteger tu red contra todo tipo de vectores de ataque basados en la web. El sistema también incluye un portal web robusto para monitorear y auditar la operación de Pi-Hole.

Mejor aún, todo esto es gratuito y de código abierto. La única parte que no es de código abierto es el nombre y el logo, que están registrados como marcas comerciales.

Instalando Pi-Hole

Mientras que Pi-Hole puede ejecutarse en casi cualquier dispositivo capaz de Linux, los desarrolladores del programa admiten oficialmente estas distribuciones:

  • Raspbian: Buster / Bullseye
  • Ubuntu: 20.04 / 22.04 / 22.10
  • Fedora: 36 / 37
  • Debian: 10 / 11
  • CentOS Stream: 8 / 9

Sigue los pasos a continuación para instalar Pi-Hole en una máquina de escritorio Ubuntu 22.10.

  1. Abre una Terminal y ejecuta el siguiente comando para instalar el software:
curl -sSL https://install.pi-hole.net |bash

Una terminal mostrando el proceso de instalación de Pi-Hole.

Nota: como estás canalizando un comando curl a bash, debería ponerte un poco nervioso, ya que puede ser peligroso. Si deseas asegurarte de que el software no es malicioso, revisa el código fuente de Pi-Hole. También puedes instalar el software manualmente desde el repositorio de Github de Pi-Hole.

  1. Después de la instalación, configura el Pi-Hole como tu servidor DNS en la página de configuración de tu enrutador.

Una captura de pantalla de la página de configuración DNS de un enrutador.

Configura la dirección IP del Pi-Hole (algo como 192.168.68.53) como el único servidor DNS en tu red. Asegúrate de eliminar los otros servidores DNS.

Con el nuevo servidor DNS configurado, has terminado de configurar Pi-Hole. Comenzará a bloquear anuncios en todas partes para cualquier dispositivo en tu red. Para ajustar la configuración de Pi-Hole, visita http://pi.hole en tu red.

Una captura de pantalla de la pantalla predeterminada de Pi-Hole.

Consejo: hay ocasiones en las que una máquina no usará inmediatamente un Pi-Hole en tu red. Aprende cómo solucionar esto en Linux vaciando la caché DNS de tu máquina.

Actualizando Pi-Hole

  1. El primer paso para actualizar Pi-Hole es acceder a la consola de la máquina. Haz esto usando el teclado físico de la máquina o iniciando sesión usando SSH:
  1. Una vez dentro, ejecuta el siguiente comando:
pihole -up

Una terminal mostrando el proceso de actualización de Pi-Hole.

  1. Reinicia tu máquina para aplicar la nueva configuración y binarios:
sudo reboot

Configurando un servidor DHCP personalizado

Además de actuar como el servidor DNS de tu red, Pi-Hole también puede asignar direcciones IP a tus máquinas usando DHCP. Esto puede ser útil en casos donde deseas controlar cuántos nuevos dispositivos pueden usar tu red.

  1. Desactiva el servidor DHCP de tu enrutador. Como es similar a configurar DNS, este paso variará dependiendo del enrutador que tengas.

Una captura de pantalla mostrando el servidor DHCP del enrutador desactivado.

  1. Ve a la página de configuración web de tu Pi Hole.

Una captura de pantalla del panel de control de Pi-Hole.

  1. Haz clic en la categoría “Configuración” en la barra lateral izquierda de la página.

Una captura de pantalla del panel de control con un resaltado en la categoría

  1. Haz clic en la pestaña DHCP.

Una captura de pantalla de la página de

  1. Haz clic en la casilla “Servidor DHCP habilitado”.

Una captura de pantalla de la pestaña

  1. Haz clic en “Habilitar soporte IPv6 (SLAAC + RA)” para también asignar direcciones IPv6 a tus máquinas locales.

Una captura de pantalla de la

  1. Selecciona el cuadro de texto “Hasta” en la subcategoría “Rango de direcciones IP a entregar”.

Una captura de pantalla de la

  1. Reemplaza el contenido del cuadro de texto “Hasta” con la última dirección IP que deseas que DHCP entregue. En mi caso, establecer este valor en “192.168.68.251” limitará el número de clientes que pueden usar mi red a 50.

Una captura de pantalla de la

Consejo: Aparte de Pi-Hole, también puedes bloquear anuncios en el navegador Edge.

Creando una lista de bloqueo personalizada en Pi-Hole

Pi-Hole utiliza una lista de bloqueo central mantenida por sus desarrolladores. Este enfoque significa que el programa puede incluir rápidamente un nuevo conjunto de dominios maliciosos tan pronto como se conectan a Internet. También puedes agregar tus propios dominios en una lista de bloqueo personalizada.

  1. Ve a la página de configuración web de tu Pi-Hole.

Una captura de pantalla del panel de control.

  1. Haz clic en la categoría “Dominios” en la barra lateral izquierda de la página.

Una captura de pantalla del panel de control con un resaltado en la categoría

  1. Selecciona el cuadro de texto “Dominio” e ingresa el dominio que deseas bloquear.

Una captura de pantalla de la página de

  1. Haz clic en el botón “Agregar a la lista de bloqueo”.

Una captura de pantalla de la página de

  1. Si bien esto agregará la dirección a la lista de bloqueo interna de tu máquina, no incluirá subdominios ni subdirectorios presentes en la dirección. Esto puede ser un problema si deseas bloquear un sitio completo de cargar en tu red. Para solucionar esto, haz clic en “Filtro RegEx” en la subpágina de Dominio.

Una captura de pantalla de la página de

  1. Haz clic en el cuadro de texto “Expresión Regular”.

Una captura de pantalla de la página de

  1. Escribe tu dominio en un formato de expresión regular. Por ejemplo, la siguiente línea de texto bloquea todos los subdominios y variaciones de “example.com.”
^.+example.+\.[a-z]+$

Una captura de pantalla de un filtro regex usando el dominio de ejemplo.

  1. Haz clic en “Agregar a la lista de bloqueo” para aplicar tu lista personalizada.

Una captura de pantalla resaltando el botón

Bueno saber: las expresiones regulares son más que solo una forma de crear listas de bloqueo. Aprende la sintaxis básica de regex y sus funciones avanzadas usando nuestra hoja de trucos.

Preguntas Frecuentes

¿Es posible reconfigurar una instalación existente de Pi Hole?

Sí. Haz esto iniciando sesión en la consola de la máquina de tu Pi-Hole y ejecutando: pihole reconfigure. Esto volverá a ejecutar el proceso de configuración inicial y reinstalará todos los paquetes, scripts y dependencias de Pi-Hole.

¿Es posible verificar si un dominio está siendo bloqueado por Pi-Hole?

Sí. Haz esto ingresando a la consola de tu máquina y usando el subcomando de consulta. Por ejemplo, ejecutar pihole -q -exact -all malicious.example.com imprimirá todas las listas de bloqueo que contienen una instancia de “malicious.example.com.”

Crédito de la imagen: Unsplash. Todas las alteraciones y capturas de pantalla por Ramces Red.