DNS: Das Telefonbuch des Internets, das alle erst bemerken, wenn es brennt
Inhaltsverzeichnis
- Warum DNS überhaupt existiert
- Namen sind für Menschen, Zahlen für Maschinen
- Was passiert, wenn du eine Website aufrufst
- Resolver, Root-Server und andere Wesen aus dem Maschinenraum
- Warum DNS so oft „schuld“ ist
- Cache: Segen, Fluch und „bei mir geht’s noch“
- TTL: Die Eieruhr des Internets
- DNSSEC: Sicherheit, die manchmal aussieht wie Totalschaden
- Pi-hole, Unbound und der kleine DNS-Gott im Heimnetz
- Warum DNS-Ausfälle so unangenehm sind
- Was man selbst prüfen kann
- Fazit: DNS ist langweilig. Bis es das nicht mehr ist.
1. Warum DNS überhaupt existiert
Das Internet ist im Kern ziemlich dumm.
Nicht böse gemeint. Eher technisch.
Computer reden nicht gern über schöne Namen. Sie mögen Zahlen. Adressen. Pakete. Routen. Dinge, die aussehen, als hätte jemand beim Tippen kurz aufgegeben.
Menschen dagegen sind schlecht darin, sich Zahlenkolonnen zu merken. Wir merken uns schon kaum, wo wir das Ladekabel hingelegt haben. Jetzt noch IP-Adressen für jede Website? Nein danke.
Deshalb gibt es DNS.
DNS steht für Domain Name System.
Klingt trocken. Ist es auch. Aber eben auf diese wichtige Art trocken, wie Bremsflüssigkeit, Sicherungskasten oder Steuererklärung. Keiner will sich damit beschäftigen, aber wenn es nicht funktioniert, wird der Tag sehr schnell sehr schlecht.
DNS übersetzt Namen in Adressen.
Du tippst:
codeundkram.de
Dein Computer braucht aber eine IP-Adresse, also zum Beispiel irgendetwas wie:
188.246.8.8
oder im modernen IPv6-Gewand etwas, das aussieht, als wäre eine Katze über die Tastatur gelaufen:
2a02:a00:f015:7774:6e62:6700:8b17:cafe
DNS ist also grob gesagt das Telefonbuch des Internets.
Nur dass dieses Telefonbuch weltweit verteilt ist, sich ständig ändert, zwischengespeichert wird, verschiedene Zuständigkeiten hat, kryptografisch signiert sein kann und bei Problemen dafür sorgt, dass Menschen mit glasigen Augen dig in ein Terminal tippen.
Also wie ein Telefonbuch, nur mit mehr Nervenzusammenbruch.
2. Namen sind für Menschen, Zahlen für Maschinen
Wenn du eine Website aufrufst, denkst du:
Ich gehe auf eine Website.
Dein Computer denkt:
Ich brauche eine IP-Adresse, um TCP/IP-Pakete an ein Ziel zu schicken, dann TLS auszuhandeln, HTTP zu sprechen und anschließend irgendeinen JavaScript-Zirkus auszuliefern, der mir erst mal ein Cookie-Banner ins Gesicht wirft.
Romantisch ist anders.
Der Domainname ist nur der menschenfreundliche Teil. Also das Schild an der Tür.
Die IP-Adresse ist der tatsächliche Ort, an den Datenpakete geschickt werden.
Ohne DNS müsstest du dir merken, welche IP-Adresse zu welcher Website gehört. Das wäre ungefähr so praktikabel wie ein Supermarkt ohne Produktnamen, in dem alles nur noch Lagerplatznummern hat.
„Schatz, bringst du bitte 172.16.8.12 mit?“ „Meinst du Milch?“ „Nein, das war letzte Woche. Die hat jetzt 172.16.9.4.“
DNS verhindert genau diesen Wahnsinn.
Meistens.
3. Was passiert, wenn du eine Website aufrufst
Nehmen wir an, du tippst www.example.de in deinen Browser.
Dann passiert ungefähr Folgendes:
Dein Browser schaut zuerst nach, ob er die Adresse schon kennt. Browser sind kleine Datenhamster. Wenn sie etwas schon einmal gesehen haben, behalten sie es gern kurz im Speicher.
Wenn der Browser nichts findet, fragt er das Betriebssystem.
Wenn das Betriebssystem nichts findet, fragt es den eingestellten DNS-Resolver. Das kann dein Router sein, dein Provider, Google DNS, Cloudflare, Quad9, dein eigener Unbound im Homelab oder irgendeine kreative Kombination, die du nachts um 01:17 Uhr gebaut hast und später bereust.
Der Resolver macht dann die eigentliche Arbeit.
Er fragt sich durch die DNS-Hierarchie:
Wer ist für .de zuständig?
Wer ist für example.de zuständig?
Welche IP-Adresse gehört zu www.example.de?
Am Ende bekommt dein Rechner eine Antwort.
Dann kann der Browser die Verbindung herstellen.
Dann lädt die Seite.
Dann kommt ein Cookie-Banner.
Dann fragt dich ein Popup nach dem Newsletter.
Dann möchtest du das Internet wieder abschaffen.
4. Resolver, Root-Server und andere Wesen aus dem Maschinenraum
DNS ist hierarchisch aufgebaut.
Ganz oben stehen die Root-Server.
Die wissen nicht jede einzelne Website auswendig. Sie wissen eher, wer für die obersten Namensbereiche zuständig ist. Also zum Beispiel .de, .com, .org und so weiter.
Für .de ist dann die entsprechende Registry zuständig. Bei deutschen Domains ist das die DENIC.
Die sagt dem Resolver, welche Nameserver für eine bestimmte Domain zuständig sind.
Diese autoritativen Nameserver liefern dann die eigentlichen Antworten.
Also:
www.example.de hat diese IP-Adresse.
mail.example.de ist für Mail zuständig.
Diese Domain nutzt diese Nameserver.
Das klingt komplizierter, als es im Alltag wirkt. Normalerweise läuft das in Millisekunden.
Man merkt nichts.
Bis man etwas merkt.
Und dann merkt man sehr viel.
5. Warum DNS so oft „schuld“ ist
Wenn irgendwas im Internet nicht funktioniert, sagt irgendwer sehr schnell:
Ist bestimmt DNS.
Und das Gemeine ist: Oft stimmt es.
DNS ist nicht immer wirklich schuld, aber DNS ist sehr oft beteiligt. Es steht an einer so frühen Stelle der Verbindung, dass viele Fehler aussehen wie DNS-Probleme.
Website lädt nicht?
Kann DNS sein.
Mail kommt nicht an?
Kann DNS sein.
Zertifikat passt nicht?
Kann mit DNS zusammenhängen.
Interner Dienst nicht erreichbar?
DNS.
VPN geht, aber nichts löst auf?
DNS.
Neue Website ist online, aber nur bei manchen?
DNS-Cache.
Du hast alles richtig gemacht, aber es funktioniert trotzdem nicht?
DNS lacht leise im Hintergrund.
Es gibt diesen alten Admin-Spruch:
It’s always DNS.
Das ist natürlich übertrieben.
Aber eben nur knapp.
6. Cache: Segen, Fluch und „bei mir geht’s noch“
DNS wäre viel zu langsam, wenn jede Anfrage immer komplett von oben nach unten durch die ganze Hierarchie laufen müsste.
Also wird zwischengespeichert.
Überall.
Browser speichern. Betriebssysteme speichern. Router speichern. Provider speichern. Resolver speichern. Manchmal speichern auch Dinge, die man nie gebeten hat, irgendwas zu speichern, aber sie tun es trotzdem, weil Caching im Internet ungefähr so beliebt ist wie Kaffee in Büros.
Caching ist gut.
Es macht DNS schnell.
Es reduziert Last.
Es sorgt dafür, dass nicht jede Anfrage die komplette DNS-Kette durchprügeln muss.
Aber Caching sorgt auch für diese schönen Situationen:
„Bei mir geht die neue IP schon.“ „Bei mir nicht.“ „Bei meinem Handy geht’s.“ „Im WLAN nicht.“ „Über Mobilfunk schon.“ „Beim Kunden ist noch die alte Seite.“ „Beim Chef ist gar nichts, aber der klickt auch auf alles.“
Dann beginnt der Tanz.
Cache leeren. Resolver wechseln. Warten. Fluchen. Nochmal testen.
Caching ist also Segen und Fluch zugleich.
Wie Kaffee.
Oder automatische Updates.
7. TTL: Die Eieruhr des Internets
Jeder DNS-Eintrag hat eine sogenannte TTL.
TTL steht für Time To Live.
Das ist die Zeit, wie lange ein DNS-Resolver eine Antwort zwischenspeichern darf.
Eine TTL von 3600 bedeutet: eine Stunde.
Eine TTL von 300 bedeutet: fünf Minuten.
Eine TTL von 86400 bedeutet: ein Tag.
Wenn du eine Website umziehst und vorher die TTL runtersetzt, kannst du Änderungen schneller verteilen. Wenn du das vergisst, darfst du zusehen, wie alte Einträge noch stundenlang durchs Netz geistern wie ein schlechter Gedanke mit Root-Zugriff.
TTL ist nicht kompliziert.
TTL wird nur gern vergessen.
Und dann steht man da und fragt sich, warum die neue Website bei einem selbst schon läuft, aber beim Kunden noch die alte Version erscheint, inklusive Platzhalterbild und „Lorem ipsum“.
Die Antwort ist oft:
Weil irgendwo noch jemand den alten DNS-Eintrag im Cache hat.
Das Internet vergisst.
Aber nicht sofort.
8. DNSSEC: Sicherheit, die manchmal aussieht wie Totalschaden
DNS wurde in einer Zeit gebaut, in der das Internet noch mehr Vertrauen hatte.
Also ungefähr wie ein Dorffest, nur mit weniger Datenschutz.
Ursprünglich konnte man DNS-Antworten nicht wirklich gut überprüfen. Ein Resolver fragte, ein Server antwortete, und wenn die Antwort plausibel wirkte, wurde sie genommen.
Das ist aus heutiger Sicht ungefähr so sicher wie:
„Jemand hat mir auf dem Parkplatz gesagt, er sei meine Bank.“
DNSSEC soll dieses Problem entschärfen.
DNSSEC steht für Domain Name System Security Extension.
Die Idee: DNS-Antworten werden kryptografisch signiert. Ein validierender Resolver kann prüfen, ob die Antwort wirklich zur Zone gehört und nicht unterwegs manipuliert wurde.
Das ist gut.
Sehr gut sogar.
Aber DNSSEC hat diese spezielle Eigenschaft moderner Sicherheitstechnik: Wenn etwas falsch konfiguriert ist, schützt es dich sehr konsequent vor der Nutzung.
Dann gibt es keine halbkaputte Antwort.
Dann gibt es eher:
Nein.
Oder:
Diese Domain existiert für dich gerade nicht.
Aus Nutzersicht sieht das dann aus wie ein Ausfall.
Aus technischer Sicht funktioniert die Sicherheitsprüfung korrekt.
Aus emotionaler Sicht möchte man trotzdem in einen Tisch beißen.
DNSSEC ist also wie ein sehr gewissenhafter Türsteher.
Wenn die Liste stimmt, kommst du rein.
Wenn die Liste kaputt ist, erklärt er dir nicht lange die Infrastruktur, sondern macht einfach die Tür nicht auf.
9. Pi-hole, Unbound und der kleine DNS-Gott im Heimnetz
Wer ein Homelab hat, kommt irgendwann auf die Idee:
Ich mache DNS selbst.
Das ist der Anfang.
Nicht vom Ende.
Aber von Abenden mit Terminalfenstern.
Pi-hole, AdGuard Home, Unbound, Bind, Technitium, eigene Resolver, Split-DNS, lokale Zonen, DoH, DoT, DNSSEC, Conditional Forwarding.
Plötzlich ist man nicht mehr nur Internetnutzer.
Man ist Namensverwalter des Wohnzimmers.
Das hat Vorteile.
Man kann Werbung blocken.
Man kann lokale Namen vergeben.
Man kann kontrollieren, welche Geräte wohin telefonieren.
Man sieht, wie gesprächig Smart-TVs sind, und fragt sich danach, ob der Fernseher vielleicht mehr Sozialleben hat als man selbst.
Aber man baut sich auch neue Fehlerquellen.
Wenn der eigene DNS-Server nicht läuft, wirkt sofort das ganze Heimnetz kaputt.
Nicht, weil kein Internet da wäre.
Sondern weil niemand mehr weiß, wie die Dinge heißen.
Das ist wie eine Stadt, in der alle Straßen noch existieren, aber alle Schilder über Nacht entfernt wurden.
Technisch kommt man vielleicht noch irgendwo hin.
Praktisch fährt jeder im Kreis.
Und natürlich denkt man bei einem Ausfall zuerst:
Was habe ich kaputt gemacht?
Das ist die natürliche Haltung des Homelab-Menschen.
Erst Selbsthass.
Dann Fehlersuche.
Dann Infrastrukturverdacht.
Dann Kaffee.
10. Warum DNS-Ausfälle so unangenehm sind
DNS-Ausfälle fühlen sich schlimmer an als viele andere technische Probleme, weil sie so grundlegend sind.
Wenn eine einzelne Website kaputt ist, ist eine einzelne Website kaputt.
Wenn DNS kaputt ist, sieht alles kaputt aus.
Browser melden, dass Seiten nicht gefunden werden.
Apps laden nicht.
Mailserver spinnen.
Updates schlagen fehl.
Smart-Home-Geräte schauen beleidigt in die Cloud.
Und der Mensch sitzt davor und denkt:
Das WLAN-Symbol ist doch da. Warum ist trotzdem alles tot?
Genau das macht DNS so tückisch.
Die Verbindung kann bestehen.
Der Router kann online sein.
Der Glasfaseranschluss kann leuchten.
Pakete könnten theoretisch raus.
Aber wenn Namen nicht aufgelöst werden, wirkt alles wie abgeschnitten.
DNS ist also nicht das Internet.
Aber ohne DNS fühlt sich das Internet an wie ein Telefon ohne Kontakte.
Du könntest jemanden anrufen.
Wenn du nur wüsstest, welche Nummer.
11. Was man selbst prüfen kann
Wenn etwas nicht lädt, muss man nicht sofort das gesamte Heimnetz neu installieren, den Router beschimpfen oder einen Exorzismus am Switch durchführen.
Ein paar einfache Checks helfen.
Erstens: Geht nur eine Seite nicht oder alles?
Wenn nur eine Domain nicht geht, ist es vielleicht ein Problem dieser Domain.
Wenn viele Seiten nicht gehen, wird DNS wahrscheinlicher.
Zweitens: Geht es über Mobilfunk?
Wenn eine Website im WLAN nicht geht, aber über Mobilfunk schon, liegt das Problem wahrscheinlich irgendwo in deinem Netz, deinem DNS oder deinem Providerpfad.
Drittens: Einen anderen Resolver testen.
Zum Beispiel temporär:
1.1.1.1
8.8.8.8
9.9.9.9
Das sind bekannte öffentliche Resolver. Nicht als Glaubensfrage, sondern als Test.
Viertens: Mit dig prüfen.
dig example.de
Oder gezielt einen Resolver fragen:
dig @1.1.1.1 example.de
dig @8.8.8.8 example.de
Bei DNSSEC-Problemen kann auch interessant sein:
dig +dnssec example.de
Fünftens: Nicht sofort alles ändern.
Das ist schwer.
Ich weiß.
Aber wer bei einem DNS-Problem panisch an zehn Stellen gleichzeitig dreht, hat danach elf Probleme. Eines davon ist DNS. Die anderen zehn heißen „Warum habe ich das gemacht?“.
Lieber sauber prüfen.
Schritt für Schritt.
Wie ein Erwachsener.
Oder wenigstens wie jemand, der so tut.
12. Fazit: DNS ist langweilig. Bis es das nicht mehr ist.
DNS ist eine dieser Techniken, die im Alltag fast unsichtbar sind.
Und genau deshalb so wichtig.
Es übersetzt Namen in Adressen.
Es verbindet menschliche Bequemlichkeit mit maschineller Sturheit.
Es macht aus codeundkram.de ein erreichbares Ziel.
Und wenn es ausfällt, wirkt das Internet plötzlich nicht mehr wie ein globales Hochleistungsnetz, sondern wie ein schlecht beschrifteter Kellerraum voller Kabel und schlechter Entscheidungen.
DNS ist nicht glamourös.
Niemand kauft ein Gerät, weil „besonders gutes DNS“ auf der Verpackung steht.
Niemand prahlt auf Partys mit TTL-Werten, außer die Party ist sehr klein und vermutlich in einem Rechenzentrum.
Aber DNS ist Fundament.
Unsichtbar, trocken, kritisch.
Wie Strom.
Wie Wasser.
Wie Kaffee.
Wenn es funktioniert, denkt keiner daran.
Wenn es nicht funktioniert, wird sofort klar, wie dünn die Schicht Zivilisation über unserem digitalen Alltag eigentlich ist.
Und das ist vielleicht die wichtigste Lektion:
Das Internet ist nicht magisch.
Es besteht aus Protokollen, Zuständigkeiten, Caches, Signaturen, Timeouts, Menschen, Konfigurationen und sehr viel Hoffnung.
DNS ist der Teil davon, der sagt:
Ich weiß, wie das heißt.
Und manchmal eben:
Nö.
Dann sitzen wir da.
Mit Logs.
Mit Kaffee.
Mit dig.
Und mit dieser tiefen, alten Admin-Weisheit:
Es ist vielleicht nicht immer DNS.
Aber es ist oft genug DNS, um DNS grundsätzlich misstrauisch anzusehen.
Discussion in the ATmosphere