Architektur

Last change on 2025-10-07 • Created on 2025-10-07 • ID: NE-A03B0

DNS-Abfrage / Namensauflösung

Iterative
DNS-Abfrage
Rekursive
DNS-Abfrage
Autoritative
Nameserver
root
Client
Rekursiver NS
TLD
Domain

  • Iterative DNS-Abfrage
    Eine Anfrage an einen DNS-Server: Gib mir die endgültige Antwort auf meine Anfrage. Sende, wenn nötig, zusätzliche Anfragen an andere Server.

  • Rekursive DNS-Abfrage
    Eine Anfrage an einen DNS-Server: Gib mir alle Informationen, die du hast. Sende keine weiteren Anfragen an andere Server.

DNSSEC-Validierung

Folgendes erfordert DS- und DNSKey-Records. Hetzner unterstützt aktuell nur DS-Records.

Domain Name System Security Extensions (DNSSEC) sind eine Reihe von Erweiterungsspezifikationen (z.B. DS- und DNSKEY-Records), die verwendet werden, um sicherzustellen, dass DNS-Antworten von autoritativen Nameservern an rekursive Nameserver sicher sind und nicht abgefangen oder manipuliert wurden.

Client


Rekursiver Nameserver

Autoritative Nameserver

Der rekursive Nameserver verwendet Key Signing Keys (KSK) und Zone Signing Keys (ZSK) von jedem autoritativen Nameserver, um von jeder DNS-Antwort die Authentizität zu überprüfen — dadurch entsteht ein Chain-Of-Trust.

Um den Chain-Of-Trust von Anfang an zu etablieren, muss der rekursive Nameserver den gehashten PubKSK des root-Nameservers bereits lokal besitzen. Dabei ist es wichtig, dass dieser Key auf anderem Weg als über das DNS-Protokoll bezogen wurde (z.B. im Betriebssystem enthalten), um dessen Authentizität sicherzustellen.

Schritte in der DNSSEC-Validierung

Angenommen der Client versucht auf https://example.com zuzugreifen.

Erst sendet der rekursive Nameserver eine Anfrage an die root-Zone. Die root-Zone verweist auf die .com-Zone und übermittelt den gehashten PubKSK der .com-Zone.

01 response root de

Wenn der rekursive Nameserver der DNS-Antwort von der root-Zone vertraut, sendet er eine Anfrage an die .com-Zone. Mit dem zuvor von der root-Zone übermittelten .com-PubKSK, kann der Chain-Of-Trust fortgesetzt werden.

02 response com de

Wenn der rekursive Nameserver der DNS-Antwort von der .com-Zone vertraut, sendet er eine Anfrage an die example-Zone. Mit dem zuvor von der .com-Zone übermittelten example-PubKSK, kann der Chain-Of-Trust fortgesetzt werden.

03 response example de

Wenn der rekursive Nameserver der DNS-Antwort von der example-Zone vertraut, kann er die IP-Adresse zu example.com an den Client senden.

Im obenstehenden Beispiel würden die DNS-Records in etwa so aussehen:

Rekursiver NS
A
root
198.51.100.1
DS
root
<hashed-pubksk>
root Nameserver
DNSKey
root
<plaintext-pubksk>
DNSKey
root
<plaintext-pubzsk>

A
.com
172.16.3.9
DS
.com
<hashed-pubksk>
.com Nameserver
DNSKey
.com
<plaintext-pubksk>
DNSKey
.com
<plaintext-pubzsk>

A
example
192.168.25.3
DS
example
<hashed-pubksk>
example Nameserver
DNSKey
example
<plaintext-pubksk>
DNSKey
example
<plaintext-pubzsk>

A
example.com
203.0.113.1
A
example.com
10.0.0.3

reverse DNS (rDNS)

Hier klicken, um zu erfahren, wie Sie rDNS (PTR) von Hetzer IPs bearbeiten

Hetzner IPs besitzen PTR-Records, die von Hetzner verwaltet werden. Die IPs zeigen standardmäßig auf eine Domain, die in etwa so aussieht:

static.1.113.0.203.clients.your-server.de

In folgenden Artikeln wird erklärt, wie Sie den Wert bearbeiten können:

In Hetzner Console, können Sie den Wert bearbeiten, indem Sie Ihren Cloud Server oder Load Balancer auswählen und in der oberen Menüleiste zu "Networking" navigieren. Ersetzen Sie static.<your_reverse_ip>.clients.your-server.de mit Ihrer eigenen Domain, die auf die IP-Adresse des Cloud Servers oder Load Balancers zeigt. Der von Hetzner verwaltete PTR-Record wird automatisch entsprechend aktualisiert. Die reverse DNS von Primären IPs und Floating IPs können Sie ebenfalls bearbeiten, indem Sie zur entsprechenden IP navigieren.


Wenn sehr viele Reverse-DNS-Eintrage bearbeitet werden müssen, können Sie das Robot Webservice oder die Cloud API verwenden.

Mit Reverse-DNS (rDNS) kann ein Client prüfen, zu welcher Domain eine bestimmte IP-Adresse gehört (zum Beispiel über dnschecker.org oder dig -x <ip-address>).

Der Wert der IP-Adresse wird in einem PTR-Record bestimmt, der in der Regel vom Besitzer der IP-Adresse (z.B. Hetzner) verwaltet wird. PTR-Records für rDNS werden nicht in der Zone der Domain angelegt, sondern in einer Reverse-Zone (z.B. <ip-in-reverse>.in-addr.arpa.), die vom Besitzer der IP verwaltet wird. Eine detaillierte Erkärung, finden Sie untenstehend bei rDNS-Zonen.

Beispiel:

Server 1
 IP

🌐
203.0.113.1

www.example.com
Server 2
 IP

💬
📧
198.51.100.1

blog.example.com
mail.example.com

Ihre eigene Domain-Zone
example.com

A
www
203.0.113.1
A
blog
198.51.100.1
A
mail
198.51.100.1

MX
@
mail.example.com.
IP-Zonen der IP-Besitzer
1.113.0.203.in-addr.arpa

PTR
@
edu.example.org.
1.100.51.198.in-addr.arpa

PTR
@
mail.example.com.

In diesem Beispiel stimmt der Hostname in den Forward- und Reverse-DNS-Anfragen nur einmal überein:

www.example.com    --->   203.0.113.1
203.0.113.1        --->   edu.example.org

blog.example.com   --->   198.51.100.1
mail.example.com   --->   198.51.100.1      ─┐ Hostnamen
198.51.100.1       --->   mail.example.com  ─┘ stimmen überein
ℹ   Achtung
  • Pro IP-Adresse ist nur ein PTR-Record möglich
    Es ist nicht möglich mehrere Hostnamen auf eine einzige IP-Adresse zuzuweisen. Selbst wenn Sie mehrere Domains auf einem Server hosten, kann jede IP-Adresse nur einen PTR-Record besitzen (außer über bizarre PTR-Round-Robin-Spielereien). Wenn ein Webserver und ein Mailserver (SMTP) denselben physischen Server und dieselbe IP-Adresse verwenden, sollte rDNS meist auf den Hostnamen des Mailservers zeigen, da rDNS für die Zustellbarkeit von E-Mails und für Anti-Spam-Prüfungen besonders wichtig ist.

  • Ein PTR-Record sollte nie in der Domain-Zone hinzugefügt werden
    Wenn ein Client eine Reverse-DNS-Anfrage ausführt, um eine IP-Adresse aufzulösen, kennt er Ihre Domain noch nicht und kann demzufolge auch keine Anfrage an Ihre Domain-Zone senden. Stattdessen wird die Reverse-DNS-Zone der entsprechenden IP-Adresse angefragt (zum Beispiel die Zonen in-addr.arpa oder ip6.arpa).
    Die Reverse-DNS-Zone gibt den entsprechenden Domainnamen via einen PTR-Record zurück. Wenn Sie in Ihrer eigenen Domain-Zone einen PTR-Record hinzufügen, wird dieser ignoriert, da der Client bei Reverse-Lookups nie Ihre Zone abfragt.

Zweck von rDNS

  • Tools wie traceroute lösen IP-Adressen häufig über Reverse-DNS in Hostnamen auf. Das erleichtert die Fehlersuche erheblich.
  • Viele Mailserver akzeptieren eingehende E-Mails nur, wenn die IP-Adresse des Absenders einen gültigen Reverse-DNS-Eintrag besitzt.
  • Reverse-DNS-Einträge können eingebunden werden in SPF-Records (Sender Policy Framework — eine Technologie zur Vermeidung von Spam und virenbehafteten E-Mails mit gefälschten Absendern).

Anforderungen bei der Zuweisung

Wir empfehlen folgende Anforderungen bei der Zuweisung einzuhalten:

  • Der Reverse-DNS-Eintrag sollte keinen automatisch generierten Namen enthalten, wie z. B. static.1.113.0.203.clients.your-server.de; solche Namen werden von Spam-Filtern möglicherweise als „Spam“ eingestuft.
  • Die Domain, von der der Name abgeleitet ist, sollte tatsächlich existieren. Bitte erfinden Sie keine Fantasienamen.
  • Der Reverse-DNS-Eintrag sollte in beide Richtungen auf die gleiche IP-Adresse aufgelöst werden.
    same.example.com   --->   192.0.2.254
    192.0.2.254        --->   same.example.com
  • Der Hostname, den der Mailserver beim Verbindungsaufbau (HELO/EHLO) angibt, sollte mit dem Reverse-DNS-Eintrag der entsprechenden IP-Adresse übereinstimmen.

rDNS-Zonen

Der PTR-Record von einer IP-Adresse wird in der Reverse-DNS-Zone verwaltet, die der jeweiligen IP-Adresse entspricht. Typischerweise besitzt ein Anbieter oder eine Organisation einen gesamten IP-Adressbereich. In solchen Fällen wird der gesamte IP-Bereich über eine einzelne Reverse-DNS-Zone verwaltet, die dem Subnetz entspricht.

Die Internet Assigned Numbers Authority (IANA) verwaltet die obersten Reverse-DNS-Zonen in-addr.arpa und ip6.arpa. Diese Zonen delegieren an die Nameserver der Regional Internet Registries (RIRs), welche für das oberste Subnetz zuständig sind, in das die angefragte IP-Adresse fällt — häufig ein /8-Block (z.B. 203 bei 203.0.113.1).

Ein RIR delegiert Top-Level-Subnetze (z.B. 203 bei 203.0.113.1) an die Nameserver des IP-Besitzers, der für das Subnetz verantwortlich ist, in das die angefragte IP-Adresse fällt — häufig ein /16- oder /24-Block (z.B. 203.0 bei 203.0.113.1).

Beispiel:

Besitzer IP-Bereich Adressen
Holu 198.51.100.0/24 198.51.100.0 bis 198.51.100.255
Hetzner 203.0.0.0/16 203.0.0.0 bis 203.0.255.255
Server 1
 IP

📧
198.51.100.28

mail.example.com
Server 2
 IP

💬
203.0.113.1

blog.example.com
Server 3
 IP

🌐
203.0.44.253

www.example.com

Zone bei IANA
in-addr.arpa
NS
198.in-addr.arpa.
<rir-1>
NS
198.in-addr.arpa.
<rir-2>

NS
203.in-addr.arpa.
<rir-3>
NS
203.in-addr.arpa.
<rir-4>
Zonen bei RIRs
198.in-addr.arpa
NS
@
<rir-1>
NS
@
<rir-2>

NS
100.51
<holu-1>
NS
100.51
<holu-2>

203.in-addr.arpa
NS
@
<rir-3>
NS
@
<rir-4>

NS
0
<hetzner-1>
NS
0
<hetzner-2>
NS
0
<hetzner-3>
Zone bei Holu
100.51.198.in-addr.arpa
NS
@
<holu-1>
NS
@
<holu-2>

PTR
28
mail.example.com.

Zone bei Hetzner
0.203.in-addr.arpa
NS
@
<hetzner-1>
NS
@
<hetzner-2>
NS
@
<hetzner-3>

PTR
1.113
blog.example.com.
PTR
253.44
www.example.com.

DNS bei Mailservern

Mailserver sender
Prüft PTR nicht
📧
Mailserver receiver
Prüft PTR

Wenn ein Mailserver eine E-Mail versendet, prüft der Absender den MX-Record für die Domain, die nach dem @-Symbol des Empfängers angegeben ist. Bei der E-Mail-Adresse holu@example.com, zum Beispiel, prüft der Absender den MX-Record für example.com. Die E-Mail wird an die IP-Adresse aus der DNS-Antwort versendet. Der Absender prüft nicht den PTR-Record von dieser IP-Adresse.

Wenn ein Mailserver eine E-Mail empfängt, verwendet dieser Forward-confirmed reverse DNS (FCrDNS) für die Verifizierung. Dabei wird der PTR-Record von der IP-Adresse des Absenders (aus der TCP-Verbindung) überprüft. Anschließend wird geprüft, ob der A-Record der zurückgegebenen Domain auf dieselbe IP-Adresse zeigt. Wenn die IP-Adresse und Domain in beiden Einträgen übereinstimmen, gilt der Absender als vertrauenswürdig und die Nachricht wird mit geringerer Wahrscheinlichkeit als Spam eingestuft.

Zum Beispiel:

Mailserver
Server-IP
198.51.100.1
Mail
HELO
holu@example.com
send.example.com
Ausgehend
Eingehend
send.example.com
get.example.com
Ihre eigene Domain-Zone
example.com

A
send
198.51.100.1
A
get
198.51.100.1

MX
@
get.example.com.
IP-Zone vom IP-Besitzer
1.100.51.198.in-addr.arpa

PTR
@
send.example.com.



Folgendes passiert, wenn jemand anderes eine E-Mail von Ihnen empfängt:


Empfänger
DNS

TCP Quell-IP: 198.51.100.1
Prüft PTR-Record von IP des Absenders
PTR   198.51.100.1 --> send.example.com

DNS-Antwort: send.example.com
Prüft entsprechenden A-Record
A       send.example.com --> 198.51.100.1

PTR & A stimmen überein

SMTP-Handshake
Absender: HELO send.example.com

FCrDNS erfolgreicht (PTR & A stimmen überein) und HELO-Domain stimmt überein
→ Vertrauen, wahrscheinlich kein Spam



Folgendes passiert, wenn jemand anderes eine E-Mail an Sie sendet:


Absender
DNS

Email an holu@example.com

Sendet DNS-Anfrage zu example.com
MX     example.com --> get.example.com A         get.example.com --> 198.51.100.1

DNS-Antwort: 198.51.100.1

Sendet E-Mail an 198.51.100.1

Content Delivery Network (CDN)

CDN ist ein System, über das Website-Betreiber im Cache speicherbare Inhalte (z.B. statischen Ressourcen wie JavaScript, CSS oder große Dateien wie Bilder, Videos) von dem Server bereitstellen können, der dem Client am nächsten ist. Manchmal werden Edge-Server auch als Proxy eingesetzt, um Anfragen weiterzuleiten und den Origin-Server zu verbergen.

In einem CDN wird der Server, auf dem die ursprüngliche Version der Inhalte liegt, Origin-Server genannt:

Origin-Server
example.com
<html>
<h1> Hello world! </h1>
</html>

Bei einem CDN gibt es zusätzlich mehrere Edge-Server, die über verschiedene geografische Standorte verteilt sind. Diese Edge-Server rufen die Inhalte vom Origin-Server ab und speichern sie in ihrem Cache. Wenn ein Nutzer den Inhalt aufruft, wird dieser von dem Edge-Server bereitgestellt, der dem Nutzer geografisch am nächsten ist.

Vereinfachte Beispiel-Visualisierung:

Client Kanada
Client Japan
Client Schweiz
CDN
Edge-Server Amerika
example.com
Im Cache gesp. Kopie
vom Origin-Server
Edge-Server Asien
example.com
Im Cache gesp. Kopie
vom Origin-Server
Edge-Server Europa
example.com
Im Cache gesp. Kopie
vom Origin-Server



Vorteile im Überblick:

Schneller & ressourcen­schonend
Edge: Kann lokale Kopie schneller an Client ausliefern als der geografisch weiter entfernte Origin
Origin: Spart Bandbreite, CPU und andere Ressourcen (Objekt im Cache von Edge = keine Anfrage an Origin)

Schutz vor An­griffen
Edge: Filterung von Anfragen durch WAF, DDoS-Abwehr
Origin: Muss nicht mehr im offenen Internet stehen

Skalier­barkeit
CDN hat viel mehr Ressourcen für plötzliche Lastspitzen (sofern gut cachebare Inhalte)

Konfi­gurier­barkeit
Selbe Website unter unterschiedlichen Domains, Anpassung von Headern etc. auch wenn man eigentlich keine Kontrolle über den Origin braucht

⚠ CDN-Anbieter terminiert oft TLS und kann daher alles mitlesen, wenn er möchte.



Technische Umsetzung:

Folgende Methoden werden für diesen Zweck häufig verwendet:

DNS-basierte Lastverteilung eine IP » ein Server
Mehrere Server mit jeweils eigener IP über die ganze Welt verteilt. DNS versucht die IP des Servers zurückzugeben, der dem Client geografisch am nächsten ist.

Anycast-basierte Lastverteilung eine IP » Gruppe von Servern
Mehrere Server teilen sich eine IP, die aus vielen verschiedenen Orten erreichbar ist. Internet-Routing findet automatisch den kürzesten Weg zu einem dieser Orte, basierend auf dem Standort des Clients im Internet.

DNS-basierte Lastverteilung

Mit DNS-basierter Lastverteilung prüft der rekursive Nameserver die DNS-Records der angefragten Domain (z.B. example.com). NS-Records delegieren die Domain an die Nameserver des CDN-Anbieters. Der CDN-Anbieter:

  • Prüft den Standort des rekursiven Nameservers
    Hier ist zu beachten, dass der rekursive Nameserver sich an einem anderen Standort befinden kann als der Client

  • Wählt einen Edge-Server, der dem Standort des rekursiven Nameservers am nächsten ist.

Die Edge-Server werden üblicherweise von einem CDN-Anbieter bereitgestellt und verwaltet.

Beispiel:

Delegierte Zone
example.com
NS
cdn.ns.com
Client
DE
Rekursiver NS
Germany (DE)
Autoritativer NS
example.com
A
A
DE
US
198.51.1.2
203.0.13.1

Anycast-basierte Lastverteilung

Mit Anycast-basierter Lastverteilung teilt sich eine Gruppe von Servern dieselbe öffentliche IP-Adresse. Der Besitzer der Domain delegiert die Zone normalerweise zum CDN-Anbieter. In der Domain-Zone des CDN-Anbieters zeigt ein A-Record auf die öffentliche IP-Adresse, die der Anycast-Gruppe der Edge-Server zugeordnet ist.

Die Edge-Server und deren Anycast-IP werden von einem CDN-Anbieter bereitgestellt und verwaltet.

Edge-Server (DE)
example.com
Im Cache gesp. Kopie
vom Origin-Server
Client
203.0.13.1
Edge-Server (FI)
example.com
Im Cache gesp. Kopie
vom Origin-Server

Neben Edge-Servern wird Anycast-basierte Lastverteilung auch häufig bei DNS-Nameservern verwendet, insbesondere bei Root-Servern, TLD-Servern und großen autoritativen DNS-Anbietern (siehe zum Beispiel die Beschreibung des F-Root, einem der 13 Internet Root-Nameserver).

Autoritativer NS (DE)
example.com
A
203.0.13.1
Client
Rekursiver NS
192.0.2.5
Autoritativer NS (FI)
example.com
A
203.0.13.1

Im Gegensatz zu DNS-basierter Lastverteilung muss Anycast-basierte Lastverteilung nicht den Standort des Clients bestimmen oder geografische Berechnungen durchführen, da es ein bestehendes Routing-Protokoll verwendet.
Das Routing-Protokoll, das im Internet verwendet wird, wählt meist die Route mit den niedrigsten Kosten. Die Kosten steigen, je höher die Anzahl der Autonomous Systems (ASes), je länger der Pfad (Latenz) und je geringer die verfügbare Bandbreite. Der kosteneffizienteste Pfad zu einem Ziel in einer Anycast-Gruppe ist häufig der Server, der dem Client geografisch am nächsten liegt.

Beispiel:

Ein Client in Toronto sendet eine Anfrage an example.com, was auf die IP-Adresse 203.0.113.1 aufgelöst wird. Diese IP-Adresse wird von zwei Servern gemeinsam genutzt: einem in Ashburn und einem weiteren in Helsinki.

Folgende Netzwerkpfade sind möglich:

Client

Toronto
AS64496
Hop 1
Hop 2
Ottawa
New York
203.0.113.1

Ashburn
Client

Toronto
AS64497
Hop 1
Hop 2
Montreal
London
AS64500
Hop 3
Stockholm
203.0.113.1

Helsinki

Das Routing-Protokoll weiß nicht, dass das Ziel tatsächlich zwei verschiedene Maschinen sind, da es keine Informationen über geografische Standorte hat. Aus der Sicht vom Routing-Protokoll gibt es nur eine Quelle und ein Ziel. Für das Routing-Protokoll ist das Ziel eine einzelne Maschine an einem einzigen Standort, mit mehreren möglichen Pfaden, um es zu erreichen. Das liegt daran, dass das Routing-Protokoll Pfade nur als Abfolge von Autonomous Systems (ASes) sieht:

Client
AS64496
AS64497
AS64500
203.0.113.1

In diesem Beispiel würde der Pfad, bei dem nur ein AS dazwischenliegt wahrscheinlich dem Pfad vorgezogen werden, bei dem zwei ASes dazwischenliegen. Meist entspricht der kostengünstigste Pfad gleichzeitig auch dem geografisch nächstgelegenen Server.

Table of Contents