In deze handleiding leggen we uit wat een DNS-resolver is, hoe die zich verhoudt tot een DNS-forwarder en een authoritative nameserver, en in welke scenario’s een lokale resolver voordeel biedt voor thuis en bedrijfs-omgevingen. Als basiskennis raden we aan eerst kort te lezen wat DNS en nameservers zijn.
- Een lokale resolver verbetert privacy en performance, maar verbergt je verkeer niet: providers zien nog steeds bestemmings-IP’s en soms SNI/ServerName.
- Laat je resolver nooit ‘open’ op het internet staan, zie DNS-resolver beveiligen.
- Kies per netwerk: recursief (zelf opvragen bij de root/TLD/authoritative) of forwarding (doorsturen naar een vertrouwde upstream) — of combineer ze met failover.
Wat is een DNS-resolver?
Een DNS-resolver is de tool die DNS-queries beantwoordt namens een client (bijvoorbeeld je laptop of server). Stel dat je bijvoorbeeld in je browser naar google.com gaat dan voert je browser een DNS-querry uit bij een DNS-resolver om te achterhalen welk IP-adres bij de website van google.com hoort.
Een recursieve resolver loopt zo nodig de DNS-hiërarchie af (root > TLD > authoritative) en bewaart antwoorden tijdelijk in een cache. Dankzij caching worden herhaalde opvragingen razendsnel beantwoord en hoeft de resolver minder extern verkeer te genereren. Stel dat je een willekeurige website bezoekt, dan kan de eerste DNS-query om te achterhalen welk IP-adres bij de website hoort 100ms duren, maar door caching zal een herhaalbezoek maar een paar milliseconden duren.
Veel besturingssystemen bevatten een eenvoudige ‘stub’ resolver. In deze handleiding gaat het echter over een lokale recursieve resolver op je netwerk die alle clients in jouw LAN bedienen, bijvoorbeeld een pfSense-VPS die als DNS-resolver werkt voor meerdere VPS'en in een private netwerk, of een DNS-resolver op router-niveau die als DNS-resolver voor alle fysieke apparaten (computers, laptops) op je lokale netwerk dient.
DNS-hiërarchie in vogelvlucht
Het DNS-systeem is hiërarchisch opgebouwd:
- DNS begint bij de Root: dit is het beginpunt van DNS (de ‘.’-zone). Root-nameservers weten waar de TLD-nameservers te vinden zijn, maar bevatten geen DNS-gegevens voor specifieke domeinnamen.
- TLD (Top Level Domain): nameservers voor zones als .nl, .com of .org. Ze verwijzen door naar de nameservers die verantwoordelijk zijn voor de DNS-gegevens van individuele domeinen binnen een zone, zoals example.com.
- Authoritative DNS-server: de bron van waarheid voor een specifieke DNS-zone (bijv. example.com). Deze server beheert de zonefile en geeft definitieve antwoorden voor namen binnen die zone (zoals A/AAAA-, MX-, CNAME-, TXT- en NS-records). Hij doet géén recursieve zoektochten.
Resolver vs. forwarder vs. authoritative server
Er zijn in het DNS-landschap in de laag van de authorative DNS-servers drie rollen te onderscheiden:
- Resolver (recursief): beantwoordt DNS-queries door de DNS-hiërarchie te doorlopen en cachet de resultaten. Een resolver kan de antwoorden valideren met DNSSEC.
- Forwarder: neemt DNS-queries aan van clients (bijv. je PC) en stuurt ze door naar één of meer upstream DNS-resolvers (bijv. Cloudflare), vaak via DNS-over-TLS (DoT) of DNS-over-HTTPS (DoH); behoudt lokaal wel caching en policy.
- Authoritative DNS-server: is de bron van waarheid voor een of meer zones (bijv. example.com) en geeft definitieve antwoorden over DNS-records in die zones.
Schematisch doorloopt een DNS-aanvraag deze stappen: Client (je computer/laptop) > Lokale resolver > Root > TLD > Authorative server.
Pas als de lokale resolver in je besturingssysteem, of de DNS-resolver tussen jouw besturingssysteem en het publieke internet geen antwoord heeft op DNS-queries komen de stappen Root > TLD > Authorative server in beeld. Als de lokale resolver al een antwoord kan geven, dan wordt de rest van de hiërarchie niet geraadpleegd.
Bij gebruik van een forwarder zal de forwarder verkeer rechstreeks doorsturen naar een vertrouwde upstram, doorgaans één of meer authorative servers.
Waarom een lokale DNS-resolver?
1. Je thuisomgeving / (klein) kantoor wordt sneller door caching
Je hebt meerdere apparaten (pc’s, telefoons, tv’s, IoT) die jouw lokale DNS-resolver gebruiken. De resolver (bijv. Unbound) haalt de antwoorden op DNS-queries recursief op en cachet die. De eerste lookup naar example.com duurt bijvoorbeeld ~100 ms; opvolgende lookups vanaf elk apparaat worden in milliseconden beantwoord uit cache.
- Snellere herhaalde lookups; browsen voelt vlotter.
- Minder upstream-verkeer naar je ISP of publieke DNS.
- Centrale cache helpt ook ‘stugge’ IoT-apparaten zonder eigen configuratieopties snellere opdrachten uit te voeren.
2. Maximale privacy (‘trust-no-one’)
Wil je niet dat een derde partij (ISP, Google, Cloudflare) alle DNS-queries ziet vanaf jouw netwerk? In recursieve modus praat je resolver rechtstreeks met root-, TLD- en authoritative servers. Zo bestaat er geen enkelvoudig log bij een enkele externe partij. Voeg Query Name Minimization en andere Unbound-privacyopties toe om onnodige metadata te beperken en je privacy verder te beschermen.
- Betere privacy: jouw DNS-resolver doet de resolutie: je internetprovider heeft geen inzage.
- Combineer met DNS-over-TLS (DoT) of DNS-over-HTTPS (DoH) richting specifieke upstreams als je (tijdelijk) een DNS-forwarder inzet.
3. Interne hostnames en split-DNS (homelab/office)
Voor interne services zoals een NAS, kantoor netwerk, of printer, definieer je in de resolver ‘host overrides’ en ‘domain overrides’. Interne clients krijgen interne IP’s terug; de rest van de wereld resolve je recursief. Ook split-horizon (intern ander antwoord dan extern) werkt hiermee netjes.
- Geen hosts-file hacks per apparaat.
- NAT-vrij en sneller intern verkeer door interne IP’s te antwoorden.
- Werkt goed over meerdere VLAN’s en met DHCP-integratie.
4. Centrale DNS-filtering / ad-blocking
Combineer je resolver met bloklijsten (bijv. pfBlockerNG op pfSense) of eigen overrides om ads/trackers/malware-domeinen te laten antwoorden met NXDOMAIN of een sinkhole-IP. Omdat alle clients de resolver gebruiken, geldt de filtering netwerk-breed.
- Ad/malware-blokkade voor elk apparaat (ook tv’s en gast-wifi, maar niet Youtube want Youtube stuurt zijn ads over het Youtube domein).
- Ongewenste lookups verlaten je netwerk niet.
- Geen losse ad-blockers op elk device nodig.
5. DNSSEC-validatie aan de rand
Een validerende DNS-resolver controleert DNSSEC-handtekeningen en levert alleen gevalideerde antwoorden uit. Clients hoeven DNSSEC niet zelf te begrijpen; de resolver regelt dit.
- Extra bescherming tegen spoofing/injectie en ‘NXDOMAIN-hijacking’ door tussenpartijen.
- Je vertrouwt niet blind op de DNSSEC-implementatie van een externe resolver.
6. Meer controle over upstreams (forwarding, DoT/DoH)
Wil je bewust bepaalde upstreams gebruiken (bijv. Cloudflare) of versleuteling via DoT/DoH? Draai je resolver in forwarder-modus naar die endpoints. Je behoudt lokale caching, overrides en filtering; alleen het recursieve ‘graafwerk’ gebeurt upstream.
- Eén centrale plek om beleid en vertrouwde upstreams te beheren.
- Upstreams wisselen doe je één keer op de resolver; alle clients profiteren mee.
7. Minder afhankelijk van storingen bij je ISP-DNS
Bij recursieve modus is je resolver onafhankelijk van de DNS-servers van je provider. Gebruik je forwarders, configureer dan meerdere upstreams (bijv. Cloudflare) en stel gezonde time-outs/failover in.
- Minder impact van ‘DNS is down’ bij de ISP.
- Geen ‘helpful’ zoekpagina’s in plaats van echte NXDOMAIN-antwoorden.
8. Grote of ‘praatgrage’ netwerken & IoT
Veel clients of luidruchtige IoT-apparaten? Herhaalde lookups worden uit de lokale cache beantwoord en je hebt centraal inzicht in wat er wordt opgezocht. Pas desgewenst filtering per VLAN toe.
- Minder verspilde bandbreedte en lagere latency voor apps met veel DNS-calls.
- Sneller troubleshooten: één plek voor logs en cache-inspectie.
9. Schone integratie met DHCP en meerdere VLAN’s
Laat DHCP het adres van je resolver uitdelen aan elke netwerkzone. De resolver registreert DHCP-leases automatisch, zodat namen als laptop1 of phone-<naamcollega> direct werken. Beperk toegang via access lists (bv. alleen LAN/Servers mogen jouw resolver gebruiken, gasten niet).
- Interne naamgeving ‘werkt gewoon’ over VLAN’s heen.
- Fijnmazige toegangscontrole per netwerksegment.
Wanneer is een lokale DNS-resolver minder zinvol?
- Een piepklein netwerk (één pc + één router) waar privacy/filtering niet belangrijk is: direct je ISP/publieke DNS gebruiken is vaak “prima”. Downtime van een paar uur is niet onoverkomelijk.
- Als elk apparaat doelbewust eigen DoH gebruikt (in de browser/app vastgepind): lokale policies en caching worden dan (grotendeels) omzeild.
Praktische tips
- Gebruik een bewezen resolver zoals Unbound (op router, pfSense-firewall of VPS).
- Activeer Query Name Minimization en, waar van toepassing, DNSSEC-validatie.
- Forwarding nodig? Kies vertrouwde upstreams en gebruik waar mogelijk DoT/DoH.
- Sluit je resolver voor het internet af met strikte access lists; zie DNS-resolver beveiligen.
- Draait je resolver op een Linux-server en wil je system-wide resolvers wijzigen, volg dan ons artikel ‘DNS-resolver aanpassen’.