DNS-Cache

Protokolle & Standards
Temporäre Speicherung von DNS-Abfrageergebnissen durch Resolver oder Clients zur Beschleunigung wiederholter Lookups.
← Zurück zum Glossar

Was ist DNS Cache?

DNS-Caching ist die temporäre Speicherung der DNS-Abfrageergebnisse durch Resolver, Betriebssysteme, Browser und Anwendungen. Wenn ein DNS-Lookup durchgeführt wird, wird das Ergebnis für einen Zeitraum, der durch das TTL (Time To Live) des Datensatzes definiert wird, geätzt, so dass nachfolgende Anfragen für dieselbe Domain sofort beantwortet werden können, ohne autoritäre Server abzufragen.

Warum DNS Caching Mattes

Ohne Caching würde jede einzelne Web-Anfrage ein vollständiges DNS-Lookup erfordern – eine Latenzzeit und einen massiven DNS-Verkehr generieren. DNS Caching bietet:

Wie DNS Caching funktioniert

Die schreiende Hierarchie

DNS-Caching erfolgt auf mehreren Ebenen:

Browser Cache (seconds to minutes)

OS Cache (seconds to minutes)

Local Resolver Cache (minutes to hours)

ISP Resolver Cache (minutes to hours)

Authoritative Name Server (source of truth)

Cache Lookup Prozess

1. Anfragen an Benutzer example.com

2. **Browser prüft* seinen Cache

3. **Wenn Miss, OS überprüft* seinen Cache

4. **Wenn Miss, Resolver prüft* seinen Cache

5. Wenn Miss, rekursive Abfrage an autoritative Server

6. Ergebnis auf jeder Ebene basierend auf TTL

7. Response an den Benutzer zurückgegeben*

TTL-basiertes Ablaufen

Jeder DNS-Datensatz enthält einen TTL-Wert:

example.com.    300    IN    A    203.0.113.50

^^^

TTL in seconds (5 minutes)

Caches speichern diese Platte für 300 Sekunden, dann verwerfen Sie sie. Die nächste Abfrage löst einen frischen Lookup aus.

DNS Cache Ebenen

Browser Cache

Moderne Browser Cache DNS Ergebnisse unabhängig:

Chrome: Verwendet einen eigenen DNS-Cache (chrome://net-internals/#dns) Firefox: Enthält interne Cache (etwa:networking#dns) Safari: Verwendet Systemresolver

Typischer Browser-Cache TTL: 60 Sekunden (unabhängig von DNS TTL)

Betriebssystem Cache

Windows: DNS Client Service Caches Ergebnisse
# View cache

ipconfig /displaydns

# Flush cache

ipconfig /flushdns

macOS: mDNSRespondergriffe Caching
# Flush cache (macOS 10.15+)

sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder

Linux: Varianten nach System, oft systemd-resolved
# Flush systemd-resolved cache

sudo systemd-resolve --flush-caches

# Check statistics

sudo systemd-resolve --statistics

Resolver Cache

Rekursive DNS-Resolver (ISP DNS, 8.8.8.8, 1.1.1.1) halten große Caches, die Millionen von Benutzern dienen:

ResolverCache-Strategie
Google (8.8.8.8)Respects TTL, globaler Cache
Cloudflare (1.1.1.1)Respects TTL, verteilt
ISP-ResolverKann niedrige TTL ignorieren

Cache Behavior Beispiele

Normalbetrieb

Query 1: example.com

→ Full lookup: 50ms

→ Cached for 300s (TTL)

Query 2: example.com (1 minute later)

→ Cache hit: 1ms

Query 3: example.com (10 minutes later)

→ Cache expired, full lookup: 50ms

→ Re-cached for 300s

DNS Record Update

Original: example.com → 203.0.113.50 (TTL: 300s)

Time: 10:00 - DNS updated to 203.0.113.51

Client queries at 10:02

→ Still cached: 203.0.113.50 (expires 10:05)

Client queries at 10:06

→ Cache expired, new lookup: 203.0.113.51

→ Cached until 10:11

TTL Strategie und Caching

Auswahl von TTL-Werten

AnwendungsfallEmpfohlenes TTLBegründung
Strategische Infrastruktur3600-86400s (1-24 Stunden)Seltene Änderungen, reduzieren DNS-Last
Produktionswebsite300-1800s (5-30 Minuten)Balance Performance und Flexibilität
Aktive Migration60-300 (1-5 Minuten)Schnellere Ausbreitung bei Änderungen
Lastausgleich60-120Schneller Ausfall, wenn Server ändern

Pre-Migration TTL-Reduktion

Best Practice bei der Planung von DNS-Änderungen:

Day -7: example.com TTL 3600s (1 hour)

Day -2: Reduce to 300s (5 minutes)

Day 0: Make DNS change

→ Max 5 minute cache retention

Day +1: Restore TTL to 3600s

Cache Poisoning und Sicherheit

DNS Cache Poisoning Attack

Angreifer versuchen, falsche DNS-Einträge in Caches zu injizieren:

1. Angreifer überschwemmt Resolver mit gefälschten Reaktionen

2. Wenn man eine anhängige Abfrage übertrifft, ist es geätzt

3. Benutzer erhalten bösartige IP für legitime Domain

4. Kaschiertes Gift diente vielen Benutzern

Sicherheitsmaßnahmen

DNSSEC: Kryptografisch signierte Datensätze verhindern Vergiftung
example.com.    IN    A      203.0.113.50

IN RRSIG A 8 2 300 ...

**Quelle Port Randomization*: Macht Antworten schwerer zu schmieden

**0x20 Encoding*: Random Fall bei Abfragen Hilfe Validierung

**Resolver Security*: Verwenden Sie seriöse Resolver (Cloudflare, Google, Quad9)

Überprüfung von DNS Cache

Cache Inhalt anzeigen

Windows:
ipconfig /displaydns | more
macOS (begrenzte Informationen):
sudo killall -INFO mDNSResponder

# Check Console.app for logs

**Linux (systemd-resolved)*:

sudo systemd-resolve --statistics

Test Cache Behavior

# First query (cache miss)

time dig example.com

# Immediate repeat (cache hit)

time dig example.com

# Compare times

Cache-Relationed Issues

Stale Cache nach DNS-Änderung

Problem: Aktualisierte DNS-Aufzeichnungen, die nicht für Benutzer widerspiegeln Lösung:

1. Warten Sie auf TTL abgelaufen

2. Reduzieren Sie TTL vor zukünftigen Änderungen

3. Fragen Sie Benutzer, um lokalen Cache zu spülen

Übermäßig aggressives Caching

Einige ISPs ignorieren TTL und Cache länger:

Problem: Änderungen dauern Stunden/Tage an Lösung:

Negatives Caching

Verfehlte Lookups (NXDOMAIN) werden ebenfalls geätzt:

Query: newsubdomain.example.com

Response: NXDOMAIN (does not exist)

Cached: 3600s (SOA minimum TTL)

Result: New subdomain won't resolve for 1 hour

Lösung: Unteres SOA Minimum TTL vor dem Hinzufügen neuer Datensätze

Flushing DNS Cache

Wann zu Flush

Wie Flush

Windows:
ipconfig /flushdns
macOS:
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder

**Linux (systemd-resolved)*:

sudo systemd-resolve --flush-caches
Chrome:
Navigate to: chrome://net-internals/#dns

Click: "Clear host cache"

Firefox:
Toggle network.dnsCacheExpiration in about:config

Or restart browser

Bewährte Praktiken

1. **Einstellen geeigneter TTL*: Gleichgewichtsleistung und Änderungsgeschwindigkeit

2. ** Reduzieren Sie TTL vor Änderungen* Untere TTL 24-48 Stunden vor DNS-Updates

3. **Monitor-Vermehrung*: Verwenden Sie Tools, um die globale DNS-Auflösung zu überprüfen

4. **Document Cache Verhalten*: Verstehen Sie die Caching-Schichten Ihrer Infrastruktur

5. ** DNSSEC verwenden*: Schutz vor Cache-Vergiftung

6. Test gründlich: Überprüfen Sie DNS-Änderungen wie erwartet, bevor Sie Erfolg erklären

7. **Educate user*: Geben Sie bei Bedarf klare Anweisungen für die Cache Spülung

Erweiterte Caching-Konzepte

Vorbeugung

Browser und Resolver können DNS für Links auf einer Seite vorschreiben:

<!-- Hint to browser -->

<link rel="dns-prefetch" href="//cdn.example.com">

Cache Erwärmung

Load Balancer und CDNs können Caches für kritische Datensätze vorbevölkern.

Anycast und Caching

Anycast DNS Routen Abfragen an den nächsten Server, Erstellen geografisch verteilte Caches für eine optimale Leistung.

DNS-Caching ist grundlegend für die Internet-Performance – das Verständnis und die korrekte Konfiguration von TTLs sorgt dafür, dass Ihre DNS-Änderungen effizient propagieren und schnelle Auflösungszeiten beibehalten.

Setzen Sie dieses Wissen in die Praxis um

Verwenden Sie die DomScan-API, um Domänenverfügbarkeit, Gesundheit und mehr zu prüfen.