DNS und Domains: Namensauflösung und lokale Server

DNS und Domains: Namensauflösung und lokale Server

DNS-Hierarchie, Resolver-Konfiguration, lokale DNS-Server und alternative DNS-Strategien für datenschutz-bewusste Netzwerk-Infrastrukturen verstehen.

Verwendete Software und Versionen

Diese Erklärung bezieht sich auf:

  • DNS-Protokoll: RFC 1035 (Standards für Domain Names)
  • Resolver: systemd-resolved, dnsmasq, unbound
  • Nameserver: BIND 9.18+, PowerDNS 4.7+, Knot DNS 3.2+
  • Kontext: Distributions-übergreifende DNS-Grundlagen

DNS ist ein verteiltes Übersetzungssystem ohne zentrale Autorität

Das Domain Name System (DNS) übersetzt lesbare Namen in numerische IP-Adressen. Dieses geschieht durch eine hierarchische Namensauflösung. Eine Anfrage zu matrix.example.com durchläuft mehrere Auflösungsebenen: Root-Server (.) → Top-Level-Domain-Server (.com) → Authoritative Server (example.com) → Antwort mit IP-Adressen. DNS funktioniert identisch auf allen Betriebssystemen.

Artikel 1 erklärt die IP-Adressen als eindeutige Netzwerk-Identifikatoren. DNS erweitert dieses Konzept um besser lesbare Namen ohne dabei die technischen Grundlagen zu ändern. Ein Webserver lauscht weiterhin auf 192.168.1.100:80 - DNS ermöglicht nur den Zugriff über webserver.local statt der numerischen Adresse.

Die DNS-Records definieren verschiedene Übersetzungstypen: A-Records für IPv4-Adressen, AAAA-Records für IPv6, CNAME-Records für Aliase, MX-Records für E-Mail-Server. Ein dig matrix.example.com A fragt explizit nach IPv4-Adressen, dig matrix.example.com AAAA nach IPv6-Adressen. Diese Record-Typen können parallel existieren - dieselbe Domain kann sowohl IPv4- als auch IPv6-Adressen haben.

Die DNS-Hierarchie funktioniert wie ein umgekehrter Baum

Root-Server (.) verwalten die oberste Ebene des DNS-Baums und kennen alle Top-Level-Domains (TLD). 13 Root-Server-Cluster weltweit (a.root-servers.net bis m.root-servers.net) antworten auf DNS-Anfragen und leiten an den zuständigen TLD-Server weiter. Diese Verteilung verhindert einzelne Ausfallpunkte und ermöglicht globale DNS-Redundanz.

TLD-Server verwalten Domains wie .com, .org, .de und kennen die authoritative Nameserver für die registrierten Domains. Eine Anfrage zu example.com wird von .com-TLD-Servern an die in der Domain-Registrierung hinterlegten Nameserver weitergeleitet. Diese Delegation ermöglicht es Domain-Inhabern, ihre DNS-Records selbständig zu verwalten.

Authoritative Nameserver liefern endgültige Antworten für ihre zugewiesenen Domains. Der Nameserver für example.com antwortet definitiv auf Anfragen zu www.example.com, mail.example.com oder matrix.example.com. Diese Server-Autorität macht weitere Anfragen unnötig - die Antwort ist abschließend.

Resolver führen rekursive Anfragen durch

DNS-Resolver erhalten Anfragen von Anwendungen und führen den kompletten Auflösungsprozess durch. Ein rekursiver Resolver fragt nacheinander Root-Server, TLD-Server und authoritative Server ab, bis er eine endgültige Antwort erhält. Stub-Resolver delegieren diese Arbeit an konfigurierte rekursive Resolver weiter.

Caching reduziert den DNS-Verkehr und verbessert die Antwortzeiten erheblich. Ein Resolver speichert DNS-Antworten entsprechend ihrer TTL (Time To Live) zwischen. Eine TTL von 3600 Sekunden bedeutet: Der Record bleibt eine Stunde im Cache gültig. Nach Ablauf wird bei der nächsten Anfrage eine neue DNS-Auflösung durchgeführt.

Moderne Resolver verwenden verschiedene Optimierungen: Prefetching lädt populäre Domains vor Ablauf der TTL nach, Query Minimization reduziert übertragene Informationen, DNS-over-HTTPS (DoH) oder DNS-over-TLS (DoT) verschlüsseln DNS-Anfragen gegen Überwachung.

Container-DNS-Auflösung funktioniert über separate Resolver

Docker-Container erhalten automatisch konfigurierte DNS-Resolver, die Container-Namen in Bridge-IP-Adressen übersetzen. Ein Container web erreicht Container database über den Namen database - Docker’s eingebauter DNS-Server übersetzt dies zu 172.17.0.3. Diese automatische Namensauflösung funktioniert nur innerhalb derselben Docker-Bridge oder User-Defined-Networks.

Host-DNS-Konfiguration beeinflusst Container nicht automatisch. Container verwenden Docker’s DNS-Server (127.0.0.11) als Primary-Resolver mit Fallback zu Host-Systemkonfiguration. Diese Trennung erklärt, warum /etc/hosts-Einträge auf dem Host nicht in Containern verfügbar sind.

User-Defined Networks ermöglichen es eigene DNS-Server pro Netzwerk einzurichten. Container können lokale DNS-Server (Unbound, dnsmasq) statt Docker’s Standard-Mechanismus verwenden.

Lokale DNS-Server erhöhen die Unabhängigkeit

Eigene DNS-Server reduzieren externe Abhängigkeiten und ermöglichen lokale Domain-Auflösung. Unbound funktioniert als validierender, rekursiver Resolver ohne externe Abhängigkeiten - er fragt Root-Server direkt ab statt andere Resolver zu verwenden. Diese Konfiguration eliminiert DNS-Provider als potenzielle Überwachungs- oder Zensur-Instanz.

dnsmasq kombiniert DNS-Server und DHCP-Server für kleine Netzwerke. Lokale /etc/hosts-Einträge werden automatisch als DNS-Records bereitgestellt. Ein Eintrag 192.168.1.100 server.local in /etc/hosts macht server.local für alle Netzwerk-Clients verfügbar. Diese Integration vereinfacht lokale Service-Erkennung erheblich.

Pi-hole blockiert Werbung und Tracking durch DNS-Sinkholing: Bekannte Werbung-Domains werden zu 0.0.0.0 aufgelöst. Diese Methode funktioniert netzwerk-weit für alle Geräte ohne Client-Software. Ein Pi-hole-Server filtert DNS-Anfragen für Smartphones, Smart-TVs und IoT-Geräte gleichermaßen.

DNS-Sicherheitserweiterungen (DNSSEC) authentifizieren DNS-Antworten

DNSSEC verhindert DNS-Spoofing durch kryptographische Signaturen. Jeder DNS-Record wird mit einem privaten Schlüssel signiert - der Resolver verifizieren Signaturen mit dem öffentlichen Schlüsseln. Diese Vertrauenskette reicht von Root-Servern bis zu individuellen DNS-Records und macht DNS-Manipulation erkennbar.

Validating Resolver prüfen DNSSEC-Signaturen automatisch und verwerfen ungültige Antworten. Ein kompromittierter DNS-Server kann signierte Records nicht fälschen ohne den entsprechenden privaten Schlüssel. DNSSEC schützt gegen Man-in-the-Middle-Angriffe auf DNS-Ebene effektiv.

DNSSEC erfordert korrekte Zeit-Synchronisation für Signatur-Validierung. Expired Signatures werden verworfen, auch wenn sie technisch korrekt sind. NTP-Synchronisation ist daher essentiell für DNSSEC-fähige Resolver. Ein Server mit falscher Uhrzeit eine kann validierte DNS-Antworten nicht verarbeiten.

Reverse DNS löst IP-Adressen zu Namen auf

PTR-Records ermöglichen Reverse-DNS-Lookups von IP-Adressen zu Domain-Namen. Ein dig -x 192.168.1.100 fragt nach dem PTR-Record für diese IP-Adresse. E-Mail-Server nutzen Reverse-DNS zur Spam-Bewertung: Fehlende oder nicht übereinstimmende PTR-Records erhöhen den Spam-Scores.

IPv4-Reverse-DNS verwendet spezielle .in-addr.arpa-Domains: 192.168.1.100 wird zu 100.1.168.192.in-addr.arpa. Diese Umkehrung ermöglicht hierarchische Delegation der Reverse-Zones entsprechend der IP-Adress-Block-Struktur. Ein /24-Netzwerk entspricht einer einzelnen Reverse-Zone.

IPv6-Reverse-DNS nutzt .ip6.arpa mit hexadezimaler Digit-Umkehrung. Die IPv6-Adresse 2001:db8::1 wird zu 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa. Diese Expansion jedes Digits ermöglicht granulare Delegation bis zu einzelnen IP-Adressen.

Alternative DNS-Strategien für erweiterte Privatsphäre

DNS-over-HTTPS (DoH) tunnelt DNS-Anfragen durch HTTPS-Verbindungen und macht sie für Netzwerk-Überwachung unsichtbar. Browser wie Firefox nutzen DoH standardmäßig mit Cloudflare (1.1.1.1) oder Quad9 (9.9.9.9). Diese Verschlüsselung verhindert DNS-basierte Zensur und Verfolgung durch Internet-Anbieter.

DNS-over-TLS (DoT) verschlüsselt DNS-Verkehr über TLS auf Port 853. Unbound und systemd-resolved unterstützen DoT nativ. Eine DoT-Konfiguration zu Quad9 verschlüsselt alle DNS-Anfragen transparent ohne Anwendungsschicht-Änderungen. DoT bietet bessere Leistung als DoH bei vergleichbarer Privatsphäre.

Tor-basierte DNS-Auflösung routet DNS-Anfragen über das Tor-Netzwerk für maximale Anonymität. Diese Konfiguration verhindert DNS-basierte Benutzer-Verfolgung vollständig, erhöht aber Latenz erheblich. Tor-DNS eignet sich für hochsensible Anwendungen mit entsprechenden Leistungsanforderungen.

Domain-Registrierung und Nameserver-Management

Domain-Registrare verwalten Domain-Reservierungen bei Registry-Organisationen (.com-Registry: Verisign, .de-Registry: DENIC). Der Registrar aktualisiert Nameserver-Einträge in der TLD-Zone nach Kunden-Anweisungen. Diese Nameserver-Delegation ermöglicht DNS-Management unabhängig vom Registrar zu betreiben.

Glue Records lösen zirkuläre Abhängigkeits-Probleme bei Nameserver-Delegation. Wenn example.com Nameserver ns1.example.com verwendet, muss die .com-TLD für eine erfolgreiche Delegation die IP-Adresse von ns1.example.com kennen. Glue Records in der TLD-Zone liefern diese IP-Adressen zusammen mit der Nameserver-Delegation.

Dynamic DNS (DDNS) aktualisiert DNS-Records automatisch bei IP-Adress-Änderungen. Ein DDNS-Client erkennt neue öffentliche IP-Adressen und aktualisiert A-Records entsprechend. Diese Automatisierung ermöglicht Self-Hosting trotz dynamischen IP-Adressen bei Privatkunden-Internet-Anbietern.

Monitoring und Troubleshooting von DNS-Infrastrukturen

dig bietet detaillierte DNS-Debugging-Informationen mit verschiedenen Query-Typen und Trace-Optionen. Ein dig +trace example.com zeigt den kompletten Auflösungspfad von Root-Servern bis zur finalen Antwort. Diese Trace-Funktion identifiziert DNS-Probleme an spezifischen Hierarchie-Ebenen.

DNS-Monitoring überwacht Antwortzeiten, Verfügbarkeit und Record-Konsistenz über mehrere Standorte. Smokeping oder PRTG messen DNS-Antwortzeiten kontinuierlich und alarmieren bei Abweichungen. Geographic DNS-Monitoring identifiziert regionale Ausfälle oder Leistungsprobleme.

Authoritative Nameserver-Protokolle zeigen Anfrage-Muster, Missbrauch-Versuche und Leistungsmetriken. BIND-Protokolle identifizieren DDoS-Angriffe, fehlerhafte Resolver-Konfigurationen oder unerwartete Anfrage-Mengen. Diese Informationen ermöglichen Administratoren die Optimierung von Nameserver-Leistung und Sicherheitskonfigurationen.

DNS-Lastverteilung und Dienst-Erkennung

Round-Robin-DNS verteilt Verkehr über mehrere IP-Adressen durch zufällige Antwort-Reihenfolge. Ein A-Record mit mehreren IP-Adressen web.example.com IN A 192.168.1.10 und web.example.com IN A 192.168.1.11 verteilt Requests statistisch zwischen beiden Servern. Diese primitive Lastverteilung funktioniert ohne zusätzliche Infrastruktur.

Weighted Round-Robin DNS ermöglicht ungleichmäßige Verkehrs-Verteilung durch TTL-Manipulation oder Record-Häufigkeit. GeoDNS liefert geografisch optimierte IP-Adressen basierend auf dem Client-Standort. Load Balancing-DNS reduziert Antwortzeiten und verteilt die Server-Last, erschwert aber das Debugging bei DNS-Problemen.

Dienst-Erkennung über DNS nutzt SRV-Records für Dienst-Lokalisierung mit Port-Informationen. Ein SRV-Record _matrix._tcp.example.com SRV 10 5 8008 matrix.example.com definiert Matrix-Dienst auf matrix.example.com Port 8008 mit Priorität 10 und Gewichtung 5. Niedrigere Prioritäts-Zahlen werden bevorzugt, bei gleicher Priorität entscheidet die Gewichtung über Verkehrs-Verteilung. Diese standardisierte Dienst-Erkennung funktioniert protokoll-unabhängig.

Integration mit Self-Hosting-Diensten

Matrix-Federation benötigt spezifische DNS-Records für Server-Erkennung: .well-known/matrix/server über HTTPS oder SRV-Records _matrix._tcp.example.com. Andere Matrix-Server finden den lokalen Server automatisch über diese DNS-basierten Erkennungs-Mechanismen. Fehlerhafte DNS-Konfiguration verhindert Federation vollständig.

E-Mail-Dienste erfordern MX-Records für E-Mail-Weiterleitung, SPF-Records für Absender-Authentifizierung, DKIM-Records für Nachrichten-Signierung und DMARC-Records für Richtlinien-Definition. Diese DNS-Records ermöglichen vertrauenswürdige E-Mail-Zustellung ohne Spam-Einstufung. Listmonk-Newsletter benötigen korrekte DNS-Konfiguration für Zustellbarkeit.

SSL-Zertifikat-Validierung nutzt DNS für Domain-Besitz-Verifizierung. Let’s Encrypt DNS-Challenge erstellt temporäre TXT-Records für automatische Zertifikat-Erstellung. Diese Methode funktioniert ohne HTTP-Server und ermöglicht Wildcard-Zertifikate für mehrere Subdomains.

Automatisierung und Infrastruktur als Code

DNS-Provider-APIs ermöglichen programmatische DNS-Record-Verwaltung für automatisierte Deployments. Terraform-Provider für Cloudflare, Route53 oder PowerDNS integrieren DNS-Konfiguration in Infrastruktur-als-Code-Workflows. Git-basierte DNS-Verwaltung macht DNS-Änderungen versionierbar und nachvollziehbar.

External-DNS für Kubernetes aktualisiert DNS-Records automatisch basierend auf Service-Konfigurationen. Ein Kubernetes-Service mit Annotation external-dns.alpha.kubernetes.io/hostname: api.example.com erstellt automatisch entsprechende A-Records. Diese Integration eliminiert manuelle DNS-Verwaltung bei Container-Deployments.

DNS-Validierung in CI/CD-Pipelines prüft DNS-Konfiguration vor Deployment-Freigabe. Automated Tests verifizieren DNS-Record-Existenz, Antwortzeiten und Record-Konsistenz über mehrere Resolver. Diese Qualitätsprüfungen verhindern DNS-bedingte Service-Ausfälle bei Konfigurationsänderungen.


Weiterführende Schritte:

michael von den Drachen

Softwareentwickler seit den 80ern. Systemkritiker seit immer. Betreibt produktive OpenBSD/Debian-Infrastruktur und entwickelt eigenes API-Gateway (furt).
Mehr über michael →
DNS und Domains: Namensauflösung und lokale Server
← Nächster Artikel SSH-Keys: Sichere Verbindungen ohne Passwörter
DNS und Domains: Namensauflösung und lokale Server
Vorheriger Artikel → IP-Adressen und Ports: Das Fundament für Self-Hosting