Wat is een DNS-oplosser?
Een DNS resolver (ook wel een recursieve resolver of recursieve DNS server) is een server die DNS queries ontvangt van client apparaten en het werk uitvoert van het opsporen van het IP adres voor een domeinnaam. Resolvers fungeren als tussenpersonen tussen clients en de DNS-hiërarchie, waarbij ze de recursie verwerken via root, TLD en gezaghebbende nameservers.
Hoe DNS-oplossers werken
Het afwikkelingsproces
Wanneer u "example.com" in uw browser typt:
1. Client → Resolver: "What's the IP for example.com?"
2. Resolver checks cache
→ Cache hit: Return cached result
→ Cache miss: Begin recursion
3. Resolver → Root Server: "Where's .com?"
Root → Resolver: "Ask these .com nameservers"
4. Resolver → .com TLD: "Where's example.com?"
.com → Resolver: "Ask these nameservers"
5. Resolver → Authoritative NS: "What's example.com's IP?"
Auth NS → Resolver: "203.0.113.50"
6. Resolver → Client: "203.0.113.50"
(Also caches result based on TTL)
Recursieve vs iteratieve zoekopdrachten
Recursive Query (Client → Resolver):Client: "Give me the final answer for example.com"
Resolver: "Here's the IP: 203.0.113.50"
(Resolver does all the work)
Iteratieve zoekopdracht (oplosser → Nameservers):
Resolver: "What's example.com?"
Root: "I don't know, ask .com servers"
Resolver: "What's example.com?"
.com: "I don't know, ask ns1.example.com"
Resolver: "What's example.com?"
ns1: "203.0.113.50"
Soorten oplossers
Stub-oplosser
Ingebouwd in besturingssystemen en toepassingen:
- Doorschakelt vragen naar geconfigureerde DNS-servers
- Minimale logica
- Voert geen recursie uit
Recursieve oplossing
Volledig uitgeruste servers die volledige DNS-resolutie uitvoeren:
- Resultaten van Caches
- Volgt verwijzingen
- Implementeert beveiligingsfuncties
Doorsturen van oplossing
Stuurt queries door naar een andere resolver in plaats van recursie:
- Gemeenschappelijk in bedrijfsnetwerken
- Centrale beleidshandhaving
- Minder externe vragen
Client → Corporate Resolver (forwarding) → ISP Resolver (recursive) → Internet
Popular Public Resolvers
| Aanbieder | IPv4 | IPv6 | Kenmerken |
|---|---|---|---|
| Wolkvlokken | 1.1.1.1, 1.0.0.1 | 2606:4700:4700::1111 | Snel, privacygericht, geen logging |
| 8.8.8.8, 8.8.4.4 | 2001:4860:4860::8888 | Betrouwbare, globale anycast | |
| Quad9 | 9.9.9.9 | 2620:fe:fe | Beveiligingsfiltering, dreigingsblokkering |
| OpenDNS | 208.67.222.222 | 2620:119:35:35 | Inhoud filteren, phishing bescherming |
Uw oplossing wijzigen
Windows:Control Panel → Network → Adapter Settings
→ Properties → IPv4 → Use these DNS servers:
Preferred: 1.1.1.1
Alternate: 8.8.8.8
macOS:
System Preferences → Network → Advanced → DNS
→ Add: 1.1.1.1, 8.8.8.8
Linux (/etc/resolv.conf):
nameserver 1.1.1.1
nameserver 8.8.8.8
Functies voor oplossen
Caching
Resolvers cache DNS antwoorden gebaseerd op TTL:
First query: example.com
→ Full recursion (50ms)
→ Cached for 300s (TTL)
Subsequent queries: example.com
→ Cache hit (1ms)
→ Served until TTL expires
Cache statistieken tonen hits vaak meer dan 80-90%.
Negatieve Caching
Resolvers ook cache negatieve reacties (NXDOMAIN):
Query: nonexistent.example.com
Response: NXDOMAIN
Cached: Based on SOA minimum TTL
Dit voorkomt herhaalde vragen voor niet-bestaande domeinen.
Minimalisatie opvragen
Moderne oplossers minimaliseren de openbaarmaking van informatie:
Traditioneel:Query to .com: "What's www.blog.example.com?"
→ Exposes full subdomain structure
Query Minimization (RFC 7816):
Query to .com: "What's example.com?"
Query to example.com NS: "What's blog.example.com?"
Query to blog.example.com NS: "What's www.blog.example.com?"
→ Reveals only necessary information at each level
DNSSEC Validatie
Security-aware resolvers valideren DNSSEC handtekeningen:
Query: example.com (DNSSEC-signed)
→ Resolver validates signatures
→ Returns AD (Authentic Data) flag if valid
→ Returns SERVFAIL if signatures invalid
Functies voor het oplossen van beveiliging
DNS over HTTPS (DoH)
Versleutelt DNS-queries over HTTPS:
Traditional DNS:
Client → Resolver (UDP port 53, plaintext)
DNS over HTTPS:
Client → Resolver (TCP port 443, encrypted)
Providers: Cloudflare (https://cloudflare-dns.com/dns-query), Google
DNS via TLS (DoT)
Versleutelt DNS-queries via TLS:
Client → Resolver (TCP port 853, encrypted)
Benefit: ISP's kunnen DNS-queries niet zien of wijzigen
Malware/Phishing-filters
Sommige resolvers blokkeren bekende kwaadaardige domeinen:
Quad9 (9.9.9.9): Blokkeert domeinen geassocieerd met malware, phishing Cloudflare for Families: Blokkeert malware (1.1.1.2) of malware+volwassen inhoud (1.1.1.3)Percentage beperking
Beschermt tegen DNS versterkingsaanvallen:
If source IP sends > threshold queries/second:
→ Temporarily rate limit or block
Uw huidige oplossing controleren
Windows:ipconfig /all | findstr "DNS Servers"
macOS/Linux:
cat /etc/resolv.conf
Online tools: browserleaks.com/dns toont welke resolver uw browser gebruikt
Testresolutie:
dig example.com
# Look at "SERVER:" in output
Prestaties van oplossers
Matigheid
Resolver response time beïnvloedt webprestaties:
| Oplosser | Gemiddelde zwakte | Effect |
|---|---|---|
| Lokale ISP | 10-30m | Snel, maar varieert |
| Wolkvlokken | 10-20m | Consistent snel (anycast) |
| 20-40m | Betrouwbaar, wereldwijd | |
| Langzame oplossing | 100-200m | Opmerkelijke vertraging van de paginabelasting |
Anycast Routing
Belangrijke resolvers gebruiken anycast voor lage latentie:
1.1.1.1 anycast IP
→ Routed to nearest Cloudflare datacenter
→ New York query → New York datacenter
→ London query → London datacenter
→ Result: Global low-latency resolution
Meetprestatie van de oplosser
Using Namebench (automatisch testen):# Tests multiple resolvers with your actual query patterns
namebench
Handmatig testen:
# Test Cloudflare
time dig @1.1.1.1 example.com
# Test Google
time dig @8.8.8.8 example.com
# Test ISP (current)
time dig example.com
Gemeenschappelijke oplossingen
DNS Vergiftiging
Aanvallers injecteren valse records in resolver cache:
Migratie:- Gebruik resolvers met DNSSEC validatie
- Bronpoortrandomisatie inschakelen
- Gebruik DoH/DoT om mens-in-het-midden aanvallen te voorkomen
Oplosserkaping
ISP's of malware redirect DNS queries:
Symptoom: Zoekopdrachten toon ISP advertenties, onverwachte omleidingen Oplossing:- Overstappen naar publieke oplossing (1.1.1.1, 8.8.8.8)
- Gebruik DoH/DoT om ISP interferentie te voorkomen
- Controleer op malware
Stamcache
Resolver caches verouderde records:
Symptoom: DNS-veranderingen reflecteren niet Oplossing:- Wacht tot TTL verloopt
- Gebruik andere resolver tijdelijk
- Flush lokale cache
Blokkering van oplossingen
Sommige netwerken blokkeren externe oplossers:
Symptoom: kan 8.8.8.8, 1.1.1.1 niet bereiken Oplossing:- Gebruik DNS over HTTPS (harder om te blokkeren)
- Gebruik het DoH eindpunt van resolver
Een lokale oplossing instellen
Niet geconsolideerd
# Install Unbound (Linux)
sudo apt install unbound
# Basic config (/etc/unbound/unbound.conf)
server:
interface: 127.0.0.1
do-ip4: yes
do-udp: yes
do-tcp: yes
# Enable DNSSEC
auto-trust-anchor-file: "/var/lib/unbound/root.key"
# Privacy (query minimization)
qname-minimisation: yes
# Start service
sudo systemctl start unbound
sudo systemctl enable unbound
Pi-hole gebruiken
Netwerkbrede ad-blocking DNS resolver:
# Install Pi-hole
curl -sSL https://install.pi-hole.net | bash
# Configure devices to use Pi-hole as resolver
# Set router DHCP to provide Pi-hole IP as DNS
Beste praktijken
1. Gebruik gerenommeerde publieke oplossers: Cloudflare, Google of Quad9 voor betrouwbaarheid
2. DoH/DoT inschakelen: Vragen versleutelen voor privacy en veiligheid
3. Voorzien van resolverfuncties: Kies op basis van privacy, snelheid of veiligheidsbehoeften
4. Monitor resolver prestaties: Testlatentie periodiek
5. Heb back-up resolvers: Tweede DNS configureren voor redundantie
6. Gebruik DNSSEC-validerende resolvers: Beschermen tegen cachevergiftiging
7. Begrijp het beleid van uw resolver: Sommige filterinhoud, sommige log queries
8. Test na wijzigingen: Controleren of DNS-resolutie correct werkt
9. Documentoplossingskeuze: Merk op waarom u een bepaalde oplossing koos
10. Update resolv.conf zorgvuldig: Onjuiste configuratie breekt DNS volledig
Resolver vs Auturitative Nameserver
| Functie | Oplosser | Auteurlijk NS |
|---|---|---|
| Rol | Antwoordt client queries | Houdt werkelijke DNS records |
| Recursie | Ja, queries andere servers | Nee, alleen antwoorden voor eigen zones |
| Caching | Ja, caches antwoorden | Nee (toestemmingsgegevens) |
| Gebruikt door | Klanten, eindgebruikers | Oplossers tijdens recursie |
| Voorbeelden | 8.8.8.8, 1.1.1.1 | ns1.example.com |
DNS-oplossers zijn de werkpaarden van het DNS-systeem.Het kiezen van een snelle, veilige, privacy-respecterende resolver beïnvloedt aanzienlijk uw surfervaring en online beveiliging.