DNS (Domain Name System) ist das System, das für Menschen lesbare Domainnamen wie blog.aimran.es in die IP-Adressen übersetzt, mit denen sich Computer verbinden. Es funktioniert als verteilte, hierarchische Datenbank: Wenn du eine Domain eingibst, fragt dein Gerät eine Kette von Servern, bis es die Antwort erhält, die für die im TTL angegebene Zeit zwischengespeichert wird. Die Konfiguration einer Domain besteht aus Einträgen verschiedener Typen: A und AAAA zeigen auf IP-Adressen, CNAME erzeugt einen Alias auf einen anderen Namen, MX sagt, wo E-Mail empfangen wird, und TXT speichert Text für Verifizierungen und E-Mail-Richtlinien.
Dieser Artikel erklärt, wie ein Name aufgelöst wird, was jeder Eintrag bewirkt, warum Änderungen „Zeit zum Propagieren brauchen“ und wie du all das im Terminal prüfst.
Wie eine Domain aufgelöst wird
Wenn der Browser die IP von blog.aimran.es braucht:
- Er prüft den lokalen Cache (Betriebssystem oder Browser). Liegt eine gültige Antwort vor, ist er fertig.
- Falls nicht, fragt er den konfigurierten rekursiven Resolver (den deines Providers oder einen öffentlichen wie
1.1.1.1oder8.8.8.8). - Der Resolver fragt, wenn er die Antwort auch nicht im Cache hat, die Root-Server, die ihn an die Server der Top-Level-Domain (
.es) verweisen. - Die
.es-Server verweisen ihn an die autoritativen Server füraimran.es(dieNS-Einträge der Domain). - Der autoritative Server antwortet mit dem angefragten Eintrag, und der Resolver gibt ihn an den Browser zurück und cached ihn für die Dauer des TTL.
All das dauert Millisekunden und erreicht dank der Caches meist nie die Schritte 3 und 4.
Die meistgenutzten Eintragstypen
| Eintrag | Was er bewirkt | Beispielwert |
|---|---|---|
A |
Ordnet einem Namen eine IPv4-Adresse zu | 203.0.113.10 |
AAAA |
Ordnet einem Namen eine IPv6-Adresse zu | 2001:db8::10 |
CNAME |
Alias: erklärt, dass ein Name einem anderen Namen entspricht | blog.aimran.es → site.hosting-provider.net |
MX |
Server, die E-Mail der Domain empfangen, mit Priorität | 10 mail.provider.com |
TXT |
Freier Text: Eigentumsnachweis, SPF, DKIM, DMARC | v=spf1 include:_spf.provider.com -all |
NS |
Autoritative Nameserver der Domain | ns1.dns-provider.com |
CAA |
Welche Zertifizierungsstellen TLS-Zertifikate für die Domain ausstellen dürfen | 0 issue "letsencrypt.org" |
A und AAAA
Das sind die „finalen“ Einträge: Sie liefern die IP. Ein Name kann mehrere A-Einträge haben (der Client wählt einen), was als einfache Lastverteilung dient. Hat dein Server IPv6, ergänze den AAAA; immer mehr Mobilfunknetze bevorzugen es.
CNAME: ein Alias mit einer wichtigen Einschränkung
Ein CNAME sagt „dieser Name ist ein anderer Name“: blog.aimran.es → site.provider.net, und der Resolver löst den zweiten weiter auf. Das ist die übliche Wahl für Subdomains, die auf Plattformen gehostet werden (Netlify, Vercel, GitHub Pages, Cloudflare Pages), weil der Anbieter seine IPs ändern kann, ohne dass du etwas anfassen musst.
Die Einschränkung, definiert in RFC 1034 (Abschnitt 3.6.2): Ein Name mit einem CNAME darf keinen anderen Eintrag haben. Und die Root-Domain (aimran.es, der Apex) hat immer NS- und SOA-Einträge, also kann sie kein CNAME sein. Um den Apex auf eine Plattform zu zeigen, gibt es zwei Auswege: die A/AAAA-Einträge verwenden, die der Anbieter dir gibt, oder die nicht standardisierten Funktionen vieler DNS-Server nutzen (ALIAS, ANAME oder „CNAME flattening“), die den Alias serverseitig auflösen und eine IP zurückgeben.
MX: wo E-Mail ankommt
MX-Einträge geben die eingehenden Mailserver und ihre Priorität an (niedrigere Zahl, höhere Priorität). Kaufst du E-Mail bei einem Anbieter, gibt er dir die genauen Werte. Ohne MX hat E-Mail an deine Domain kein Ziel.
TXT: Verifizierungen und Anti-Spam-Richtlinien
TXT-Einträge enthalten beliebigen Text und werden hauptsächlich verwendet für:
- Eigentumsnachweis der Domain bei Diensten wie Google Search Console oder E-Mail-Anbietern (sie bitten dich, einen bestimmten Wert einzutragen).
- SPF (RFC 7208): welche Server im Namen deiner Domain E-Mail senden dürfen.
- DKIM: der öffentliche Schlüssel, der deine ausgehende E-Mail signiert.
- DMARC: was mit E-Mail geschehen soll, die SPF/DKIM nicht besteht, und wohin Berichte gesendet werden.
Wenn du E-Mail von der Domain sendest (und sei es nur das Kontaktformular), hält dich die Einrichtung von SPF, DKIM und DMARC aus dem Spam-Ordner.
TTL und die berühmte „Propagation“
Jeder Eintrag trägt einen TTL (time to live) in Sekunden: wie lange Resolver die Antwort im Cache behalten dürfen. Bei einem TTL von 3600 liefert ein Resolver, der deinen A vor zehn Minuten abgefragt hat, weitere fünfzig Minuten die alte IP, auch wenn du sie bereits geändert hast.
Mehr ist „Propagation“ nicht: Es gibt keinen Prozess, der die Änderung um die Welt schickt, nur Caches, die unterschiedlich schnell ablaufen. Daher die Standardtechnik für eine Migration: den TTL ein oder zwei Tage vor der Änderung senken (zum Beispiel auf 300), die Änderung durchführen und, wenn alles funktioniert, wieder erhöhen.
Einträge mit dig prüfen
dig ist unter macOS und den meisten Linux-Distributionen installiert (Paket dnsutils oder bind-utils); unter Windows kannst du nslookup oder Resolve-DnsName in PowerShell verwenden.
# A-Eintrag (nur Antwort)
dig +short blog.aimran.es A
# MX- und TXT-Einträge der Root-Domain
dig +short aimran.es MX
dig +short aimran.es TXT
# Den autoritativen Server direkt fragen, Caches umgehen
dig @ns1.dns-provider.com aimran.es A
# Verbleibenden TTL im Cache eines öffentlichen Resolvers sehen
dig @1.1.1.1 blog.aimran.es A
Den autoritativen Server direkt abzufragen (@server) zeigt dir, ob deine Änderung aktiv ist, unabhängig davon, was die Caches sagen.
Häufige Fehler
- Einen CNAME auf den Apex setzen oder neben andere Einträge desselben Namens: Das Panel lehnt es ab oder die Domain funktioniert nicht mehr.
- Einträge mit hohem TTL ändern und erwarten, dass die Änderung sofort wirkt.
- Den
AAAAbei einer Migration vergessen: DerAzeigt auf den neuen Server, derAAAAauf den alten, und Nutzer mit IPv6 sehen die alte Website. - Mehrere SPF-Einträge anlegen: Es darf nur einen geben; kombiniere die
include:-Einträge im selben Eintrag. - Keinen
CAAsetzen: nicht verpflichtend, aber zu begrenzen, welche Stellen Zertifikate für deine Domain ausstellen dürfen, ist eine günstige Sicherheitsmaßnahme.
Fazit
DNS ist eine Kette von Fragen mit einem Cache an jedem Glied. A/AAAA-Einträge liefern die IP, CNAME delegiert an einen anderen Namen (nie am Apex), MX empfängt E-Mail und TXT verifiziert und schützt deine Identität beim Senden. Sobald du den TTL verstehst, wartest du nicht mehr auf „Propagation“, sondern planst Änderungen; sobald du dig gegen den autoritativen Server einsetzt, weißt du immer, was wirklich konfiguriert ist.