Bygg egen privat DNS med Tailscale: Slipp annonser och behåll kontrollen över datan
Självhostad DNS: Blockera annonser på nätverksnivå
Har du redan Headscale igång för ditt Tailscale-nätverk? Då har du fixat krypterad, privat uppkoppling mellan prylarna. Men många glömmer det här: du kan stoppa annonser och spårning direkt i DNS-skiktet. Det funkar automatiskt på mobil, laptop, platta – överallt.
Gammal stil? Peka allt mot Cloudflare eller Quad9. Det går an. Men du missar massor av fördelar.
Varför intern DNS rockar
Med Headscale som styr DNS för hela tailnet blir det enkelt: alla enheter får filtrerad DNS utan krångel på varje pryl. Inga appar att installera. Inga listor per enhet. Inga dubbla lösningar.
Tänk på vinsten:
- Annonser försvinner överallt. Den där spionerande annonsnätverket? Det når aldrig fram.
- Interna namn löser sig direkt.
homeserver.tailnet.localfunkar var du än är. - Samma säkerhet för alla. Du bestämmer vad som godkänns.
Blocky – perfekt för oss som hostar själva
Pi-hole och AdGuard Home är bra grejer. Stabila och beprövade. Men de drar med sig web-gränssnitt, databaser och massa inställningar.
Blocky är annorlunda. En ren DNS-proxy för filtrering utan onödigt. En enda YAML-fil. Körs var som helst. Fokuserar på en sak: stoppa skit-DNS.
Nackdel? Inget flashigt gränssnitt. Men för oss som lever i terminalen är det en styrka.
Vad gör Blocky unikt:
- Enkel setup. Ingen databas, inget webbskit att sköta.
- Blocklist-stöd. Använd community-listor eller bygg egna.
- Lättviktig. Flyter på Raspberry Pi eller liten VPS – samma ställe som Headscale.
- Kryptering upstream. DNS-over-TLS till din favorit-resolver.
Androids Private DNS-fälla
Vanligt problem: Du kör Androids inbyggda Private DNS mot en offentlig DoT-server, typ AdGuard. Allt rullar på. Sen lägger du till Tailscale – och DNS kraschar.
Vad händer: Tailscale (via Headscale) trycker in egna DNS-inställningar. Android följer det och pekar mot 100.100.100.100. Men den resolvern hanterar inte DoT. Androids test misslyckas. Inget löser upp.
Lösning? Låt Tailscale ta hela DNS-kakan. Släpp Androids Private DNS. Kör Blocky i tailnet, peka Headscale dit. Blocky sköter upstream-kryptering. Androids grej behövs inte.
Dina mål med setupen
Tänk efter innan du kör igång Blocky:
Mål 1: Blockera annonser och trackers överallt. Alla tailnet-enheter får filtrerat DNS auto. Inget pill för användarna.
Mål 2: Krypterad upstream. Blocky till offentlig resolver via DoT. WireGuard skyddar resten.
Mål 3: Interna namn. homeserver.ts.internal funkar i hela nätet.
Mål 4: Noll setup per enhet. Headscale pushar inställningar. Klienter hakar på själva.
Så funkar arkitekturen
Flödet i korthet:
- Enheter kopplar upp mot Tailscale (Headscale).
- Headscale skickar DNS-peking mot Blockys IP i tailnet.
- Enhet frågar DNS – träffar Blocky.
- Blocky kollar blocklistor. Blockat? NXDOMAIN. Annars vidare upstream.
- Upstream går via DoT till Cloudflare, Quad9 eller vad du vill.
- Svar cachas i Blocky och tillbaka till enheten.
- WireGuard krypterar allt. Du äger showen.
Varför det här är viktigt just nu
2024 är integritet och adblock basnivå. Men de flesta lösningar är per-enhet-grejer. Nätverksvägen skalar bättre. Ny mobil i tailnet? Adblock på plats direkt. Hos polaren? Skyddet följer med.
För dev:ar och infra-folk minskar det ytan. Du styr DNS. Granskar listor. Väljer resolver. Självhostad filosofi på riktigt.
Nästa steg
Headscale uppe? Lägg till Blocky nu. Vill du Unbound eller CoreDNS istället? Kör på. Blockys enkelhet passar de flesta.
Pluspoäng: Inte låst. Byt resolver när det passar. Headscale och Tailscale bryr sig inte.
DNS är för viktigt för att lämna åt slumpen. Ta kontrollen. Stoppa bruset. Håll datan hemma. Självhostat på toppnivå – det fixar du enkelt.