# DNS Resolution Deep Dive: Rekursion, Iteration & Resolver
TL;DR / Management Summary DNS-Auflösung ist kein einfacher Call-and-Response Prozess. Wir unterscheiden zwischen rekursiver Auflösung (der Server erledigt die gesamte Arbeit für den Client) und iterativer Auflösung (der Server liefert nur Verweise auf den nächsten Experten in der Kette). Ein Senior Admin nutzt dieses Wissen, um die Performance des Unbound Resolvers (Artikel 579) zu optimieren und Sicherheitsrisiken wie DNS-Amplification-Angriffe durch korrekte Konfiguration der Rekursions-Rechte zu minimieren.
# 1. Die zwei Wege der Auflösung
Machtverteilung im DNS.
# 1. Rekursive Auflösung (Der Dienstleister)
Der Client (Ihr PC) stellt eine rekursive Anfrage an den DNS-Server (z.B. OPNsense).
- Message: “Ich will die IP von
wiki.de. Komm erst wieder, wenn du sie hast!”. - Vorteil: Der Client ist dumm und spart Ressourcen.
# 2. Iterative Auflösung (Die Schnitzeljagd)
Der DNS-Server der OPNsense fragt nun andere Server iterativ ab.
- Anfrage an Root: “Wo ist .de?”.
- Antwort: “Ich weiß es nicht, aber frag mal diesen Server unter IP X”.
- Vorgang: Die OPNsense hangelt sich von Server zu Server, bis sie den autoritativen Server der Domain erreicht.
# 2. Der Resolver im Rechenzentrum
Unbound vs. Bind.
In einer Proxmox/OPNsense Umgebung nutzen wir meist den Unbound DNS Resolver.
- Validierung: Unbound führt die gesamte iterative Kette selbst durch und prüft dabei via DNSSEC (Artikel 742), ob die Antworten manipuliert wurden.
- Forwarding Mode: Alternativ schickt Unbound alle rekursiven Anfragen einfach an einen Upstream-Provider (z.B. Google
8.8.8.8).- Vorteil: Schneller bei populären Domains (da Google bereits alles im Cache hat).
- Nachteil: Geringere Privatsphäre (Provider sieht alles).
# 3. Deep Dive: DNS Caching-Hierarchie
Vom Browser zum Root.
Bevor ein Paket das LAN verlässt, wird an vielen Stellen gesucht:
- Browser Cache (Chrome/Firefox halten eigene Tabellen).
- OS Resolver Cache (Windows DNS Client Dienst).
- Local DNS Server Cache (Ihre OPNsense).
- ISP / Upstream DNS Cache.
- Senior Tipp: Wenn Sie eine IP ändern, müssen Sie oft alle 4 Ebenen “flashen”, um den neuen Wert zu sehen.
# 4. Day-2 Operations: Rekursion einschränken
Sicherheit durch Nachbarschaftshilfe.
Ein DNS-Server, der Rekursion für das gesamte Internet erlaubt, ist ein Open Resolver.
- Gefahr: Wird für DNS-Amplification DDoS Angriffe missbraucht.
- Aktion: Erlauben Sie Rekursion in OPNsense nur für Ihre internen Subnetze (LAN, VPN). Blockieren Sie Anfragen von der WAN-IP.
# 5. Troubleshooting & “War Stories”
Wenn die Kette reißt.
# Top 3 Fehlerbilder
-
Symptom: “Recursion disabled” Fehlermeldung im
digOutput.- Ursache: ACL am DNS-Server blockiert Ihre IP.
- Lösung:
Allow QueryundAllow RecursionEinstellungen prüfen.
-
Symptom: DNS-Hänger bei der ersten Anfrage, Folgeanfragen sind schnell.
- Ursache: Iterative Suche dauert zu lange (viele Hops im Internet).
- Lösung: Nutzen Sie stabile Forwarder (Artikel 579) oder aktivieren Sie “Prefetching” in Unbound.
-
Symptom: “DNSSEC Validation failed”.
- Lösung: Zeit-Sync (NTP) prüfen! DNSSEC-Signaturen haben einen Gültigkeitszeitraum.
# “War Story”: Der “Loopback” Fluch
Ein Admin konfigurierte seinen internen Windows-DC so, dass er für externe Domains die OPNsense fragte. Die OPNsense war wiederum so konfiguriert, dass sie für alle Anfragen den Windows-DC fragte.
Das Ergebnis: Ein Loop. Eine einzige Anfrage für google.de erzeugte innerhalb von Sekunden tausende Pakete zwischen beiden Servern, bis der DNS-Dienst wegen Überlastung abstürzte.
Lehre: Definieren Sie eine Einbahnstraße. Clients -> Windows-DC -> OPNsense -> Internet (Root oder Forwarder). Niemals im Kreis routen!
# 6. Monitoring & Reporting
Statistiken der Auflösung.
# Unbound Statistics (Shell)
Nutzen Sie das Kommando unbound-control stats_noreset.
- KPI:
total.num.cachehitsvs.total.num.cachemiss. - Ziel: Ein Cache-Hit-Ratio von > 70% deutet auf ein effizientes System hin.
# 7. Fazit & Empfehlung
Verstehen Sie den Weg des Pakets von der Wurzel bis zur IP.
- Empfehlung: Nutzen Sie in OPNsense den Iterativen Modus (Root-Hints), wenn Sie maximale Unabhängigkeit von Providern wollen.
- Wichtig: Schützen Sie Ihren Resolver vor unbefugtem Zugriff. DNS ist nicht nur ein Dienst, sondern eine potenzielle Waffe bei DDoS-Angriffen.
# Anhang: Cheatsheet (Resolution Check)
| Aufgabe | Befehl |
|---|---|
| Iteration verfolgen | dig +trace google.de |
| Authoritativen Server finden | dig google.de NS +short |
| DNSSEC Check | dig google.de +dnssec |
| Cache löschen (Linux) | systemd-resolve --flush-caches |