Hetzner - DokuWiki

DNS-Reverse-DNS

Inhaltsverzeichnis

Grundlagen

Was ist ein Reverse-DNS-Eintrag?

Bei "normalen" DNS-Abfragen wird bei einem bekannten Hostnamen die zugehörige unbekannte IP-Adresse ermittelt. Diese benötigt ja z.B. der Browser zum Herstellen einer TCP-Verbindung zum richtigen Server nach der Eingabe einer Adresse in die URL-Zeile.

  forum.hetzner.de ---> 213.133.106.33

Bei Reverse-DNS funktioniert das genau anders herum: Es soll der zu einer IP-Adresse gehörende Hostname ermittelt werden.

  213.133.106.33 ---> dedi33.your-server.de

Wie man sieht müssen die Hostnamen beim Forward- und Reverse-Lookup nicht übereinstimmen!

Welchen Zweck haben Reverse-DNS-Einträge?

  • Bei Traceroutes werden nicht nur IP-Adressen, sondern eben auch verständliche Hostnamen angezeigt. Die Fehlerdiagnose fällt wesentlich leichter
  • Viele Mailserver akzeptieren eingehende Mails nur dann, wenn die IP-Adresse des Senders über einen Reverse-DNS-Eintrag verfügt
  • In SPF-Tags (Sender Policy Framework; Technik zur Vermeidung von Spam-/Virenmails mit gefälschten Absendern) können Reverse-DNS-Einträge berücksichtigt werden


Wie ist der technische Ablauf beim Reverse-Lookups durch den Nameserver?

Der detaillierte Ablauf bei Abfragen zu Reverse-DNS-Einträgen ist in diesem Artikel beschrieben: DNS Reverse Lookups im Detail

Praxis

Wie kann ich meiner IP-Adresse mehrere Namen zuweisen, da ich verschiedene Domains auf meinem Server hoste?

Dies ist nicht möglich. Für jede IP-Adresse kann es nur einen Hostnamen geben (von skurilen PTR-Round-Robin-Basteleien mal abgesehen).

Zudem ist es dem Web-Browser auch egal, welche Reverse-Einträge ein Rechner hat. Der Browser löst ja nur vorwärts (Name-->IP) auf und hier kann es selbstverständlich mehrere Namen geben, z.B. mehrere A-Records oder mehrere CNAME-Records, die auf einen A-Record verweisen.

Auch beim Betrieb von Mailservern werden nie mehrere Hostnamen pro IP-Adresse benötigt. Der Reverse-DNS-Eintrag sollte mit dem Hostnamen des SMTP-Servers (siehe Konfiguration des jeweiligen SMTP-Servers) übereinstimmen.

Werden mehrere Domains über eine IP-Adresse verwaltet (was ja eigentlich der Normalfall ist), dann kann ein neutraler Hostname verwendet werden, der mit den Kundendomains nichts gemeinsam hat. Spamfilter prüfen lediglich auf Übereinstimmung des Reverse-DNS-Eintrags mit dem im HELO genannten Hostnamen, dies hat aber nichts mit den Domainnamen oder Absenderadressen aus den übertragenen E-Mails zu tun.

Empfehlenswert sind folgende Vergaberichtlinien:

  • Der Reverse-DNS-Eintrag sollte mit dem Hostnamen, den der Mailserver beim Verbindungsaufbau an der jeweiligen IP-Adresse nennt, übereinstimmen.
  • Der Reverse-DNS-Eintrag sollte auch "vorwärts" auflösbar sein - und zwar zur selben IP-Adresse.
  • Der Reverse-DNS-Eintrag sollte möglichst nicht wie ein automatisch generierter Name in der Form von "162-105-133-213-static.hetzner.de" aussehen, da dies von Spamfiltern oft nachteilig bewertet wird.
  • Die Domain, aus der der Name gebildet wird, sollte natürlich existieren - also bitte keine reinen Phantasienamen angeben.


Beispiel für einen unproblematischen Eintrag:

srv01.grossefirma.de ---> 213.133.105.162
213.133.105.162 --> srv01.grossefirma.de
> telnet 213.133.105.162 25
220 srv01.grossefirma.de ESMTP ready


Wenn ich an meinem Nameserver Reverse-Einträge (PTR) für meine IP's anlege, warum werden diese nicht übernommen?

Der eigene Nameserver ist nur für das "Vorwärts"-Auflösen zuständig.

Die zuständigen (authoritative) Nameserver für Reverse-Einträge betreibt der Eigentümer des IP-Adress-Blocks, also Hetzner.

Reverse-DNS-Einträge können ausschliesslich über die entsprechende Robot-Funktion erzeugt werden.

Der Reverse-DNS-Eintrag meines Rechners lautet anders als der im HELO-Befehl meines Mailservers genannte Hostname. Ist das ein Problem?

Beispiel: Der Reverse-DNS-Eintrag zur IP-Adresse eines Rechners lautet "www.grossefirma.de", der Mailserver auf diesem Rechner meldet sich im HELO-Befehl aber als "mail.grossefirma.de"

Manche Spamfilter stufen Mails von solchen Absendern eher als "spammig" ein, daher sollten derartige Inkonsistenzen vermieden werden. Im obigen Beispiel könnte der Reverse-DNS-Eintrag und der Hostname des Mailservers beispielsweise "srv01.grossefirma.de" lauten, "www.grossefirma.de" könnte als CNAME-Eintrag (Alias) ohne sichtbare Auswirkungen auf "srv01.grossefirma.de" umgeleitet werden.

Ausfürliche Tests der DNS-Einträge können mit DNSReport durchgefürt werden.

Wie kann ich eine große Anzahl Reverse-DNS-Einträge im Robot automatisiert anlegen oder verändern?

Das Perl-Skript Hetzner-RDNS.pl erlaubte die Bedienung des Hetzner-Robots über die Kommandozeile und besitzt einen Batch-Modus. Leider ist dies mit dem aktuellen Robot nicht mehr möglich, da dieser explizit Javascript erfordert und so eine Automatisierung durch Skripte unterbindet.

Dabei liest das Programm IP-Adressen und Hostnamen von der Standardeingabe ein und setzt die Werte im Robot dementsprechend. Das Format der Eingabedaten besteht aus je einer IP-Adresse und einem Hostnamen pro Zeile, getrennt durch Tabulator oder Leertaste. Wird nur eine IP-Adresse (ohne nebenstehenden Hostnamen) angegeben, so wird der dazugehörige Reverse-Eintrag gelöscht. Das Dateiformat ähnelt daher der Datei /etc/hosts, als Ausgangspunkt kann hetzner-rdns.pl ein Skelett mit den aktuellen Zuordnungen anlegen:

perl hetzner-rdns.pl --user "robotbenutzer" --password "robotpasswort" --get --all > hetzner-hosts

In der Datei "hetzner-hosts" befinden sich nun alle IP-Adressen mit ihren Hostnamen, die über den Robot-Zugang verwaltet werden können. Nach dem Editieren der Datei übernimmt folgender Befehl die geänderte Tabelle zurück in den Robot:

perl hetzner-rdns.pl --user "robotbenutzer" --password "robotpasswort" --replace --batch < hetzner-hosts


© 2020. Hetzner Online GmbH. Alle Rechte vorbehalten.