Zum Inhalt springen

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

Aus Foxwiki
DanielZorin (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
 
(3 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt)
Zeile 3: Zeile 3:
== Beschreibung ==
== Beschreibung ==


Die Hauptaufgabe eines rekursiven DNS-Servers besteht darin, '''einen Domainnamen in eine IP-Adresse umzuwandeln''', indem alle erforderlichen Suchschritte durchgeführt und dem Client eine Antwort gegeben werden.
* Bearbeitet die Anfrage des Kunden vollständig
* Wendet sich selbstständig an andere DNS-Server (Root-, TLD- und autoritative Server), um die gewünschte IP-Adresse zu finden
* Gibt dem Kunden eine endgültige Antwort zurück
== Funktionsweise ==
# Der Server erhält eine Anfrage vom Client (z. B. einem Browser) zur Übersetzung eines Domainnamens in eine IP-Adresse.
# Zunächst überprüft er seinen Cache-Speicher. Wenn die Informationen gefunden werden, sendet der Server sie sofort an den Client zurück.
# Wenn die Daten nicht im Cache vorhanden sind, startet der Server eine vollständige Suche:
#:* Zunächst wendet er sich an den Root-Server.
#:* Der Root-Server leitet ihn an den Server für Top-Level-Domains (TLD) weiter.
#:* Der TLD-Server verweist auf den autoritativen DNS-Server, der die erforderlichen Informationen über die Domain enthält.
# Der autoritative Server sendet die IP-Adresse an den rekursiven Server zurück.
# Der rekursive Server sendet diese IP-Adresse an den Client zurück, damit dieser eine Verbindung zur gewünschten Website herstellen kann.
== Manual ==
Um den Resolving-Prozess bei fehlenden Daten im DNS-Cache zu veranschaulichen, wird im Folgenden die Methode des manuellen rekursiven Resolving der Domain '''drive.google.com''' mit Hilfe von '''nslookup''' gezeigt.
1.nbsp;Zunächst muss die Liste der Root-Server (Root-Hints) präzisiert werden. Der Parameter ''-q'' gibt den Typ der Anfrage an, und `.` bedeutet die Root-Domäne.
<syntaxhighlight lang="bash" highlight="1" copy line">
nslookup -q=ns .
</syntaxhighlight>
: Ausgang:
<syntaxhighlight lang="console" highlight="" line>
.      nameserver = l.root-servers.net.
.      nameserver = m.root-servers.net.
.      nameserver = a.root-servers.net.
.      nameserver = b.root-servers.net.
.      nameserver = c.root-servers.net.
.      nameserver = d.root-servers.net.
.      nameserver = e.root-servers.net.
.      nameserver = f.root-servers.net.
.      nameserver = g.root-servers.net.
.      nameserver = h.root-servers.net.
.      nameserver = i.root-servers.net.
.      nameserver = j.root-servers.net.
.      nameserver = k.root-servers.net.
d.root-servers.net      internet address = 199.7.91.13
d.root-servers.net      internet address = 199.7.91.13
</syntaxhighlight>
* Die Antwort ist nicht autoritativ, da die Anfrage in diesem Fall an einen rekursiven DNS-Server (der Standard-DNS im System, auf dem nslookup ausgeführt wird) gesendet wird.
2.&nbsp;Als Nächstes müssen Sie von einem der Root-Hints den Namen des Servers erfahren, der die Zone ''.com'' bedient:
<syntaxhighlight lang="bash" highlight="1" copy line">
nslookup -q=ns com d.root-servers.net.
</syntaxhighlight>
: Ausgang:
<syntaxhighlight lang="console" highlight="" copy line">
Server:        d.root-servers.net.
Address:        199.7.91.13#53
Non-authoritative answer:
*** Can't find com: No answer
Authoritative answers can be found from:
com    nameserver = a.gtld-servers.net.
com    nameserver = b.gtld-servers.net.
com    nameserver = c.gtld-servers.net.
com    nameserver = d.gtld-servers.net.
com    nameserver = e.gtld-servers.net.
com    nameserver = f.gtld-servers.net.
com    nameserver = g.gtld-servers.net.
com    nameserver = h.gtld-servers.net.
com    nameserver = i.gtld-servers.net.
com    nameserver = j.gtld-servers.net.
com    nameserver = k.gtld-servers.net.
com    nameserver = l.gtld-servers.net.
com    nameserver = m.gtld-servers.net.
a.gtld-servers.net      internet address = 192.5.6.30
b.gtld-servers.net      internet address = 192.33.14.30
c.gtld-servers.net      internet address = 192.26.92.30
d.gtld-servers.net      internet address = 192.31.80.30
e.gtld-servers.net      internet address = 192.12.94.30
f.gtld-servers.net      internet address = 192.35.51.30
g.gtld-servers.net      internet address = 192.42.93.30
h.gtld-servers.net      internet address = 192.54.112.30
i.gtld-servers.net      internet address = 192.43.172.30
j.gtld-servers.net      internet address = 192.48.79.30
k.gtld-servers.net      internet address = 192.52.178.30
l.gtld-servers.net      internet address = 192.41.162.30
m.gtld-servers.net      internet address = 192.55.83.30
a.gtld-servers.net      has AAAA address 2001:503:a83e::2:30
b.gtld-servers.net      has AAAA address 2001:503:231d::2:30
</syntaxhighlight>
3. Nun müssen Sie sich an einen beliebigen Server wenden, der die Zone ''.com'' bedient, um eine Liste der DNS-Server zu erhalten, die die Domain ''google.com'' bedienen.
<syntaxhighlight lang="bash" highlight="1" copy line">
nslookup -q=ns google.com f.gtld-servers.net.
</syntaxhighlight>
: Ausgang:
<syntaxhighlight lang="console" highlight="" copy line">
Non-authoritative answer:
*** Can't find google.com: No answer
Authoritative answers can be found from:
google.com      nameserver = ns2.google.com.
google.com      nameserver = ns1.google.com.
google.com      nameserver = ns3.google.com.
google.com      nameserver = ns4.google.com.
ns2.google.com  has AAAA address 2001:4860:4802:34::a
ns2.google.com  internet address = 216.239.34.10
ns1.google.com  has AAAA address 2001:4860:4802:32::a
ns1.google.com  internet address = 216.239.32.10
ns3.google.com  has AAAA address 2001:4860:4802:36::a
ns3.google.com  internet address = 216.239.36.10
ns4.google.com  has AAAA address 2001:4860:4802:38::a
ns4.google.com  internet address = 216.239.38.10
</syntaxhighlight>
4.&nbsp;Schließlich muss noch eine direkte, nicht rekursive A-Eintrag-Abfrage für ''drive.google.com'' durchgeführt werden.
<syntaxhighlight lang="bash" highlight="1" copy line">
nslookup -q=A -norecurse drive.google.com ns1.google.com.
</syntaxhighlight>
: Ausgang:
<syntaxhighlight lang="console" highlight="" copy line">
Server:        ns1.google.com.
Address:        216.239.32.10#53
Name:  wide-docs.l.google.com
Address: 64.233.161.194
drive.google.com        canonical name = wide-docs.l.google.com.
</syntaxhighlight>





Aktuelle Version vom 18. November 2025, 17:54 Uhr

Domain Name System/Server/Rekursiv - Beschreibung

Beschreibung

Die Hauptaufgabe eines rekursiven DNS-Servers besteht darin, einen Domainnamen in eine IP-Adresse umzuwandeln, indem alle erforderlichen Suchschritte durchgeführt und dem Client eine Antwort gegeben werden.

  • Bearbeitet die Anfrage des Kunden vollständig
  • Wendet sich selbstständig an andere DNS-Server (Root-, TLD- und autoritative Server), um die gewünschte IP-Adresse zu finden
  • Gibt dem Kunden eine endgültige Antwort zurück

Funktionsweise

  1. Der Server erhält eine Anfrage vom Client (z. B. einem Browser) zur Übersetzung eines Domainnamens in eine IP-Adresse.
  2. Zunächst überprüft er seinen Cache-Speicher. Wenn die Informationen gefunden werden, sendet der Server sie sofort an den Client zurück.
  3. Wenn die Daten nicht im Cache vorhanden sind, startet der Server eine vollständige Suche:
    • Zunächst wendet er sich an den Root-Server.
    • Der Root-Server leitet ihn an den Server für Top-Level-Domains (TLD) weiter.
    • Der TLD-Server verweist auf den autoritativen DNS-Server, der die erforderlichen Informationen über die Domain enthält.
  4. Der autoritative Server sendet die IP-Adresse an den rekursiven Server zurück.
  5. Der rekursive Server sendet diese IP-Adresse an den Client zurück, damit dieser eine Verbindung zur gewünschten Website herstellen kann.


Manual

Um den Resolving-Prozess bei fehlenden Daten im DNS-Cache zu veranschaulichen, wird im Folgenden die Methode des manuellen rekursiven Resolving der Domain drive.google.com mit Hilfe von nslookup gezeigt.

1.nbsp;Zunächst muss die Liste der Root-Server (Root-Hints) präzisiert werden. Der Parameter -q gibt den Typ der Anfrage an, und `.` bedeutet die Root-Domäne.

nslookup -q=ns .
Ausgang:
.       nameserver = l.root-servers.net.
.       nameserver = m.root-servers.net.
.       nameserver = a.root-servers.net.
.       nameserver = b.root-servers.net.
.       nameserver = c.root-servers.net.
.       nameserver = d.root-servers.net.
.       nameserver = e.root-servers.net.
.       nameserver = f.root-servers.net.
.       nameserver = g.root-servers.net.
.       nameserver = h.root-servers.net.
.       nameserver = i.root-servers.net.
.       nameserver = j.root-servers.net.
.       nameserver = k.root-servers.net.
d.root-servers.net      internet address = 199.7.91.13
d.root-servers.net      internet address = 199.7.91.13
  • Die Antwort ist nicht autoritativ, da die Anfrage in diesem Fall an einen rekursiven DNS-Server (der Standard-DNS im System, auf dem nslookup ausgeführt wird) gesendet wird.

2. Als Nächstes müssen Sie von einem der Root-Hints den Namen des Servers erfahren, der die Zone .com bedient:

nslookup -q=ns com d.root-servers.net.
Ausgang:
Server:         d.root-servers.net.
Address:        199.7.91.13#53

Non-authoritative answer:
*** Can't find com: No answer

Authoritative answers can be found from:
com     nameserver = a.gtld-servers.net.
com     nameserver = b.gtld-servers.net.
com     nameserver = c.gtld-servers.net.
com     nameserver = d.gtld-servers.net.
com     nameserver = e.gtld-servers.net.
com     nameserver = f.gtld-servers.net.
com     nameserver = g.gtld-servers.net.
com     nameserver = h.gtld-servers.net.
com     nameserver = i.gtld-servers.net.
com     nameserver = j.gtld-servers.net.
com     nameserver = k.gtld-servers.net.
com     nameserver = l.gtld-servers.net.
com     nameserver = m.gtld-servers.net.
a.gtld-servers.net      internet address = 192.5.6.30
b.gtld-servers.net      internet address = 192.33.14.30
c.gtld-servers.net      internet address = 192.26.92.30
d.gtld-servers.net      internet address = 192.31.80.30
e.gtld-servers.net      internet address = 192.12.94.30
f.gtld-servers.net      internet address = 192.35.51.30
g.gtld-servers.net      internet address = 192.42.93.30
h.gtld-servers.net      internet address = 192.54.112.30
i.gtld-servers.net      internet address = 192.43.172.30
j.gtld-servers.net      internet address = 192.48.79.30
k.gtld-servers.net      internet address = 192.52.178.30
l.gtld-servers.net      internet address = 192.41.162.30
m.gtld-servers.net      internet address = 192.55.83.30
a.gtld-servers.net      has AAAA address 2001:503:a83e::2:30
b.gtld-servers.net      has AAAA address 2001:503:231d::2:30

3. Nun müssen Sie sich an einen beliebigen Server wenden, der die Zone .com bedient, um eine Liste der DNS-Server zu erhalten, die die Domain google.com bedienen.

nslookup -q=ns google.com f.gtld-servers.net.
Ausgang:
Non-authoritative answer:
*** Can't find google.com: No answer

Authoritative answers can be found from:
google.com      nameserver = ns2.google.com.
google.com      nameserver = ns1.google.com.
google.com      nameserver = ns3.google.com.
google.com      nameserver = ns4.google.com.
ns2.google.com  has AAAA address 2001:4860:4802:34::a
ns2.google.com  internet address = 216.239.34.10
ns1.google.com  has AAAA address 2001:4860:4802:32::a
ns1.google.com  internet address = 216.239.32.10
ns3.google.com  has AAAA address 2001:4860:4802:36::a
ns3.google.com  internet address = 216.239.36.10
ns4.google.com  has AAAA address 2001:4860:4802:38::a
ns4.google.com  internet address = 216.239.38.10

4. Schließlich muss noch eine direkte, nicht rekursive A-Eintrag-Abfrage für drive.google.com durchgeführt werden.

nslookup -q=A -norecurse drive.google.com ns1.google.com.
Ausgang:
Server:         ns1.google.com.
Address:        216.239.32.10#53

Name:   wide-docs.l.google.com
Address: 64.233.161.194
drive.google.com        canonical name = wide-docs.l.google.com.



Anhang

Siehe auch



Dokumentation

Links

Projekt

Weblinks