Was ist eine DNS-Zone?
Eine DNS-Zone ist ein bestimmter Bereich des DNS-Namespace, der von einer spezifischen Organisation oder einem Administrator verwaltet wird. Eine Zone enthält DNS-Datensätze für eine oder mehrere Domains und wird von Authoritative Nameservern bedient. Während eine Domain ein Name in der DNS-Struktur ist, ist eine Zone eine administrative Grenze, die definiert, welche Nameserver für das Beantworten von Abfragen verantwortlich sind.
Domain vs Zone
Die Unterscheidung zu verstehen ist entscheidend:
Domain
Eine Domain ist ein Name in der DNS-Hierarchie:
example.com (Domain)
└── www.example.com (Subdomain)
└── blog.example.com (Subdomain)
└── api.example.com (Subdomain)
Zone
Eine Zone ist administrative Kontrolle über Datensätze:
Single Zone für Domain und Subdomains:example.com Zone enthält:
- example.com
- www.example.com
- blog.example.com
- api.example.com
Verwaltet von: ns1.example.com, ns2.example.com
Delegierte Subdomain-Zone:
example.com Zone enthält:
- example.com
- www.example.com
- Delegation: api.example.com → unterschiedliche Nameserver
api.example.com Zone (separat) enthält:
- api.example.com
- v1.api.example.com
- v2.api.example.com
Verwaltet von: ns1.apihost.com, ns2.apihost.com
Zone-Komponenten
Zone-Datei
Eine Textdatei mit allen DNS-Datensätzen für eine Zone:
; example.com Zone-Datei
$TTL 3600
@ IN SOA ns1.example.com. admin.example.com. (
2024010101 ; Serial
7200 ; Refresh
3600 ; Retry
1209600 ; Expire
3600 ; Minimum TTL
)
; Nameserver-Datensätze
@ IN NS ns1.example.com.
@ IN NS ns2.example.com.
; A-Datensätze
@ IN A 203.0.113.50
www IN A 203.0.113.50
blog IN A 203.0.113.51
; MX-Datensätze
@ IN MX 10 mail.example.com.
mail IN A 203.0.113.52
; CNAME-Datensätze
ftp IN CNAME www.example.com.
; TXT-Datensätze
@ IN TXT "v=spf1 include:_spf.google.com ~all"
SOA-Datensatz (Start of Authority)
Jede Zone muss genau einen SOA-Datensatz haben:
example.com. IN SOA ns1.example.com. admin.example.com. (
2024010101 ; Serial
7200 ; Refresh
3600 ; Retry
1209600 ; Expire
3600 ; Minimum TTL
)
SOA-Felder:
| Feld | Zweck | Beispielwert |
|---|---|---|
| Primary NS | Master-Nameserver | ns1.example.com |
| Admin-E-Mail | Kontakt (@ → .) | admin.example.com (admin@example.com) |
| Serial | Zone-Versionsnummer | 2024010101 |
| Refresh | Sekundärer NS Prüfintervall | 7.200 s (2 Stunden) |
| Retry | Wiederholungsintervall bei Fehler | 3.600 s (1 Stunde) |
| Expire | Sekundärer NS gibt auf nach | 1.209.600 s (14 Tage) |
| Minimum TTL | Negatives Caching Dauer | 3.600 s (1 Stunde) |
NS-Datensätze (Nameserver)
Bestimmt, welche Server Authoritative für die Zone sind:
example.com. IN NS ns1.example.com.
example.com. IN NS ns2.example.com.
Diese teilen der Welt mit, welche Server für Datensätze dieser Zone abzufragen sind.
Zone-Typen
Primäre Zone (Master)
Die Authoritative Quelle wo Zone-Datensätze bearbeitet werden:
ns1.example.com (Primär)
→ Zone-Datei wird hier bearbeitet
→ Änderungen direkt durchgeführt
→ Benachrichtigt Sekundären über Updates
Sekundäre Zone (Slave)
Schreibgeschützte Kopien, die vom Primary replizieren:
ns2.example.com (Sekundär)
→ Ruft Zone-Daten vom Primary ab
→ Kann nicht direkt bearbeitet werden
→ Synchronisiert automatisch basierend auf SOA Refresh-Intervall
Zone Transfer (AXFR):
1. Sekundär prüft SOA Serial-Nummer
2. Wenn Primary Serial höher → fordere vollständigen Zone-Transfer an
3. Primary sendet ganze Zone
4. Sekundär aktualisiert seine Kopie
Inkrementeller Transfer (IXFR):
1. Sekundär fordert nur Änderungen seit letzte Serial an
2. Primary sendet Diff
3. Effizienter für große Zonen mit kleinen Änderungen
Forward-Zone
Mappt Domain-Namen zu IP-Adressen (am häufigsten):
example.com → 203.0.113.50
www.example.com → 203.0.113.50
Reverse-Zone
Mappt IP-Adressen zu Domain-Namen (PTR-Datensätze):
50.113.0.203.in-addr.arpa → example.com
Genutzt für:
- Mail-Server-Verifikation
- Logging und Sicherheit
- Troubleshooting
Zone-Delegation
Delegation erstellt separate Zonen für Subdomains:
Parent-Zone (example.com)
; example.com Zone
@ IN A 203.0.113.50
www IN A 203.0.113.50
; Delegiere api.example.com an unterschiedliche Nameserver
api IN NS ns1.apihost.com.
api IN NS ns2.apihost.com.
; Glue-Datensätze (falls nötig)
ns1.api IN A 198.51.100.1
ns2.api IN A 198.51.100.2
Delegierte Zone (api.example.com)
Komplett separate Zone-Datei auf unterschiedlichen Nameservern:
; api.example.com Zone (auf ns1.apihost.com)
@ IN A 198.51.100.10
v1 IN A 198.51.100.11
v2 IN A 198.51.100.12
Warum delegieren?
- Organisatorisch: Unterschiedliche Teams verwalten unterschiedliche Zonen
- Technisch: Unterschiedliche DNS-Anbieter nutzen (z.B. API auf AWS, Website auf Cloudflare)
- Leistung: DNS-Last verteilen
- Sicherheit: Sensible Services isolieren
Zone-Verwaltung
Serial-Nummer-Verwaltung
Serial-Nummern verfolgen Zone-Versionen (normalerweise YYYYMMDDnn Format):
2024010101 ; 1. Januar 2024, Version 01
2024010102 ; 1. Januar 2024, Version 02
2024010201 ; 2. Januar 2024, Version 01
Kritische Regel: Serial muss mit jeder Änderung zunehmen, oder Sekundären aktualisieren sich nicht.
Zone-Transfer-Sicherheit
Problem: Zone-Transfers zeigen alle DNS-Datensätze Lösung: Zone-Transfers auf autorisierte Sekundären beschränken BIND-Konfiguration:zone "example.com" {
type master;
file "/var/named/example.com.zone";
allow-transfer { 203.0.113.52; 203.0.113.53; }; // Nur Sekundär-IPs
notify yes;
};
TSIG (Transaction Signature): Authentifiziere Zone-Transfers mit gemeinsamen Schlüsseln:
key "transfer-key" {
algorithm hmac-sha256;
secret "base64-encoded-key";
};
allow-transfer { key transfer-key; };
Zone-Konfiguration prüfen
SOA-Datensatz abfragen
dig example.com SOA
; ANSWER SECTION:
example.com. 3600 IN SOA ns1.example.com. admin.example.com. (
2024010101 7200 3600 1209600 3600 )
NS-Datensätze abfragen
dig example.com NS
; ANSWER SECTION:
example.com. 86400 IN NS ns1.example.com.
example.com. 86400 IN NS ns2.example.com.
Zone-Transfer anfordern (AXFR)
dig @ns1.example.com example.com AXFR
# Wenn erlaubt, gibt gesamte Zone zurück
# Wenn verweigert, gibt Transfer-Fehler zurück
Die meisten öffentlichen Nameserver verweigern AXFR zum Verhindern von Informations-Offenlegung.
Häufige Zone-Konfigurationen
Einfache Website
example.com Zone:
@ A 203.0.113.50
www A 203.0.113.50
@ MX 10 mail.example.com
mail A 203.0.113.51
@ TXT "v=spf1 mx -all"
Multi-Service-Zone
example.com Zone:
@ A 203.0.113.50
www A 203.0.113.50
blog CNAME hosting.wordpress.com.
shop CNAME shops.myshopify.com.
cdn CNAME d111111abcdef8.cloudfront.net.
@ MX 10 aspmx.l.google.com.
Delegierte Subdomains
example.com Zone:
@ A 203.0.113.50
www A 203.0.113.50
; Delegiere API zu AWS Route 53
api NS ns-123.awsdns-01.com.
api NS ns-456.awsdns-02.net.
; Delegiere CDN zu Cloudflare
cdn NS ns1.cloudflare.com.
cdn NS ns2.cloudflare.com.
Zone-Datei Best Practices
1. Erhöhen Sie Serial immer: Nach jeder Änderung, oder Sekundären aktualisieren sich nicht
2. Nutzen Sie Datums-basierte Serials: Format YYYYMMDDnn für Klarheit
3. Beschränken Sie Zone-Transfers: Nur autorisierten Sekundären erlauben
4. Nutzen Sie mehrere Nameserver: Mindestens 2, bevorzugt auf unterschiedlichen Netzwerken
5. Setzen Sie angemessene TTLs: Balance zwischen Caching-Vorteilen und Update-Geschwindigkeit
6. Testen Sie vor Anwendung: Zone-Datei-Syntax validieren vor Laden
7. Überwachen Sie Zone-Transfers: Sicherstellen Sekundären synchronisieren
8. Dokumentieren Sie Delegationen: Notieren welche Zonen delegiert sind und wo
9. Backup Zone-Dateien: Reguläre Backups verhindern Datenverlust
10. Nutzen Sie Versionskontrolle: Zone-Datei-Änderungen im Laufe der Zeit verfolgen
Fortgeschrittene Zone-Features
DNSSEC (Zone-Signierung)
Kryptographisch signiere Zone-Datensätze:
example.com. IN A 203.0.113.50
example.com. IN RRSIG A 8 2 3600 (...)
Schützt gegen Cache-Poisoning und Manipulation.
Dynamic DNS (DDNS)
Erlaube programmgesteuerte Zone-Updates:
nsupdate -k Kupdate.key <<EOF
server ns1.example.com
update delete www.example.com A
update add www.example.com 300 A 203.0.113.51
send
EOF
Nützlich für:
- Home-IP-Adress-Updates
- Auto-Scaling-Infrastruktur
- Service-Discovery
Zone-Views (Split Horizon DNS)
Bediene unterschiedliche Zone-Daten basierend auf Client-IP:
Interne Clients: example.com → 10.0.0.50 (intern)
Externe Clients: example.com → 203.0.113.50 (öffentlich)
Anwendungsfälle:
- Interne vs externe Website-Versionen
- Private Netzwerk-Ressourcen
- Geo-basierte Antworten
Troubleshooting Zone-Probleme
Zone-Transfer-Fehler
Symptom: Sekundären nicht synchron Prüfen Sie:# Prüfen ob Primary Transfers erlaubt
dig @ns1.example.com example.com AXFR
# Sekundäre Logs auf Fehler prüfen
tail -f /var/log/named.log
Lösungen:
- Verifizieren Sie allow-transfer Einstellungen
- Prüfen Sie Netzwerk-Konnektivität zwischen Servern
- Sicherstellen Serial-Nummer erhöht sich
Serial-Nummer erhöht sich nicht
Symptom: Änderungen propagieren sich nicht zu Sekundären Lösung: Erhöhen Sie Serial immer bei Zone-ÄnderungDelegation funktioniert nicht
Symptom: Subdomain wird nicht aufgelöst Prüfen Sie:# Verifiziere Delegation
dig example.com NS
dig api.example.com NS
# Sollte unterschiedliche Nameserver für delegierte Subdomain zeigen
Lösungen:
- Verifizieren Sie NS-Datensätze in Parent-Zone
- Prüfen Sie Glue-Datensätze wenn Nameserver innerhalb Subdomain
- Bestätigen Sie Kind-Zone ist konfiguriert
DNS-Zonen sind die Grundlage der verteilten DNS-Verwaltung – das Verständnis von Zone-Struktur, Delegation und Verwaltung ermöglicht die effektive DNS-Architektur für Organisationen jeder Größe.