Zum Inhalt springen

Domain Name System/Server/Autoritative: Unterschied zwischen den Versionen

Aus Foxwiki
DanielZorin (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
DanielZorin (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Zeile 2: Zeile 2:


== Beschreibung ==
== Beschreibung ==
'''Die Hauptaufgabe eines autoritativen Servers''': Speicherung und Veröffentlichung autoritativer Daten
'''Die Hauptaufgabe eines autoritativen Servers''': Speicherung und Veröffentlichung autoritativer Daten  
* Speichert eine oder mehrere DNS-Zonen. Quelle der autoritativen Daten für diese Zonen
* Speichert eine oder mehrere DNS-Zonen. Quelle der autoritativen Daten für diese Zonen  
 
;Abgrenzung zum Rekursiven Server
;Abgrenzung zum Rekursiven Server  
* Der autoritative Server speichert keine Cache-Daten fremder Domains und greift nicht nach außen.
* Der autoritative Server speichert keine Cache-Daten fremder Domains und greift nicht nach außen.  
* Gibt nur Antworten für seine eigenen Zonen und delegierten Subzonen zurück. Für fremde Namen antwortet ''NXDOMAIN'' oder ''NODATA''.
* Gibt nur Antworten für eigene Zonen und Delegationen zurück. Für Namen außerhalb der Zuständigkeit erfolgt typischerweise ''REFUSED''. Negative Antworten innerhalb der autoritativen Zone sind ''NXDOMAIN'' oder ''NODATA''.  
* Der ausgehende Datenverkehr ist auf den Dienstverkehr beschränkt: ''AXFR/IXFR'' zum Master, ''NOTIFY'' zu den Slaves.
* Der ausgehende Datenverkehr ist auf den Dienstverkehr beschränkt. ''AXFR/IXFR'' zum Master. ''NOTIFY'' zu den Slaves.  
* Führt keine Rekursion durch.
* Führt keine Rekursion durch.  
:* ''RD'' in der Anfrage wird ignoriert.
:* Rekursion wird nicht durchgeführt, auch wenn ''RD=1'' gesetzt ist.
:* ''RA'' in der Antwort = 0.
:* ''RD'' wird in der Antwort gespiegelt.  
 
:* ''RA'' in der Antwort = 0.  
== Funktionen ==
 
== Funktionen ==  
=== Rollen ===
 
=== Rollen ===  
==== Primary (Master) ====
* Einzige Quelle für Zonenänderungen.  
==== Primary (Master) ====  
* Verwaltet den beschreibbaren Speicher/das Repository.  
* Einzige Quelle für Zonenänderungen.
* Kann „versteckt” (hidden primary) sein und nicht im NS veröffentlicht werden.
* Verwaltet den beschreibbaren Speicher/das Repository.
* Erhöht die SOA-Serial bei jeder Änderung. Hält Journale für IXFR. Fällt bei Bedarf auf AXFR zurück.
* Kann „versteckt” (hidden primary) sein und nicht im NS veröffentlicht werden.  
* Versendet NOTIFY an Secondaries. Pflegt die Empfängerliste.
* Erhöht die SOA-Serial bei jeder Änderung. Hält Journale für IXFR. Fällt bei Bedarf auf AXFR zurück.  
* Kein Rekursivmodus.
* Versendet NOTIFY an Secondaries. Pflegt die Empfängerliste.  
* In [[BIND]] kann derselbe Server zwar auch rekursiv agieren, jedoch gilt dies als getrennte Funktionsebene
* Kein Rekursivmodus.  
 
* In [[BIND]] kann derselbe Server zwar auch rekursiv agieren, jedoch gilt dies als getrennte Funktionsebene  
; Hidden Primary
* Der primäre Server ist innerhalb der Infrastruktur versteckt, z. B. hinter einer Firewall.
; Hidden Primary  
* Der Secondary-DNS-Server bedient alle DNS-Anfragen wie der Primary-Server und erhält weiterhin alle DNS-Eintrag-Updates vom primären DNS-Server.
* Der primäre Server ist innerhalb der Infrastruktur versteckt, z. B. hinter einer Firewall.  
* Diese Konfiguration wird ausschließlich zur Erhöhung der Sicherheit verwendet.
* Der Secondary-DNS-Server bedient alle DNS-Anfragen wie der Primary-Server und erhält weiterhin alle DNS-Eintrag-Updates vom primären DNS-Server.  
 
* Diese Konfiguration wird ausschließlich zur Erhöhung der Sicherheit verwendet.  
==== Secondary (Slave) ====
* Nur lesbare Replikate.  
==== Secondary (Slave) ====  
* Erhalten Änderungen über AXFR/IXFR. Initiierung über NOTIFY.  
* Nur lesbare Replikate.
* Authentifizierung  über TSIG.
* Erhalten Änderungen über AXFR/IXFR. Initiierung über NOTIFY.
 
* Authentifizierung  über TSIG.  
; Multi-Primary  
* Mehrere Primäre für hohe Verfügbarkeit.  
; Multi-Primary
* Synchronisierung von Serien und Schlüsseln erforderlich.
* Mehrere Primäre für hohe Verfügbarkeit.
 
* Synchronisierung von Serien und Schlüsseln erforderlich.  
; Nur autoritativ
Server, bei dem die Rekursion deaktiviert ist.
; Nur autoritativ  
 
Server, bei dem die Rekursion deaktiviert ist.  
=== Speicherung von DNS-Einträgen ===
 
=== Speicherung von DNS-Einträgen ===  
; Ablageformen
 
; Ablageformen  
 
; RRset-Semantik
 
; RRset-Semantik  
 
; Dynamische Updates (DDNS, RFC 2136)
 
; Dynamische Updates (DDNS, RFC 2136)  
 
=== Verarbeitung von DNS-Anfragen ===
 
=== Verarbeitung von DNS-Anfragen ===  
 
=== Aktualisierung von Informationen ===
 
=== Aktualisierung von Informationen ===  
==== Replikation von Zonen ====  
 
==== Replikation von Zonen ====
Abgestimmtes Kopieren (Replikation) der Zone vom Primärserver auf die Sekundärserver.
 
Abgestimmtes Kopieren (Replikation) der Zone vom Primärserver auf die Sekundärserver.  
* Änderungen an der Zone werden auf dem Primary persistiert. Die SOA-Serial wird erhöht
* Der Primary informiert autorisierte Secondaries per NOTIFY (optional TSIG)
* Änderungen an der Zone werden auf dem Primary persistiert. Die SOA-Serial wird erhöht  
* Secondaries prüfen Absender/TSIG, holen die SOA vom Primary und vergleichen die Serial
* Der Primary informiert autorisierte Secondaries per NOTIFY (optional TSIG)  
* Bei älterer Kopie fordert der Secondary eine Übertragung an:
* Secondaries prüfen Absender/TSIG, holen die SOA vom Primary und vergleichen die Serial  
:* IXFR, wenn Journale/Deltas verfügbar sind. Der Secondary übermittelt seine bekannte Serial.
* Bei älterer Kopie fordert der Secondary eine Übertragung an:  
:* AXFR als Fallback, wenn kein passendes Journal vorhanden ist, das Delta zu groß ist oder IXFR nicht unterstützt wird.
:* IXFR, wenn Journale/Deltas verfügbar sind. Der Secondary übermittelt seine bekannte Serial.  
* Ohne NOTIFY erfolgt die Aktualitätsprüfung nach den SOA-Timern:
:* AXFR als Fallback, wenn kein passendes Journal vorhanden ist, das Delta zu groß ist oder IXFR nicht unterstützt wird.  
:* refresh: Zeitpunkt der nächsten planmäßigen Prüfung beim Primary.
* Ohne NOTIFY erfolgt die Aktualitätsprüfung nach den SOA-Timern:  
:* retry: Intervall für Wiederholungen, falls die Prüfung fehlschlägt.
:* refresh: Zeitpunkt der nächsten planmäßigen Prüfung beim Primary.  
:* expire: maximale Gültigkeitsdauer. Nach Ablauf wird die Zone nicht mehr ausgeliefert.
:* retry: Intervall für Wiederholungen, falls die Prüfung fehlschlägt.  
 
:* expire: maximale Gültigkeitsdauer. Nach Ablauf wird die Zone nicht mehr ausgeliefert.  
 
; SOA serial number
 
; SOA serial number  
* Eindeutige Versionsnummer der DNS-Zone
* Erhöht sich bei jeder Änderung der DNS-Zone
* Eindeutige Versionsnummer der DNS-Zone  
 
* Erhöht sich bei jeder Änderung der DNS-Zone  
; AXFR (RFC 5936)
 
; AXFR (RFC 5936)  
* Vollständige Replikation der Zone
* Funktioniert über TCP
* Vollständige Replikation der Zone  
* Wird für die Erstbefüllung verwendet oder wenn IXFR nicht möglich ist
* Funktioniert über TCP  
* Enthält alle Ressourcensätze der Zone
* Wird für die Erstbefüllung verwendet oder wenn IXFR nicht möglich ist  
 
* Enthält alle Ressourcensätze der Zone  
; IXFR (RFC 1995)
* Inkrementeller Transfer
; IXFR (RFC 1995)  
* Funktioniert über TCP oder UDP
* Inkrementeller Transfer  
* Voraussetzung: Primary führt Journale. Secondary meldet seine letzte Serial
* Erfolgt typischerweise über TCP. UDP ist nur praktikabel, wenn die Antwort in eine einzelne UDP-Nachricht passt. Bei zu großer Antwort wird auf TCP gewechselt.
 
* Voraussetzung: Primary führt Journale. Secondary meldet seine letzte Serial  
 
; NOTIFY (RFC 1996)
* Aktiv-Signal vom Primary an Secondaries
; NOTIFY (RFC 1996)  
* Funktioniert über UDP
* Aktiv-Signal vom Primary an Secondaries  
* Meldet, dass sich die Zone geändert hat
* Funktioniert über UDP  
* Empfänger prüft per SOA-Query die Serial
* Meldet, dass sich die Zone geändert hat  
* Verhindert lange Refresh-Intervalle
* Empfänger prüft per SOA-Query die Serial  
 
* Verhindert lange Refresh-Intervalle  
; TSIG (Transaction SIGnature)
 
; TSIG (Transaction SIGnature)  
* Protokoll zur Gewährleistung der Sicherheit und Authentifizierung von Daten im DNS
* Fügt Nachrichten eine digitale Signatur hinzu
* Protokoll zur Gewährleistung der Sicherheit und Authentifizierung von Daten im DNS  
* Verwendet eine kryptografische Signatur auf Basis eines geheimen Schlüssels, der sowohl dem sendenden als auch dem empfangenden Server bekannt ist
* Fügt Nachrichten eine digitale Signatur hinzu  
* Das TSIG-Protokoll wird von allen gängigen DNS-Servern unterstützt:
* Verwendet eine kryptografische Signatur auf Basis eines geheimen Schlüssels, der sowohl dem sendenden als auch dem empfangenden Server bekannt ist  
NSD, PowerDNS, Knot und BIND.
* Das TSIG-Protokoll wird von allen gängigen DNS-Servern unterstützt:  
 
NSD, PowerDNS, Knot und BIND.  
 
; Protokollierung
 
; Protokollierung  
=== DNS-Zone ===
 
=== DNS-Zone ===  
==== Namensraum und Delegation ====
 
==== Namensraum und Delegation ====  
'''Eine DNS-Zone''' ist die Verwaltungseinheit für einen zusammenhängenden Teil des DNS-Namensraums. Sie definiert, für welche Namen ein autoritativer Server zuständig ist und autoritative Antworten liefern kann.
 
'''Eine DNS-Zone''' ist die Verwaltungseinheit für einen zusammenhängenden Teil des DNS-Namensraums. Sie definiert, für welche Namen ein autoritativer Server zuständig ist und autoritative Antworten liefern kann.  
* Eine Zone wird durch eine eigene ''SOA''- und ''NS''-Ressourcensatzgruppe beschrieben.
* Die Grenze einer Zone wird durch Delegationen markiert:
* Eine Zone wird durch eine eigene ''SOA''- und ''NS''-Ressourcensatzgruppe beschrieben.  
** In der übergeordneten Zone existieren nur die ''NS''-Records der Child-Zone sowie ggf. Glue-Records (''A/AAAA'') für deren Nameserver.
* Die Grenze einer Zone wird durch Delegationen markiert:  
** Die eigentlichen Daten der Child-Zone werden ausschließlich in der Zone der Child-Zone geführt.
** In der übergeordneten Zone existieren nur die ''NS''-Records der Child-Zone sowie ggf. Glue-Records (''A/AAAA'') für deren Nameserver.  
* Für alle Namen innerhalb der Zone, die nicht in eine Subzone delegiert sind, liefert der autoritative Server Daten oder negative Antworten (''NXDOMAIN''/''NODATA'') mit gesetztem ''AA''-Flag.
** Die eigentlichen Daten der Child-Zone werden ausschließlich in der Zone der Child-Zone geführt.  
* Ein Nameserver kann mehrere Zonen bedienen. Bei der Anfrageverarbeitung wird immer die Zone mit dem längsten passenden Suffix ausgewählt (Longest-Match-Regel), z.B. für ''www.sub.example.com.'':
* Für alle Namen innerhalb der Zone, die nicht in eine Subzone delegiert sind, liefert der autoritative Server Daten oder negative Antworten (''NXDOMAIN''/''NODATA'') mit gesetztem ''AA''-Flag.  
** existieren die Zonen ''example.com.'' und ''sub.example.com.'', ist ''sub.example.com.'' zuständig.
* Ein Nameserver kann mehrere Zonen bedienen. Bei der Anfrageverarbeitung wird immer die Zone mit dem längsten passenden Suffix ausgewählt (Longest-Match-Regel), z.B. für ''www.sub.example.com.'':  
** existiert nur ''example.com.'', beantwortet diese Zone die Anfrage oder liefert ''NXDOMAIN''/''NODATA''.
** existieren die Zonen ''example.com.'' und ''sub.example.com.'', ist ''sub.example.com.'' zuständig.  
 
** existiert nur ''example.com.'', beantwortet diese Zone die Anfrage oder liefert ''NXDOMAIN''/''NODATA''.  
Begrifflich ist zu unterscheiden:
 
Begrifflich ist zu unterscheiden:  
* ''Domain'': Knoten oder Teilbaum im hierarchischen Namensraum.
* ''Zone'': tatsächlich verwalteter Ausschnitt mit eigener ''SOA'' und ''NS''-Satz. Eine Zone kann eine oder mehrere Domains umfassen.
* ''Domain'': Knoten oder Teilbaum im hierarchischen Namensraum.  
 
* ''Zone'': tatsächlich verwalteter Ausschnitt mit eigener ''SOA'' und ''NS''-Satz. Eine Zone kann eine oder mehrere Domains umfassen.  
 
==== SOA ====
Der SOA-Record markiert den Beginn der Zone (Zonenapex) und enthält Verwaltungsinformationen für Zonentransfers und Caching.
==== SOA ====  
* Es gibt genau einen SOA-Record pro Zone. Sein Name entspricht dem Zonenapex (z. B. ''example.com.'')
Der SOA-Record markiert den Beginn der Zone (Zonenapex) und enthält Verwaltungsinformationen für Zonentransfers und Caching.  
* Typischer Aufbau (bind9):
* Es gibt genau einen SOA-Record pro Zone. Sein Name entspricht dem Zonenapex (z. B. ''example.com.'')  
<syntaxhighlight lang="ini" highlight="" line>
* Typischer Aufbau (bind9):  
  example.com. 3600 IN SOA ns1.example.com. hostmaster.example.com. (
<syntaxhighlight lang="ini" highlight="" line>  
   2025112101 ; Serial
  example.com. 3600 IN SOA ns1.example.com. hostmaster.example.com. (  
   7200      ; Refresh
   2025112101 ; Serial  
   3600      ; Retry
   7200      ; Refresh  
   1209600    ; Expire
   3600      ; Retry  
   3600      ; Minimum / Negative TTL
   1209600    ; Expire  
  )
   3600      ; Minimum / Negative TTL  
</syntaxhighlight>
  )  
{| class="wikitable options big"
</syntaxhighlight>  
! Feld
{| class="wikitable options big"  
! Wert
! Feld  
! Beschreibung
! Wert  
|-
! Beschreibung  
| Name (Owner)
|-  
| ''example.com.''
| Name (Owner)  
| Zonenapex (Wurzel) der Zone, zu der der SOA-Eintrag gehört.
| ''example.com.''  
|-
| Zonenapex (Wurzel) der Zone, zu der der SOA-Eintrag gehört.  
| TTL
|-  
| ''3600''
| TTL  
| Lebensdauer des SOA-Eintrags im Cache in Sekunden.
| ''3600''  
|-
| Lebensdauer des SOA-Eintrags im Cache in Sekunden.  
| Klasse
|-  
| ''IN''
| Klasse  
| Protokollklasse. Für das Internet immer ''IN''.
| ''IN''  
|-
| Protokollklasse. Für das Internet immer ''IN''.  
| Typ
|-  
| ''SOA''
| Typ  
| Record-Typ. ''Start of Authority'', Beginn der Zone und ihre Metadaten.
| ''SOA''  
|-
| Record-Typ. ''Start of Authority'', Beginn der Zone und ihre Metadaten.  
| MNAME
|-  
| ''ns1.example.com.''
| MNAME  
| Name des primären autoritativen Nameservers für die Zone.
| ''ns1.example.com.''  
|-
| Name des primären autoritativen Nameservers für die Zone.  
| RNAME
|-  
| ''hostmaster.example.com.''
| RNAME  
| Kontaktadresse des Zonenadministrators als Mailadresse mit Punkt statt ''@''.
| ''hostmaster.example.com.''  
|-
| Kontaktadresse des Zonenadministrators als Mailadresse mit Punkt statt ''@''.  
| Serial
|-  
| ''2025112101''
| Serial  
| Seriennummer der Zone. Wird bei jeder inhaltlichen Änderung erhöht und von Secondary-Servern zum Versionsvergleich verwendet. Häufig wird das Format YYYYMMDDNN verwendet, wobei NN die Änderungsnummer für den heutigen Tag ist.
| ''2025112101''  
|-
| Seriennummer der Zone. Wird bei jeder inhaltlichen Änderung erhöht und von Secondary-Servern zum Versionsvergleich verwendet. Häufig wird das Format YYYYMMDDNN verwendet, wobei NN die Änderungsnummer für den heutigen Tag ist.  
| Refresh
|-  
| ''7200''
| Refresh  
| Intervall in Sekunden, nach dem ein Secondary den SOA des Masters erneut abfragen soll.
| ''7200''  
|-
| Intervall in Sekunden, nach dem ein Secondary den SOA des Masters erneut abfragen soll.  
| Retry
|-  
| ''3600''
| Retry  
| Wartezeit in Sekunden, bevor ein fehlgeschlagener Refresh zum Master erneut versucht wird.
| ''3600''  
|-
| Wartezeit in Sekunden, bevor ein fehlgeschlagener Refresh zum Master erneut versucht wird.  
| Expire
|-  
| ''1209600''
| Expire  
| Maximale Zeit in Sekunden, während der ein Secondary alte Zonendaten verwenden darf, wenn der Master nicht erreichbar ist. Nach Ablauf gilt die Zone als ungültig.
| ''1209600''  
|-
| Maximale Zeit in Sekunden, während der ein Secondary alte Zonendaten verwenden darf, wenn der Master nicht erreichbar ist. Nach Ablauf gilt die Zone als ungültig.  
| Negative TTL
|-  
| ''3600''
| Negative TTL  
| Maximale Dauer in Sekunden, für die negative Antworten ''NXDOMAIN''/''NODATA'' gecacht werden dürfen gemäß RFC 2308. Wird als Minimum aus diesem Wert und der TTL des SOA-Records verwendet.
| ''3600''  
|}
| Maximale Dauer in Sekunden, für die negative Antworten ''NXDOMAIN''/''NODATA'' gecacht werden dürfen gemäß RFC 2308. Wird als Minimum aus diesem Wert und der TTL des SOA-Records verwendet.  
 
|}  
;Hinweis
: In der Zonendatei werden die Zeitwerte intern immer in Sekunden gespeichert und im Protokoll auch so übertragen.
;Hinweis  
:* Für die Lesbarkeit können die Felder wie ''Refresh'', ''Retry'', ''Expire'', ''Minimum/Negative TTL'' sowie die allgemeine ''$TTL'' aber mit Zeiteinheiten angegeben werden, z. B. ''3600'', ''1h'', ''60m'', ''1d'' oder ''2w''.
: In der Zonendatei werden die Zeitwerte intern immer in Sekunden gespeichert und im Protokoll auch so übertragen.  
:* Der Nameserver rechnet diese Angaben beim Einlesen der Zone automatisch in Sekunden um.
:* Für die Lesbarkeit können die Felder wie ''Refresh'', ''Retry'', ''Expire'', ''Minimum/Negative TTL'' sowie die allgemeine ''$TTL'' aber mit Zeiteinheiten angegeben werden, z. B. ''3600'', ''1h'', ''60m'', ''1d'' oder ''2w''.  
 
:* Der Nameserver rechnet diese Angaben beim Einlesen der Zone automatisch in Sekunden um.  
 
 
==== NS ====
 
==== NS ====  
; Negative Caching (RFC 2308)
 
; Negative Caching (RFC 2308)  
=== Transport ===
 
=== Transport ===  
==== UDP ====
 
==== UDP ====  
==== TCP ====
 
==== TCP ====  
 
 
=== DNSSEC ===
=== DNSSEC ===
; KSK,ZSK
; KSK,ZSK
 
; CSK
; CSK
 
; NSEC, NSEC3
; NSEC, NSEC3
 
=== Negative Antworten ===
=== Negative Antworten ===
 
=== NXDOMAIN ===
=== NXDOMAIN ===
 
=== NOERROR ===
=== NOERROR ===
 
=== NODATA ===
=== NODATA ===
 
 
;SOA.MINIMUM
;SOA.MINIMUM
 
;TTL
;TTL
 
 
<noinclude>
<noinclude>
== Anhang ==
== Anhang ==

Version vom 15. Dezember 2025, 17:05 Uhr

Domain Name System/Server/Autoritative - Autoritativer Server

Beschreibung

Die Hauptaufgabe eines autoritativen Servers: Speicherung und Veröffentlichung autoritativer Daten

  • Speichert eine oder mehrere DNS-Zonen. Quelle der autoritativen Daten für diese Zonen
Abgrenzung zum Rekursiven Server
  • Der autoritative Server speichert keine Cache-Daten fremder Domains und greift nicht nach außen.
  • Gibt nur Antworten für eigene Zonen und Delegationen zurück. Für Namen außerhalb der Zuständigkeit erfolgt typischerweise REFUSED. Negative Antworten innerhalb der autoritativen Zone sind NXDOMAIN oder NODATA.
  • Der ausgehende Datenverkehr ist auf den Dienstverkehr beschränkt. AXFR/IXFR zum Master. NOTIFY zu den Slaves.
  • Führt keine Rekursion durch.
  • Rekursion wird nicht durchgeführt, auch wenn RD=1 gesetzt ist.
  • RD wird in der Antwort gespiegelt.
  • RA in der Antwort = 0.

Funktionen

Rollen

Primary (Master)

  • Einzige Quelle für Zonenänderungen.
  • Verwaltet den beschreibbaren Speicher/das Repository.
  • Kann „versteckt” (hidden primary) sein und nicht im NS veröffentlicht werden.
  • Erhöht die SOA-Serial bei jeder Änderung. Hält Journale für IXFR. Fällt bei Bedarf auf AXFR zurück.
  • Versendet NOTIFY an Secondaries. Pflegt die Empfängerliste.
  • Kein Rekursivmodus.
  • In BIND kann derselbe Server zwar auch rekursiv agieren, jedoch gilt dies als getrennte Funktionsebene
Hidden Primary
  • Der primäre Server ist innerhalb der Infrastruktur versteckt, z. B. hinter einer Firewall.
  • Der Secondary-DNS-Server bedient alle DNS-Anfragen wie der Primary-Server und erhält weiterhin alle DNS-Eintrag-Updates vom primären DNS-Server.
  • Diese Konfiguration wird ausschließlich zur Erhöhung der Sicherheit verwendet.

Secondary (Slave)

  • Nur lesbare Replikate.
  • Erhalten Änderungen über AXFR/IXFR. Initiierung über NOTIFY.
  • Authentifizierung über TSIG.
Multi-Primary
  • Mehrere Primäre für hohe Verfügbarkeit.
  • Synchronisierung von Serien und Schlüsseln erforderlich.
Nur autoritativ

Server, bei dem die Rekursion deaktiviert ist.

Speicherung von DNS-Einträgen

Ablageformen


RRset-Semantik


Dynamische Updates (DDNS, RFC 2136)


Verarbeitung von DNS-Anfragen

Aktualisierung von Informationen

Replikation von Zonen

Abgestimmtes Kopieren (Replikation) der Zone vom Primärserver auf die Sekundärserver.

  • Änderungen an der Zone werden auf dem Primary persistiert. Die SOA-Serial wird erhöht
  • Der Primary informiert autorisierte Secondaries per NOTIFY (optional TSIG)
  • Secondaries prüfen Absender/TSIG, holen die SOA vom Primary und vergleichen die Serial
  • Bei älterer Kopie fordert der Secondary eine Übertragung an:
  • IXFR, wenn Journale/Deltas verfügbar sind. Der Secondary übermittelt seine bekannte Serial.
  • AXFR als Fallback, wenn kein passendes Journal vorhanden ist, das Delta zu groß ist oder IXFR nicht unterstützt wird.
  • Ohne NOTIFY erfolgt die Aktualitätsprüfung nach den SOA-Timern:
  • refresh: Zeitpunkt der nächsten planmäßigen Prüfung beim Primary.
  • retry: Intervall für Wiederholungen, falls die Prüfung fehlschlägt.
  • expire: maximale Gültigkeitsdauer. Nach Ablauf wird die Zone nicht mehr ausgeliefert.


SOA serial number
  • Eindeutige Versionsnummer der DNS-Zone
  • Erhöht sich bei jeder Änderung der DNS-Zone
AXFR (RFC 5936)
  • Vollständige Replikation der Zone
  • Funktioniert über TCP
  • Wird für die Erstbefüllung verwendet oder wenn IXFR nicht möglich ist
  • Enthält alle Ressourcensätze der Zone
IXFR (RFC 1995)
  • Inkrementeller Transfer
  • Erfolgt typischerweise über TCP. UDP ist nur praktikabel, wenn die Antwort in eine einzelne UDP-Nachricht passt. Bei zu großer Antwort wird auf TCP gewechselt.
  • Voraussetzung: Primary führt Journale. Secondary meldet seine letzte Serial


NOTIFY (RFC 1996)
  • Aktiv-Signal vom Primary an Secondaries
  • Funktioniert über UDP
  • Meldet, dass sich die Zone geändert hat
  • Empfänger prüft per SOA-Query die Serial
  • Verhindert lange Refresh-Intervalle
TSIG (Transaction SIGnature)
  • Protokoll zur Gewährleistung der Sicherheit und Authentifizierung von Daten im DNS
  • Fügt Nachrichten eine digitale Signatur hinzu
  • Verwendet eine kryptografische Signatur auf Basis eines geheimen Schlüssels, der sowohl dem sendenden als auch dem empfangenden Server bekannt ist
  • Das TSIG-Protokoll wird von allen gängigen DNS-Servern unterstützt:

NSD, PowerDNS, Knot und BIND.


Protokollierung

DNS-Zone

Namensraum und Delegation

Eine DNS-Zone ist die Verwaltungseinheit für einen zusammenhängenden Teil des DNS-Namensraums. Sie definiert, für welche Namen ein autoritativer Server zuständig ist und autoritative Antworten liefern kann.

  • Eine Zone wird durch eine eigene SOA- und NS-Ressourcensatzgruppe beschrieben.
  • Die Grenze einer Zone wird durch Delegationen markiert:
    • In der übergeordneten Zone existieren nur die NS-Records der Child-Zone sowie ggf. Glue-Records (A/AAAA) für deren Nameserver.
    • Die eigentlichen Daten der Child-Zone werden ausschließlich in der Zone der Child-Zone geführt.
  • Für alle Namen innerhalb der Zone, die nicht in eine Subzone delegiert sind, liefert der autoritative Server Daten oder negative Antworten (NXDOMAIN/NODATA) mit gesetztem AA-Flag.
  • Ein Nameserver kann mehrere Zonen bedienen. Bei der Anfrageverarbeitung wird immer die Zone mit dem längsten passenden Suffix ausgewählt (Longest-Match-Regel), z.B. für www.sub.example.com.:
    • existieren die Zonen example.com. und sub.example.com., ist sub.example.com. zuständig.
    • existiert nur example.com., beantwortet diese Zone die Anfrage oder liefert NXDOMAIN/NODATA.

Begrifflich ist zu unterscheiden:

  • Domain: Knoten oder Teilbaum im hierarchischen Namensraum.
  • Zone: tatsächlich verwalteter Ausschnitt mit eigener SOA und NS-Satz. Eine Zone kann eine oder mehrere Domains umfassen.


SOA

Der SOA-Record markiert den Beginn der Zone (Zonenapex) und enthält Verwaltungsinformationen für Zonentransfers und Caching.

  • Es gibt genau einen SOA-Record pro Zone. Sein Name entspricht dem Zonenapex (z. B. example.com.)
  • Typischer Aufbau (bind9):
 
 example.com. 3600 IN SOA ns1.example.com. hostmaster.example.com. ( 
   2025112101 ; Serial 
   7200       ; Refresh 
   3600       ; Retry 
   1209600    ; Expire 
   3600       ; Minimum / Negative TTL 
 )
Feld Wert Beschreibung
Name (Owner) example.com. Zonenapex (Wurzel) der Zone, zu der der SOA-Eintrag gehört.
TTL 3600 Lebensdauer des SOA-Eintrags im Cache in Sekunden.
Klasse IN Protokollklasse. Für das Internet immer IN.
Typ SOA Record-Typ. Start of Authority, Beginn der Zone und ihre Metadaten.
MNAME ns1.example.com. Name des primären autoritativen Nameservers für die Zone.
RNAME hostmaster.example.com. Kontaktadresse des Zonenadministrators als Mailadresse mit Punkt statt @.
Serial 2025112101 Seriennummer der Zone. Wird bei jeder inhaltlichen Änderung erhöht und von Secondary-Servern zum Versionsvergleich verwendet. Häufig wird das Format YYYYMMDDNN verwendet, wobei NN die Änderungsnummer für den heutigen Tag ist.
Refresh 7200 Intervall in Sekunden, nach dem ein Secondary den SOA des Masters erneut abfragen soll.
Retry 3600 Wartezeit in Sekunden, bevor ein fehlgeschlagener Refresh zum Master erneut versucht wird.
Expire 1209600 Maximale Zeit in Sekunden, während der ein Secondary alte Zonendaten verwenden darf, wenn der Master nicht erreichbar ist. Nach Ablauf gilt die Zone als ungültig.
Negative TTL 3600 Maximale Dauer in Sekunden, für die negative Antworten NXDOMAIN/NODATA gecacht werden dürfen gemäß RFC 2308. Wird als Minimum aus diesem Wert und der TTL des SOA-Records verwendet.
Hinweis
In der Zonendatei werden die Zeitwerte intern immer in Sekunden gespeichert und im Protokoll auch so übertragen.
  • Für die Lesbarkeit können die Felder wie Refresh, Retry, Expire, Minimum/Negative TTL sowie die allgemeine $TTL aber mit Zeiteinheiten angegeben werden, z. B. 3600, 1h, 60m, 1d oder 2w.
  • Der Nameserver rechnet diese Angaben beim Einlesen der Zone automatisch in Sekunden um.


NS

Negative Caching (RFC 2308)

Transport

UDP

TCP

DNSSEC

KSK,ZSK
CSK
NSEC, NSEC3

Negative Antworten

NXDOMAIN

NOERROR

NODATA

SOA.MINIMUM
TTL


Anhang

Siehe auch



Dokumentation

Links

Projekt

Weblinks