- En 2024, la web y el software se han vuelto más agotadores por la publicidad, el rastreo, los widgets de analítica, los banners de cookies y la comunicación constante con servicios externos, y Pi-hole es una forma de reducir eso a nivel de red
- Pi-hole funciona como un sumidero DNS en una red doméstica o de oficina, bloqueando rastreadores, CDN de anuncios y solicitudes de dominios no deseados en todos los dispositivos
- En un entorno de uso real, se bloqueó el 66.6% del tráfico total, y se afirma que no hubo impacto funcional en las tareas cotidianas
- La configuración requiere una Raspberry Pi y una tarjeta microSD, periféricos para la configuración inicial, la instalación de Pi-hole y la configuración de red para que el router envíe las solicitudes DNS a Pi-hole
- Pi-hole por sí solo no puede bloquear toda la publicidad, así que para servicios como YouTube resulta útil usar también un bloqueador de anuncios del navegador como uBlock Origin
Por qué usar Pi-hole
- Durante la navegación web y el uso de software, la recolección de datos no deseada y el rastreo han aumentado mucho, y los usuarios quieren evitar que su computadora, navegador y otras señales se usen para perfilado sin su consentimiento
- La experiencia en línea típica de 2024 está llena de anuncios, scripts maliciosos, widgets de analítica, widgets de chatbot, banners de consentimiento de cookies que cubren la página y software que se comunica con servicios externos en cada clic
- La tecnología publicitaria ha evolucionado hacia una explotación excesiva de los visitantes, y como respuesta se propone colocar Pi-hole en la red doméstica
- Pi-hole es un proyecto conocido desde hace tiempo, y es una herramienta de la que Jeff Atwood, Troy Hunt, Scott Hanselman y Scott Helme han hablado durante años
Cómo funciona en la red
- Pi-hole normalmente se ejecuta en una Raspberry Pi, pero técnicamente también puede ejecutarse fuera de una Pi
- Funciona como una especie de proxy/sumidero DNS dentro de la red
- Cuando un usuario accede a
https://example.com, la solicitud pasa primero por Pi-hole
- Después continúa el flujo hacia la consulta de la información del dominio al servidor DNS autoritativo
- El objetivo es bloquear las solicitudes a dominios a los que no se quiere acceder desde la red
- Rastreadores
- CDN de anuncios
- Dominios a los que no se quiere enviar datos desde la casa o la empresa
- En una red real, se bloqueó el 66.6% del tráfico total y no hubo impacto funcional en las tareas del usuario
Componentes necesarios para la instalación
- Configurar Pi-hole no requiere una gran inversión, y el mayor costo no es el equipo sino el tiempo dedicado a la configuración y la verificación
- La configuración básica es la siguiente
- Raspberry Pi
- Un kit de inicio de CanaKit de aproximadamente 155 dólares en EE. UU.
- También incluye la tarjeta microSD necesaria para la configuración
- Un monitor, mouse y teclado para la configuración inicial de la Raspberry Pi
- Tiempo para seguir la guía básica de instalación de Pi-hole
- Tiempo para configurar el router de modo que las solicitudes DNS de la red pasen por Pi-hole
- El equipo de Pi-hole ha hecho que el proceso de instalación sea lo más simple posible
Gestión de listas de dominios bloqueados
- Después de instalar el hardware y el software, hay que configurar el router para que el destino de las solicitudes DNS apunte al dispositivo con Pi-hole
- El siguiente paso es decidir qué dominios bloquear
- Se puede observar directamente el tráfico de solicitudes que pasa por la red y tomar decisiones
- Se pueden usar listas de bloqueo de la comunidad
- Firebog se recomienda como punto de partida y ofrece muchas listas de dominios investigadas y recopiladas por la comunidad
- No es necesario aplicar todas las listas sin más
- Algunas funciones pueden romperse o dejar de funcionar
- En el registro de consultas en tiempo real de Pi-hole se puede ver qué cliente está intentando acceder a qué dominio
- Según sea necesario, se pueden bloquear o permitir dominios de forma dinámica
- Se pueden bloquear dominios que cumplan ciertas condiciones usando expresiones regulares
- Se menciona como ejemplo bloquear los TLD
.cn, .ru y .hk porque se observa mucho tráfico malicioso originado en Rusia, China y Hong Kong
(^|\\.)(cn|ru|hk)$
- Si se aplica esta regla, mientras las solicitudes DNS pasen por Pi-hole, la comunicación hacia servidores con esos TLD no saldrá de la red
- Los TLD de países no son el único vector de ataque de malware, pero bloquearlos se presenta como un pequeño paso para mejorar la postura general de seguridad de la red
Cómo evitar la evasión de DNS
- Algunos dispositivos pueden intentar eludir el DNS configurado por el usuario para mostrar anuncios o recolectar datos analíticos
- La forma de responder depende del hardware del router en uso
- En un entorno que usa el ecosistema UniFi y un UDM Pro, se muestra un ejemplo de acceso por SSH al UDM para ejecutar reglas de
iptables
iptables -t nat -A PREROUTING ! -s YOUR_PI_HOLE_IP -p tcp --dport 53 -j DNAT --to YOUR_PI_HOLE_IP
iptables -t nat -A PREROUTING ! -s YOUR_PI_HOLE_IP -p udp --dport 53 -j DNAT --to YOUR_PI_HOLE_IP
# Make sure that we skip 192.168.1.1 since that seems to break UniFi Protect
iptables -t nat -A POSTROUTING -m iprange --src-range 192.168.1.2-192.168.254.254 -j MASQUERADE
- Este script redirige todo el tráfico DNS del puerto 53 hacia Pi-hole y aplica enmascaramiento de direcciones de red con una regla NAT
- El primer comando aplica NAT de destino a los paquetes DNS TCP hacia la IP de Pi-hole
-t nat: especifica una regla en la tabla NAT
-A PREROUTING: agrega una regla a la cadena de procesamiento de paquetes entrantes antes del enrutamiento
! -s YOUR_PI_HOLE_IP: excluye los paquetes originados en el propio Pi-hole
-p tcp: se aplica a paquetes TCP
--dport 53: coincide con paquetes dirigidos al puerto DNS 53
-j DNAT: envía al objetivo DNAT que cambia la dirección IP de destino
--to YOUR_PI_HOLE_IP: redirige los paquetes a la IP de Pi-hole
- El segundo comando aplica el mismo tratamiento a los paquetes UDP
- El tercer comando es una regla
MASQUERADE que cambia la IP de origen del rango IP interno especificado por la IP del router
- El rango del ejemplo va de
192.168.1.2 a 192.168.254.254 y puede ajustarse según cada red
- Se excluye
192.168.1.1 para evitar que UniFi Protect deje de funcionar
- Como resultado, todas las solicitudes DNS TCP y UDP de los dispositivos de la red, excepto las originadas en el propio Pi-hole, se redirigen a Pi-hole
Uso junto con un bloqueador de anuncios del navegador
- Aunque Pi-hole esté entre los dispositivos de la red e internet, un bloqueador de anuncios confiable como uBlock Origin sigue siendo valioso
- En servicios como YouTube, donde se quiere mantener el uso del servicio pero sin anuncios, es difícil resolverlo solo con bloqueo a nivel de dominio
- Pi-hole se usa como una capa adicional para bloquear contenido y solicitudes no deseadas además del bloqueador de anuncios del navegador
- Los bloqueadores de anuncios del navegador también pueden bloquear elementos específicos de la interfaz, como anuncios incrustados o contenido patrocinado cargado desde el dominio principal del sitio web
Evaluación tras usarlo
- Después de instalar Pi-hole en la red, el efecto fue tan grande que resultó difícil volver atrás
- La misma configuración se aplicó también a la red de sus padres y a la de los padres de su pareja
- Señala que lo seguirá recomendando porque marca una gran diferencia en la calidad de vida en línea
5 comentarios
Incluso si no usas necesariamente Pi-hole, en general también está bien simplemente usar un DNS que ya bloquee anuncios.
http://youtube.com/watch?v=OvfnqFXRybk También está buena esta forma de instalar y usar AdGuard.
He probado los tres: Adguard Home, PiHole y NextDNS, y al final Adguard Home me pareció el mejor.
Si haces solicitudes en paralelo y le das suficiente caché, las consultas DNS se procesan en menos de 10 ms.
Es un servicio bastante decente desde la perspectiva del bloqueo de anuncios. Pero, como también dice el texto, cuando bloqueas anuncios hay bastantes servicios que dejan de funcionar de formas sutiles, así que en esos casos tienes que desactivar los anuncios y cosas así... Si viviera solo, no sé, pero cuando mi esposa lo usa y algo no funciona y se molesta, eso también se vuelve un dolor de cabeza, así que lo uso solo en mi computadora personal. snif, snif
Oh... gracias..