← Archief / Netwerk

DNS-over-HTTPS thuis via AdGuard Home

Je DNS terug in eigen handen, en waarom DoH je niet de privacy geeft die je denkt.

DNS-over-HTTPS thuis via AdGuard Home

DNS-over-HTTPS thuis via AdGuard Home

Je DNS terug in eigen handen, en waarom DoH je niet de privacy geeft die je denkt.

Elke keer dat je een website opent, stuurt je router een DNS-query naar een server van je provider of van Google. Die query is in de meeste thuisnetwerken onversleuteld: je ISP ziet exact welke domeinen je opzoekt, wanneer en hoe vaak. DNS-over-HTTPS (DoH) versleutelt die query, maar het lost lang niet alles op. In dit artikel zet je AdGuard Home op als lokale DoH-server, begrijp je waar de grenzen liggen, en kies je bewust welk stukje privacy je terugwint.

Wat DNS-over-HTTPS wel en niet doet

DoH stopt je DNS-verkeer in een gewone HTTPS-verbinding op poort 443. Het resultaat: je ISP ziet geen leesbare domeinnamen meer in het DNS-verkeer. Tot zover het goede nieuws.

De rest van de verbinding verraadt nog heel wat. Nadat de DNS-query opgelost is, maak je een TCP-verbinding naar het IP-adres van de server. Dat IP is zichtbaar voor iedereen op het pad. Een ISP die wil weten wat je doet, hoeft het IP enkel op te zoeken in een eigen database — de meeste IP-blokken zijn gekoppeld aan een herkenbare dienst. Bovendien zit in de TLS-handshake het Server Name Indication-veld (SNI): de domeinnaam in plaintext, zichtbaar voor routers en firewalls. DoH pakt de DNS-stap aan, maar de SNI-stap staat nog volledig open.

"DoH versleutelt de vraag aan het telefoonboek, maar niet het bord boven de deur van de winkel waar je binnenstapt."

Er is een oplossing in de maak: Encrypted Client Hello (ECH) versleutelt het SNI-veld in de TLS-handshake. Cloudflare ondersteunt ECH al op zijn infrastructuur, en Firefox schakelt het in wanneer beschikbaar. Maar ECH werkt alleen als ook de DNS-records (HTTPS-records met de ECH-parameters) versleuteld worden opgehaald — dus DoH of DoT is een vereiste, niet een einddoel.

Een tweede valkuil is EDNS Client Subnet (ECS). Sommige DoH-resolvers sturen een deel van je IP-adres mee naar de autoritatieve DNS-servers, zodat CDN's jou naar de dichtstbijzijnde edge-server kunnen sturen. Handig voor snelheid, slecht voor privacy: authoritative nameservers van grote CDN's ontvangen zo je gecorte subnet. Cloudflare's 1.1.1.1 schakelt ECS bewust uit; Google's 8.8.8.8 stuurt het wel door. AdGuard Home laat je de DoH-upstream vrij kiezen — kies dan ook bewust.

DoH, DoT en DoQ: wat is het verschil?

Er zijn drie gangbare protocollen voor versleutelde DNS-communicatie. Ze lossen hetzelfde probleem op, maar via een andere aanpak:

  • DNS-over-TLS (DoT) — pakt DNS in een TLS-verbinding op poort 853. Netwerkbeheerders kunnen het verkeer herkennen en filteren op poort; nuttig in bedrijfsomgevingen. Meest volwassen op infrastructuurniveau.
  • DNS-over-HTTPS (DoH) — pakt DNS in HTTPS op poort 443. Niet te onderscheiden van gewoon webverkeer; moeilijker te blokkeren. Breed ondersteund door browsers en besturingssystemen.
  • DNS-over-QUIC (DoQ) — gebruikt het QUIC-protocol direct als transport, zonder HTTP-overhead. Gemiddeld 18–22% lagere latency dan DoT, en beter bestand tegen verbindingswisselingen (bijv. wifi naar 4G). Relatief nieuw (RFC 9250), maar moderne resolvers beginnen het te ondersteunen.

Voor een thuisnetwerk is DoH de meest pragmatische keuze: brede clientondersteuning, werkt door firewalls heen, en AdGuard Home beheerst het uit de doos.

AdGuard Home installeren en DoH activeren

AdGuard Home draait op een Raspberry Pi, een oude mini-pc, of gewoon in Docker. Het verschil met Pi-hole: AdGuard Home heeft DoH/DoT/DoQ ingebakken zonder extra software, heeft een intuïtiever interface voor per-client-regels, en blokkeert diensten als TikTok of WhatsApp met één schakelaar. Pi-hole heeft een grotere community en meer community-blocklists, maar voor DoH heb je er een extra daemon naast nodig.

Hieronder de installatie op een Debian/Ubuntu-server of Raspberry Pi OS:

Terminal — installatie AdGuard Home
# Download en installeer via het officiële script
curl -s -S -L https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v

# AdGuard Home draait nu op poort 3000 (setup-wizard)
# Na setup: webinterface op poort 80 (of jouw gekozen poort)

Volg de setup-wizard via http://<server-ip>:3000. Je kiest een beheerderspoort (bijv. 3000 bewaren of verplaatsen naar 8080) en een DNS-poort (standaard 53). Na de wizard ben je klaar voor de volgende stap: de upstream DoH-resolver instellen.

Ga naar Instellingen → DNS-instellingen → Upstream DNS-servers en vervang de standaardwaarden door een of meer DoH-upstreams:

AdGuard Home — upstream DNS-servers (kies één of combineer)
# Cloudflare — geen ECS, strikte no-log-policy
https://cloudflare-dns.com/dns-query

# Cloudflare — extra malware + phishing filter
https://security.cloudflare-dns.com/dns-query

# NextDNS — configureerbaar per account, zelf instellen wat gelogd wordt
https://dns.nextdns.io/<jouw-id>

# Quad9 — malware-blokkering, geen ECS naar autoritatief
https://dns.quad9.net/dns-query

Scroll op dezelfde pagina naar Bootstrap DNS-servers. Dit zijn de resolvers die AdGuard Home gebruikt om het IP-adres van de DoH-upstream zelf op te lossen — een klein kippenei-probleem. Vul hier 1.1.1.1 en 9.9.9.9 in als tijdelijke fallback; ze worden enkel gebruikt bij het opstarten.

Stel daarna je router in om AdGuard Home als DNS-server aan alle apparaten uit te delen. Ga naar de DHCP-instellingen van je router en vul het IP van je AdGuard-server in als primaire DNS. Alle devices op je netwerk sturen nu hun DNS-queries naar AdGuard Home, die ze versleuteld doorstuurt via DoH.

Voorbeeld-setup in één oogopslag

Referentie-opstelling — AdGuard Home DoH thuis
Hardware Raspberry Pi 4 (2 GB) of willekeurige mini-pc met Debian 12
AdGuard Home versie v0.107.x (actueel via GitHub releases)
DNS-poort 53 (LAN-only; niet openzetten naar internet)
Upstream resolver https://cloudflare-dns.com/dns-query (geen ECS)
Bootstrap DNS 1.1.1.1 / 9.9.9.9
Blocklist AdGuard DNS filter + OISD Basic
Router DHCP Primaire DNS = IP van AdGuard-server, secundaire DNS = leeg laten (anders bypass)
ECS Uitgeschakeld (Cloudflare stuurt geen subnet door)
Logging Query-log 24u bewaren, daarna wissen (Instellingen → Query-log)

Let op de DHCP-instelling: vul als secundaire DNS geen extern adres in. Als je er 8.8.8.8 invult als fallback, omzeilen apparaten AdGuard Home zodra het even niet bereikbaar is — en gaan ze onversleuteld opnieuw. Laat het veld leeg, of gebruik een tweede AdGuard-instantie als failover.

Wat je niet zelf kunt oplossen

Zelfs met een perfecte AdGuard-setup blijven er privacylekken over die buiten je beheer liggen. Het SNI-probleem verdwijnt pas als ECH massaal uitgerold is — en dat vereist medewerking van hosting- en CDN-providers, niet alleen van jou. Op dit moment is ECH operationeel bij Cloudflare, maar nog niet bij de meerderheid van het web.

IP-adressen zijn sowieso altijd zichtbaar. Je ISP ziet welke servers je contacteert, ook als ze de domeinnaam niet meer uit DNS kunnen halen. Voor het verbergen van IP-verbindingen heb je een VPN of Tor nodig — tools met eigen privacyafwegingen en prestatiecompromissen.

De DoH-resolver zelf is ook een vertrouwenspartij. Je verschuift de zichtbaarheid van je queries van je ISP naar Cloudflare, Quad9 of NextDNS. Dat is voor de meeste gebruikers een verbetering — commerciële ISP's verkopen verkeersdata in sommige landen, gecertificeerde DNS-providers hebben doorgaans striktere no-log-beloften — maar je stelt wel vertrouwen in een derde partij. De enige manier om dat te vermijden, is een eigen recursive resolver draaien (bijv. Unbound achter AdGuard Home), die rechtstreeks de autoritatieve DNS-servers raadpleegt.

Veelgestelde vragen

Maakt AdGuard Home DoH ook beschikbaar voor apparaten buiten mijn thuisnetwerk?
Niet standaard. AdGuard Home luistert op je LAN-interface. Als je DoH ook buiten wil gebruiken (bijv. op je telefoon onderweg), moet je het via een TLS-certificaat en een reverse proxy (bijv. Caddy of nginx) op een publiek domein aanbieden — of je verbindt eerst via VPN naar je thuisnetwerk.
Kan mijn ISP zien dat ik DoH gebruik?
Je ISP ziet dat er verkeer van jouw netwerk naar het IP van de DoH-resolver gaat op poort 443. Ze kunnen niet in het verkeer kijken, maar ze weten wel dat jij Cloudflare of Quad9 gebruikt als resolver. Het verkeer zelf is onleesbaar voor hen.
Werkt AdGuard Home samen met Pi-hole?
Je kunt ze combineren, maar het is zelden zinvol. AdGuard Home bevat alle functionaliteit van Pi-hole plus ingebouwde DoH/DoT-ondersteuning. De meeste gebruikers vervangen Pi-hole door AdGuard Home in plaats van beide naast elkaar te draaien.
Wat is het verschil tussen AdGuard Home en AdGuard DNS?
AdGuard DNS is een beheerde cloudservice — je wijst je resolver naar hun servers. AdGuard Home is software die je zelf draait op eigen hardware. Je hebt dan volledige controle: geen derde partij die je queries ziet, behalve de DoH-upstream die jij kiest.
Waarom moet de secundaire DNS leeg blijven?
Als een apparaat meerdere DNS-servers heeft, mag het zelf kiezen welke het gebruikt — en bij een time-out valt het automatisch terug op de tweede. Een externe secundaire DNS als 8.8.8.8 of 1.1.1.1 omzeilt dan je AdGuard-installatie volledig, inclusief alle blokkeerlijsten en de DoH-versleuteling.

Verder lezen

Uit de categorie Netwerk
ESC
Recent geopend