PTR-Record: Wie funktioniert der DNS-Eintrag?

Das Domain Name System (DNS) erleichtert die Kommunikation im Internet. Die bekannteste Funktion dürfte wohl die Namensauflösung sein. Sie ermöglicht einem Nutzer, eine URL in den Browser einzugeben und trotzdem eine Verbindung per IP-Adresse herzustellen. Damit das funktionieren kann, greift das DNS bzw. greifen die verantwortlichen Nameserver auf Zonendateien zurück. Dabei handelt es sich um einfache Textdateien, in denen Zeile für Zeile DNS-Einträge aufgelistet sind. Die Namensauflösung erfolgt dabei über A- oder AAAA-Records. E-Mail-Verbindungen werden durch MX-Records ermöglicht.

Hinweis

Das DNS kennt über 100 verschiedene Resource-Record-Typen. In unserem Überblicksartikel zu den verschiedenen Record-Typen haben wir alle aufgeführt und geben zu jedem eine kurze Beschreibung. Außerdem erfahren Sie dort mehr über das grundsätzliche Prinzip hinter den DNS-Einträgen.

Die PTR-Records stellen quasi das Gegenstück zu den A-Records da. Statt einer IP-Adresse einen Domain-Namen zuzuordnen, erfolgt bei ihnen die Verknüpfung andersherum. Damit ermöglichen PTR-Records das Reverse DNS.

PTR-Records-Erklärung an einem Beispiel

PTR steht für „Pointer“. Der Name liefert bereits eine erste Idee, was mit dem Eintragstyp erreicht wird. Ein PTR-Record verweist auf ein Objekt: den Domain-Namen. Dadurch wird das Reverse DNS (rDNS) bzw. ein Reverse Lookup möglich. Im Standardfall möchte man die Verbindung zu einem Server aufnehmen, dessen Domain-Namen man kennt, nicht aber die korrekte IP-Adresse. Bei der rückwärtigen Anfrage läuft der Prozess genau umgekehrt: Die IP-Adresse ist bereits bekannt und man möchte erfahren, wie die zugehörige Domain heißt bzw. unter welcher URL man sie erreichen kann.

Syntax der Einträge

Der Aufbau eines PTR-Records ähnelt dem der anderen Eintragstypen. Die verschiedenen Informationen sind im Eintrag in sogenannten Feldern nacheinander angeordnet.

  • <name>: Das erste Feld wird beim PTR-Record mit der IP-Adresse gefüllt.
  • <ttl>: Die Time to live gibt die Zeit in Sekunden an, die ein Eintrag gültig ist, bevor dieser neu aufgerufen werden muss.
  • <class>: Das Feld enthält das Kürzel der verwendeten Netzwerkklasse.
  • <type>: In diesem Fall steht an vierter Stelle PTR, um den Typ des Eintrags zu definieren.
  • <rdata>: Das letzte Feld enthält schließlich die Resource Data – den Domain-Namen.

Alle Felder werden der Reihe nach innerhalb einer Zeile angeordnet. Man trennt die Felder nicht durch irgendwelche Symbole – ein Leerzeichen reicht aus. Die Zeile und damit den Eintrag beendet man nur durch den Einsatz eines Zeilenumbruchs.

<name> <ttl> <class> <type> <rdata>

Damit ist die Syntax exakt wie bei einem A-Record aufgebaut, nur der Inhalt der Felder unterscheidet sich. Zunächst gibt man die IP-Adresse an. Dabei sind sowohl IPv4- als auch IPv6-Adressen gültig. Es gibt allerdings eine Besonderheit zu beachten: Man verwendet dabei Reverse Mapping – die IP-Adresse wird also in umgekehrter Reihenfolge angegeben.

Wenn man eine IPv4-Adresse verwendet, dreht man allerdings nur die Oktette um. Innerhalb der einzelnen Gruppen bleibt die Ziffernreihenfolge unverändert. Anders bei IPv6-Adressen: Bei ihnen wird jede Ziffer bzw. jeder Buchstabe umgekehrt und mit einem Punkt vom nächsten Wert getrennt. Auch führende Nullen, die man in der hexadezimalen Notation in der Regel weglässt, werden in PTR-Records ausgeschrieben.

Zusätzlich gibt man noch die Zone an. Hier kommen zwei in Frage – wieder abhängig davon, ob es sich um eine IPv4- oder IPv6-Adresse handelt. Erstere erhält die Erweiterung in-addr.arpa.; letztere ip6.arpa.

Fakt

PTR-Records verwenden wie alle DNS-Einträge Fully Qualified Domain Names (FQDN). Das bedeutet, dass die Domain-Namen (sowohl im Name-Feld als auch bei den Resource Data) immer mit einem Punkt enden. Dieser trennt die Top-Level-Domain (TLD) vom Root-Verzeichnis, das allerdings als leeres Feld dargestellt wird.

Die Time to live gibt die Dauer an, die ein Eintrag noch gültig ist. Ist die Zeitspanne abgelaufen, muss die Information erneut angefragt werden. Damit umgeht das DNS das Problem, dass eventuell veraltete Einträge im Cache behalten werden, was dann zu Verbindungsproblemen führt. In der Regel taucht das Feld allerdings nicht im Eintrag selbst auf. Stattdessen legt man mit der Anweisung $TTL am Anfang der Datei die Zeit für die komplette Zone fest. Die TTL gibt man in Sekunden an.

Das Feld zur Klasse hat nur noch historische Bedeutung. Als das DNS entwickelt wurde, gab es noch zwei weitere Netzwerkprojekte: Hesiod (mit der Abkürzung HS) und das Chaosnet (durch CH dargestellt). Beide werden inzwischen nicht mehr genutzt, weshalb nur noch das Internet als Klasse in Frage kommt. Aus diesem Grund findet man an dieser Stelle entweder grundsätzlich das Kürzel IN oder das Feld wird komplett ausgelassen. Bei einer Auslassung geht das System vom üblichen Standard aus, der wiederum das Internet ist. Als Typ steht bei dieser Eintragsart verständlicherweise immer PTR. Im abschließenden Datenfeld steht dann der Name der Domain – wieder in der Notation von FQDN.

PTR-Record-Beispiel

Nehmen wir nun beispielhaft an, ein Nutzer würde die IP-Adressen von example.org kennen, aber wüsste nicht, welche Domain sich dahinter verbirgt. Die Adressen lauten 2606:2800:220:1:248:1893:25c8:1946 und 93.184.216.34. Damit der Nutzer Reverse DNS verwenden kann, stellen wir PTR-Records bereit. Diese wären dann folgendermaßen aufgebaut:

$TTL 2100
34.216.184.93.in-addr.arpa. IN PTR example.org.
6.4.9.1.8.c.5.2.3.9.8.1.8.4.2.0.1.0.0.0.0.2.2.0.0.0.8.2.6.0.6.2.ip6.arpa. IN PTR example.org.

In diesem Beispiel haben wir die Time to live zu Beginn der Datei festgelegt, damit sie für alle Einträge gilt. Dann folgen die beiden PTR-Records, in denen die Verweise der IP-Adressen auf den Domain-Namen enthalten sind und die damit den Reverse Lookup ermöglichen.

PTR-Record-Check: So überprüft man den Eintrag

Möchte man den PTR-Record einer Website einsehen, kann man dafür auf verschiedene Webdienste zurückgreifen. Google bietet Usern mit Public DNS die Möglichkeit, sich alle verfügbaren DNS-Einträge einer Domain anzeigen zu lassen. Um den PTR-Record aufzurufen, trägt man auf der Startseite des Dienstes eine gültige IP-Adresse ein. Es ist nicht nötig, die Adresse umzustellen, um so dem Format der PTR-Records zu entsprechen. Das übernimmt die Google-Anwendung selbstständig.

Public DNS sollte automatisch erkennen, dass man einen PTR-Record-Lookup durchführen möchte. Die beiden Einstellungsoptionen EDNS Client Subnet und DNSSEC müssen nicht verändert werden. Die erste Option ermöglicht eine effizientere DNS-Anfrage und die zweite garantiert, dass sich keine Dritten in die Kommunikation geschaltet haben und die angeforderten Informationen verändern.

Die Ergebnisse erscheinen unter dem Punkt „Answer“. Der Dienst liefert gleich zwei verschiedene Server, deren Namen unter „Data“ zu finden ist. Wie man erkennt, haben beide den gleichen Wert bei der TTL, was auf eine zonenweite Vergabe deutet.

Als Typ findet man hier eine Zahl statt ein Kürzel. Die Internet Assigned Numbers Authority (IANA) hat jedem Eintragstyp einen individuellen Wert verliehen und somit alle durchnummeriert. Hinter der Nummer 12 verbirgt sich der PTR-Record.

Die überprüfte IP-Adresse gehört eigentlich zur Domain google.com. Die Antworten zeigen aber direkt auf interne Namen der Server, die nicht für den öffentlichen Gebrauch zu verwenden sind und auch nicht als URL funktionieren.

Tipp

Wer lieber keinen Dienst von Google verwenden möchte, sondern einen deutschen Anbieter sucht, der kann alternativ zum Webtool von Heise Online greifen.


Auf dem Laufenden bleiben?

Jetzt für unseren Newsletter anmelden und gratis Online-Marketing Whitepaper für lokale Anbieter sichern!