Zum Inhalt springen
Alle Artikel
DNSNetzwerkWebentwicklung

DNS verstehen: So funktioniert das Internet-Telefonbuch

DNS einfach erklärt: Wie Domain-Auflösung funktioniert, welche Record-Typen es gibt und wie du DNS für deine Webprojekte optimal konfigurierst.

11. März 20267 Min. Lesezeit

Jedes Mal, wenn du eine URL in deinen Browser eingibst, passiert im Hintergrund ein faszinierender Prozess: Das Domain Name System (DNS) übersetzt den von dir eingegebenen Domainnamen in eine IP-Adresse, die Computer tatsächlich verstehen. Ohne DNS müsstest du dir für jede Website eine numerische Adresse wie 142.250.185.206 merken – statt einfach google.com einzutippen. In diesem Artikel schauen wir uns an, wie DNS funktioniert, welche Record-Typen es gibt und wie du DNS für deine eigenen Webprojekte optimal konfigurierst.

Was ist DNS und warum brauchen wir es?

DNS steht für Domain Name System und ist eines der fundamentalsten Protokolle des Internets. Es funktioniert wie ein riesiges, verteiltes Telefonbuch: Du suchst nach einem Namen und bekommst die zugehörige Nummer zurück. Technisch gesehen ist DNS eine hierarchisch aufgebaute, dezentrale Datenbank, die Domainnamen auf IP-Adressen abbildet.

Ohne DNS wäre das Internet, wie wir es kennen, praktisch unbenutzbar. Stell dir vor, du müsstest für jede Website, jeden E-Mail-Server und jeden API-Endpunkt die exakte IP-Adresse kennen. DNS abstrahiert diese Komplexität und macht das Netz für Menschen zugänglich.

Wie funktioniert die DNS-Auflösung?

Wenn du www.example.com in deinen Browser eingibst, durchläuft die Anfrage mehrere Stationen. Dieser Prozess wird als DNS-Auflösung (DNS Resolution) bezeichnet.

Die vier Akteure der DNS-Abfrage

  1. DNS-Resolver (Rekursiver Resolver): Dein erster Ansprechpartner – meist betrieben von deinem Internetanbieter oder einem Dienst wie Cloudflare (1.1.1.1) oder Google (8.8.8.8).
  2. Root-Nameserver: Die oberste Instanz der DNS-Hierarchie. Es gibt 13 Root-Server-Cluster weltweit, die wissen, welche Server für .com, .de, .org usw. zuständig sind.
  3. TLD-Nameserver: Zuständig für die Top-Level-Domain (z. B. .com). Sie verweisen auf den autoritativen Nameserver der gesuchten Domain.
  4. Autoritativer Nameserver: Dieser Server kennt die endgültige Antwort – also die IP-Adresse, die zu www.example.com gehört.

Der Ablauf Schritt für Schritt

  1. Dein Browser prüft seinen lokalen Cache – wurde die Domain kürzlich aufgelöst?
  2. Falls nicht, fragt das Betriebssystem den konfigurierten DNS-Resolver.
  3. Der Resolver fragt den Root-Server: „Wer ist für .com zuständig?"
  4. Der Root-Server antwortet mit dem zuständigen TLD-Nameserver.
  5. Der TLD-Server verweist auf den autoritativen Nameserver von example.com.
  6. Der autoritative Server liefert die IP-Adresse zurück.
  7. Der Resolver cached das Ergebnis und gibt es an deinen Browser weiter.

Diesen gesamten Vorgang kannst du mit einem einfachen Befehl nachvollziehen:

dig +trace www.example.com

Oder für eine kompakte Ausgabe:

nslookup www.example.com

Die wichtigsten DNS-Record-Typen

DNS speichert nicht nur IP-Adressen. Es gibt verschiedene Record-Typen, die jeweils unterschiedliche Informationen bereitstellen.

A-Record und AAAA-Record

Der A-Record ist der Klassiker – er bildet einen Domainnamen auf eine IPv4-Adresse ab. Der AAAA-Record ist das Pendant für IPv6.

# A-Record abfragen
dig A example.com

# AAAA-Record abfragen
dig AAAA example.com

CNAME-Record

Ein CNAME (Canonical Name) ist ein Alias. Er verweist einen Domainnamen auf einen anderen Domainnamen, nicht direkt auf eine IP-Adresse.

blog.example.com.   IN  CNAME  example.github.io.

Das ist besonders nützlich, wenn du Dienste wie GitHub Pages, Netlify oder Vercel nutzt und deren automatische IP-Verwaltung nutzen möchtest.

MX-Record

MX-Records (Mail Exchange) legen fest, welcher Server E-Mails für deine Domain entgegennimmt. Die Priorität bestimmt die Reihenfolge:

example.com.   IN  MX  10  mail1.example.com.
example.com.   IN  MX  20  mail2.example.com.

Der Server mit der niedrigeren Zahl hat höhere Priorität.

TXT-Record

TXT-Records speichern beliebige Textinformationen. Sie werden häufig für SPF, DKIM und Domain-Verifizierung eingesetzt:

example.com.   IN  TXT  "v=spf1 include:_spf.google.com ~all"

NS-Record

NS-Records definieren, welche Nameserver für eine Domain autoritativ zuständig sind:

dig NS example.com

DNS in der Praxis konfigurieren

Zonendatei verstehen

Wenn du einen eigenen DNS-Server betreibst oder deine DNS-Zone bei einem Provider verwaltest, arbeitest du mit einer Zonendatei. Eine typische Zonendatei sieht so aus:

$TTL 3600
@       IN  SOA   ns1.example.com. admin.example.com. (
                   2024010101  ; Serial
                   3600        ; Refresh
                   900         ; Retry
                   1209600     ; Expire
                   86400 )     ; Minimum TTL

; Nameserver
@       IN  NS    ns1.example.com.
@       IN  NS    ns2.example.com.

; A-Records
@       IN  A     203.0.113.10
www     IN  A     203.0.113.10
api     IN  A     203.0.113.20

; AAAA-Record
@       IN  AAAA  2001:db8::1

; Mail
@       IN  MX    10  mail.example.com.
mail    IN  A     203.0.113.30

; TXT-Records
@       IN  TXT   "v=spf1 ip4:203.0.113.0/24 ~all"

DNS-Debugging mit dig

Das Tool dig ist dein bester Freund beim DNS-Debugging. Hier einige nützliche Befehle:

# Vollständige Abfrage mit allen Details
dig example.com ANY

# Nur die Antwort anzeigen
dig +short example.com

# Einen bestimmten DNS-Server befragen
dig @1.1.1.1 example.com

# Reverse-DNS-Lookup (IP zu Domain)
dig -x 203.0.113.10

# TTL überprüfen
dig example.com | grep -A1 "ANSWER SECTION"

DNS mit Terraform verwalten

In modernen Infrastruktur-Setups wird DNS oft als Infrastructure as Code verwaltet. Hier ein Beispiel mit Terraform und Cloudflare:

resource "cloudflare_record" "www" {
  zone_id = var.cloudflare_zone_id
  name    = "www"
  value   = "203.0.113.10"
  type    = "A"
  ttl     = 3600
  proxied = true
}

resource "cloudflare_record" "mail" {
  zone_id  = var.cloudflare_zone_id
  name     = "@"
  value    = "mail.example.com"
  type     = "MX"
  priority = 10
}

TTL: Caching richtig einsetzen

Die TTL (Time to Live) bestimmt, wie lange ein DNS-Eintrag gecached werden darf – angegeben in Sekunden. Die richtige TTL-Strategie ist entscheidend:

  • Hohe TTL (z. B. 86400 = 24h): Weniger DNS-Abfragen, schnellere Auflösung, aber Änderungen brauchen lange zur Verbreitung.
  • Niedrige TTL (z. B. 300 = 5min): Änderungen werden schnell wirksam, aber die DNS-Last steigt.

Profi-Tipp: Vor einem geplanten Serverwechsel die TTL einige Tage vorher auf einen niedrigen Wert setzen. Nach der Migration kannst du sie wieder erhöhen.

# Aktuelle TTL eines Records prüfen
dig +nocmd +noall +answer example.com

Sicherheit: DNS absichern

DNS wurde in den 1980er-Jahren ohne Sicherheitsmechanismen entworfen. Heute gibt es mehrere Möglichkeiten, DNS abzusichern:

  • DNSSEC: Signiert DNS-Antworten kryptografisch, um Manipulationen zu verhindern.
  • DNS over HTTPS (DoH): Verschlüsselt DNS-Anfragen über HTTPS – verhindert Abhören.
  • DNS over TLS (DoT): Ähnlich wie DoH, nutzt aber TLS direkt auf Port 853.

Du kannst prüfen, ob eine Domain DNSSEC nutzt:

dig +dnssec example.com

Häufige DNS-Probleme und Lösungen

Problem Ursache Lösung
Domain nicht erreichbar Falsche A-Records Records prüfen mit dig
E-Mails kommen nicht an Fehlende MX-Records MX-Einträge konfigurieren
Änderungen nicht sichtbar Hohe TTL / Cache TTL senken, Cache leeren
SSL-Zertifikat ungültig CNAME statt A-Record Record-Typ überprüfen

Lokalen DNS-Cache leeren:

# macOS
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder

# Windows
ipconfig /flushdns

# Linux (systemd-resolved)
sudo systemd-resolve --flush-caches

Fazit

DNS ist das unsichtbare Rückgrat des Internets. Ein solides Verständnis der DNS-Auflösung, der verschiedenen Record-Typen und der richtigen TTL-Strategie ist für jeden Webentwickler und Systemadministrator unverzichtbar. Ob du eine einfache Website aufsetzt, einen Mailserver konfigurierst oder eine komplexe Microservice-Architektur betreibst – DNS-Wissen spart dir im Ernstfall Stunden an Debugging-Zeit.

Fang am besten damit an, dig in deinen Alltag zu integrieren, deine bestehenden DNS-Einträge zu überprüfen und DNSSEC für deine Domains zu aktivieren. Denn wer DNS versteht, versteht einen fundamentalen Baustein des modernen Internets.