Crea tu DNS privado con Tailscale: adiós anuncios y datos a salvo
DNS casero: Bloquea anuncios desde la red entera
Si ya tienes una red Tailscale autoalojada con Headscale, has cubierto la conexión privada y encriptada entre tus dispositivos. Pero hay un truco que muchos pasan por alto: bloquear anuncios y trackers directamente en el DNS. Así lo aplicas en todos lados —móvil, portátil, tablet, PC— sin configuraciones extras.
El método clásico es redirigir todo a Cloudflare o Quad9. Funciona, vale. Pero te pierdes un control total.
Por qué un DNS interno cambia todo
Con Headscale manejando la resolución DNS en tu tailnet, ocurre la magia: cada dispositivo recibe respuestas filtradas sin tocar nada en el cliente. Olvídate de apps, listas por aparato o soluciones dispersas.
Ventajas reales:
- Anuncios fuera de juego en toda la red. Esas redes invasivas ni llegan a tus dispositivos.
- Nombres internos resuelven solos. Tu servidor en
homeserver.tailnet.localfunciona en cualquier gadget. - Política de seguridad unificada. Tú decides qué resuelve y qué no. Punto.
Blocky, el rey para autoalojados
Pi-hole o AdGuard Home son geniales y probados. Pero traen paneles web, bases de datos y opciones infinitas que abruman.
Blocky va al grano. Es un proxy DNS puro para filtrar sin complicaciones. Un solo archivo YAML. Corre donde sea. Bloquea lo malo y ya.
¿El costo? Sin interfaz bonita. Para quienes viven en terminal, eso es un plus.
Lo que lo destaca:
- Configuración mínima. Nada de bases de datos ni paneles que actualizar.
- Listas de bloqueo nativas. Usa las de la comunidad o arma las tuyas.
- Súper liviano. Perfecto en Raspberry Pi, VPS chico o donde esté Headscale.
- Encriptación upstream lista. Soporta DNS-over-TLS (DoT) a tu resolver público favorito.
El problema con Private DNS en Android
Imagina: usas "Private DNS" de Android con un resolver DoT público como AdGuard. Todo bien. Agregas Tailscale y ¡pum!, el DNS se rompe.
Qué pasa: Tailscale inyecta sus DNS vía Headscale. Android lo obedece y apunta a 100.100.100.100, un relay simple sin DoT. La sonda de Android falla al esperar encriptación. Nada resuelve.
Solución: Deja que Tailscale controle todo el DNS. Apaga Private DNS en Android. Monta Blocky en tu tailnet, apunta Headscale ahí y listo. Blocky encripta al upstream; no necesitas el truco de Android.
Objetivos clave al armarlo
Antes de lanzar Blocky, define qué buscas:
Objetivo 1: Bloqueo universal de ads y trackers. Todos los dispositivos en el tailnet lo pillan auto, sin líos para usuarios.
Objetivo 2: DNS upstream encriptado. De Blocky a resolver público, usa DoT. WireGuard ya protege el resto; no escatimes en el tramo final.
Objetivo 3: Resolución de servicios internos. Nombres como homeserver.ts.internal resuelven en toda la red.
Objetivo 4: Cero setups por dispositivo. Headscale empuja la config y olvídate.
Cómo fluye la arquitectura
Paso a paso:
- Dispositivos se conectan a Tailscale (Headscale).
- Headscale envía DNS hacia la IP de Blocky en el tailnet.
- Consulta DNS llega a Blocky.
- Blocky filtra con listas: bloqueos devuelven NXDOMAIN; limpias van upstream.
- Upstream usa DoT a Cloudflare, Quad9 o el que elijas.
- Respuestas cachadas vuelven al dispositivo.
- Todo encriptado por WireGuard. Tú mandas en filtros e infra.
Por qué urge ahora
En 2024, privacidad y bloqueo de ads son básicos. Pero la mayoría lo hace por dispositivo, como un parche. La red lo hace escalable. Nuevo móvil en tailnet? Ads bloqueados al instante. En casa ajena? Protección intacta.
Para devs e infra, reduce riesgos: tú auditas listas, eliges resolvers (o ninguno). Filosofía self-hosted pura en DNS.
Pasos siguientes
Si Headscale ya vuela, Blocky es el upgrade obvio. Puedes usar Unbound, Bind o Coredns si quieres, pero Blocky simplifica para la mayoría.
Lo mejor: no te atas. Cambia resolver cuando gustes. Headscale y Tailscale se adaptan.
Tu DNS es crítico; no lo delegues ciego. Toma el control. Silencia el ruido. Mantén datos en tu red. Eso es self-hosting real, y lo tienes al alcance.