Hetzner - DokuWiki

DNS Reverse Lookups im Detail

Inhaltsverzeichnis

Reverse DNS im Detail


Inhalt

In diesem Artikel werden die genauen Abläufe bei Reverse DNS Abfragen erklärt.

Reverse DNS Abfragen ermitteln den Hostnamen zu einer IP-Adresse, "normale" Abfragen ermitteln dagegen die IP-Adresse zu einem Hostnamen (also anders herum).

Wichtig für diese Abfragen sind neben A-Records die sogenannten PTR-Records (Pointer; Reverse-Einträge) sowie die spezielle Domain "in-addr.arpa".

Ablauf

Beispiel: Wir wissen, dass "forum.hetzner.de" die IP-Adresse "213.133.106.33" hat, gilt das aber auch anders herum?

Client --> Nameserver

Der Arbeitsplatz sendet an den Nameserver eine Anfrage nach dem PTR-Record zur IP-Adresse "213.133.106.33".

Dazu werden die 4 Teile der IP-Adresse in umgekehrter Reihenfolge platziert und die Domain "in-addr.arpa" angehängt:

  213.133.106.33
        |
        |
        V
  33.106.133.213
        |
        |
        V
  33.106.133.213.in-addr.arpa

Beispiel für die Abfrage mit dem Tool "dig":

  dig @213.133.100.100 33.106.133.213.in-addr.arpa ptr


Nameserver --> Rootserver

Jetzt funktioniert die Abfrage wie in DNS_Nameserverabfrage beschrieben, nur mit dem Typ PTR:

  dig @198.32.64.12 33.106.133.213.in-addr.arpa ptr

Antwort:

  ;; QUESTION SECTION:
  ;33.106.133.213.in-addr.arpa.   IN      PTR
  
  ;; AUTHORITY SECTION:
  213.in-addr.arpa.       86400   IN      NS      NS3.NIC.FR.
  213.in-addr.arpa.       86400   IN      NS      SEC1.APNIC.NET.
  213.in-addr.arpa.       86400   IN      NS      SEC3.APNIC.NET.
  213.in-addr.arpa.       86400   IN      NS      SUNIC.SUNET.SE.
  213.in-addr.arpa.       86400   IN      NS      AUTH00.NS.UU.NET.
  213.in-addr.arpa.       86400   IN      NS      NS-PRI.RIPE.NET.
  213.in-addr.arpa.       86400   IN      NS      TINNIE.ARIN.NET.
  
  ;; ADDITIONAL SECTION:
  NS3.NIC.FR.             172800  IN      A       192.134.0.49
  SEC1.APNIC.NET.         172800  IN      A       202.12.29.59
  SEC3.APNIC.NET.         172800  IN      AAAA    2001:dc0:1:0:4777::140
  SEC3.APNIC.NET.         172800  IN      A       202.12.28.140
  SUNIC.SUNET.SE.         172800  IN      A       192.36.125.2
  AUTH00.NS.UU.NET.       172800  IN      A       198.6.1.65

Interessant: Es wurden gleich vom Root-Server die zuständigen Nameserver für die Domain "213.in-addr.arpa" statt der erwarteten Infos für die TLD "arpa" genannt, eine Abfrage nach "in-addr.arpa" und "213.in-addr.arpa" kann man sich also in diesem Fall sparen.

Nameserver --> Nameserver für Domain "213.in-addr.arpa"

Wir wählen den "NS3.NIC.FR" für weitere Anfragen:

 dig @192.134.0.49 33.106.133.213.in-addr.arpa ptr

und erhalten als Antwort:

  ;; QUESTION SECTION:
  ;33.106.133.213.in-addr.arpa.   IN      PTR
  
  ;; AUTHORITY SECTION:
  106.133.213.in-addr.arpa. 172800 IN     NS      ns.second-ns.de.
  106.133.213.in-addr.arpa. 172800 IN     NS      ns2.your-server.de.

Auch hier wurde die Hierarchie etwas übersprungen, der "NS3.NIC.FR" kennt direkt die zuständigen Nameserver der Domäne "106.133.213.in-addr.arpa".

Nameserver --> Rootserver für "ns2.your-server.de"

Wir wählen den Server "ns2.your-server.de". Dessen IP-Adresse muss nun erst mal ermittelt werden, da uns diese in der vorherigen Abfrage nicht genannt wurde:

  dig @198.32.64.12 ns2.your-server.de a

Antwort:

  ;; QUESTION SECTION:
  ;ns2.your-server.de.               IN      A
  
  ;; AUTHORITY SECTION:
  de.                     172800  IN      NS      A.NIC.de.
  de.                     172800  IN      NS      F.NIC.de.
  de.                     172800  IN      NS      C.DE.NET.
  de.                     172800  IN      NS      L.DE.NET.
  de.                     172800  IN      NS      S.DE.NET.
  de.                     172800  IN      NS      Z.NIC.de.
  
  ;; ADDITIONAL SECTION:
  A.NIC.de.               172800  IN      A       193.0.7.3
  F.NIC.de.               172800  IN      AAAA    2001:608:6::5
  F.NIC.de.               172800  IN      A       81.91.161.4
  C.DE.NET.               172800  IN      A       208.48.81.43
  L.DE.NET.               172800  IN      A       217.51.137.213
  S.DE.NET.               172800  IN      A       193.159.170.149
  Z.NIC.de.               172800  IN      AAAA    2001:628:453:4905::53
  Z.NIC.de.               172800  IN      A       194.246.96.1

Na gut, dann also zu den Rootservern für die TLD "de".

Nameserver --> Namserver für die TLD "de" für "ns2.your-server.de"

Wir fragen mal "F.NIC.DE":

  dig @81.91.161.4 ns2.your-server.de a

Antwort:

  ;; QUESTION SECTION:
  ;ns2.your-server.de.            IN      A
  
  ;; AUTHORITY SECTION:
  your-server.de.         86400   IN      NS      ns2.your-server.de.
  your-server.de.         86400   IN      NS      ns.second-ns.de.
  your-server.de.         86400   IN      NS      www.hos-ext1.de.
  your-server.de.         86400   IN      NS      sql1a.your-server.co.za.
  
  ;; ADDITIONAL SECTION:
  ns2.your-server.de.     86400   IN      A       213.133.106.251
  ns.second-ns.de.        86400   IN      A       213.133.105.2

Perfekt, der Nameserver für die TLD "de" kennt über einen Glue-Record direkt die IP-Adresse des (für die Reverse DNS Abfrage) gesuchten Nameserver: "ns2.your-server.de" hat die IP-Adresse "213.133.106.251".

Nameserver --> Nameserver "ns2.your-server.de"

Da jetzt nach obigen Abstecher die IP-Adresse des "ns2.your-server.de" bekannt ist, fragen wir diesen Rechner gleich nach dem PTR-Record:

  dig @213.133.106.251 33.106.133.213.in-addr.arpa ptr

Antwort:

  ;; QUESTION SECTION:
  ;33.106.133.213.in-addr.arpa.   IN      PTR
  
  ;; ANSWER SECTION:
  33.106.133.213.in-addr.arpa. 86400 IN   PTR     dedi33.your-server.de.
  
  ;; AUTHORITY SECTION:
  106.133.213.in-addr.arpa. 86400 IN      NS      ns2.your-server.de.
  106.133.213.in-addr.arpa. 86400 IN      NS      ns.second-ns.de.
  
  ;; ADDITIONAL SECTION:
  ns.second-ns.de.        86400   IN      A       213.133.105.2
  ns2.your-server.de.     86400   IN      A       213.133.106.251

In der Antwort-Sektion der Rückantwort steht nun endlich der gesuchte Name: "dedi33.your-server.de"

Client <-- Nameserver

Der Nameserver teilt dem Client die Antwort "dedi33.your-server.de" mit.

Ergebnis

Der Name zur IP-Adresse "213.133.106.33" lautet also "dedi33.your-server.de".

Damit die Nameserver nicht bei jeder Zeile eines Traceroutes diese aufwendigen Abfragen erledigen müssen, werden die Antworten im Nameserver grundsätzlich zwischengespeichert (der A-Record zu "ns2.your-server.de" beispielsweise 24 Stunden = 86400 Sekunden). Dadurch können viele Abfragen bereits aus dem Cache der eigenen Nameserver beantwortet werden.



© 2012. Hetzner Online AG. Alle Rechte vorbehalten.