⚠️ DNS ist jetzt verfügbar in Hetzner Console (siehe Beta-FAQ). Nach dem Ende des Beta-Tests ist es nicht mehr möglich neue Zonen in der alten DNS Console zu erstellen. Wir empfehlen allen Kunden, ihre Zonen bis spätestens Ende dieses Jahres in die Hetzner Console zu migrieren (siehe Anleitung für Migration).
Einführung
Bereits das simple Absenden einer URL im Browser oder das Verschicken einer E-Mail verursacht komplexe Datenbankabfragen im DNS-System. Der folgende Artikel erläutert die internen Abläufe, über die der Arbeitsplatzrechner an die IP-Adresse des gewünschten Rechners gelangt.
Ablauf
Beispiel: Ein Mailserver will eine Mail an <name@hetzner.de>
senden.
Mailserver --> Nameserver
Der Mailserver stellt seinem Nameserver eine Anfrage nach dem MX-Record für die Domain <hetzner.de>
. Da der Nameserver mit Hetzner noch nie was zu tun hatte, enthält dessen Cache keinen passenden Eintrag.
Nameserver --> Root-Server
Der eigene Nameserver muss zunächst ermitteln, welcher fremde Nameserver für die Top Level Domain (TLD) .de zuständig ist.
Dazu enthält jede Nameserversoftware eine Liste mit den Root-Servern:
. 518400 IN NS l.root-servers.net.
l.root-servers.net. 3600000 IN A 199.7.83.42
. 518400 IN NS m.root-servers.net.
m.root-servers.net. 3600000 IN A 202.12.27.33
. 518400 IN NS a.root-servers.net.
a.root-servers.net. 3600000 IN A 198.41.0.4
. 518400 IN NS b.root-servers.net.
b.root-servers.net. 3600000 IN A 192.228.79.201
. 518400 IN NS c.root-servers.net.
c.root-servers.net. 3600000 IN A 192.33.4.12
. 518400 IN NS d.root-servers.net.
d.root-servers.net. 3600000 IN A 199.7.91.13
. 518400 IN NS e.root-servers.net.
e.root-servers.net. 3600000 IN A 192.203.230.10
. 518400 IN NS f.root-servers.net.
f.root-servers.net. 3600000 IN A 192.5.5.241
. 518400 IN NS g.root-servers.net.
g.root-servers.net. 3600000 IN A 192.112.36.4
. 518400 IN NS h.root-servers.net.
h.root-servers.net. 3600000 IN A 128.63.2.53
. 518400 IN NS i.root-servers.net.
i.root-servers.net. 3600000 IN A 192.36.148.17
. 518400 IN NS j.root-servers.net.
j.root-servers.net. 3600000 IN A 192.58.128.30
. 518400 IN NS k.root-servers.net.
k.root-servers.net. 3600000 IN A 193.0.14.129
Der eigene Nameserver kontaktiert nun einen dieser Root-Server und bittet um die MX-Einträge für <hetzner.de>
(in Erwartung der zuständigen Nameserver für die TLD .de)
dig @199.7.83.42 hetzner.de mx`
Die Antwort lautet:
;; QUESTION SECTION:
;hetzner.de. IN MX
;; AUTHORITY SECTION:
de. 172800 IN NS a.nic.de.
de. 172800 IN NS f.nic.de.
de. 172800 IN NS l.de.net.
de. 172800 IN NS n.de.net.
de. 172800 IN NS s.de.net.
de. 172800 IN NS z.nic.de.
;; ADDITIONAL SECTION:
a.nic.de. 172800 IN A 194.0.0.53
f.nic.de. 172800 IN A 81.91.164.5
l.de.net. 172800 IN A 77.67.63.105
n.de.net. 172800 IN A 194.146.107.6
s.de.net. 172800 IN A 195.243.137.26
z.nic.de. 172800 IN A 194.246.96.1
a.nic.de. 172800 IN AAAA 2001:678:2::53
f.nic.de. 172800 IN AAAA 2a02:568:0:2::53
l.de.net. 172800 IN AAAA 2001:668:1f:11::105
n.de.net. 172800 IN AAAA 2001:67c:1011:1::53
Die Root-Server kennen die Zuständigkeiten für <hetzner.de>
nicht, wissen aber, dass für .de-Domains die Nameserver der DeNIC zuständig sind. Daher geben Sie als Antwort wenigstens die Nameserveradressen für die TLD .de zurück.
Nameserver --> Nameserver der TLD .de
Jetzt kann einer der .de-Nameserver befragt werden:
dig @194.0.0.53 hetzner.de mx
Antwort:
;; QUESTION SECTION:
;hetzner.de. IN MX
;; AUTHORITY SECTION:
hetzner.de. 86400 IN NS ns1.your-server.de.
hetzner.de. 86400 IN NS ns3.second-ns.de.
hetzner.de. 86400 IN NS ns.second-ns.com.
;; ADDITIONAL SECTION:
ns1.your-server.de. 86400 IN A 213.133.106.251
ns1.your-server.de. 86400 IN AAAA 2a01:4f8:d0a:2006::2
ns3.second-ns.de. 86400 IN A 193.47.99.4
ns3.second-ns.de. 86400 IN AAAA 2001:67c:192c::add:b3
Interessant hier: Es werden Glue-Records für <ns1.your-server.de>
und <ns3.second-ns.de>
ausgegeben. Dies funktioniert nur, weil die .de-Nameserver ebenfalls für diese Domains zuständig sind und die passenden Glue-Records zu diesen Domains angelegt wurden.
Die .de-Nameserver kennen die mx-Einträge der Domain <hetzner.de>
allerdings genauso wenig wie die Rootserver vorher, doch in der Antwort findet man ja jetzt die zuständigen Nameserveradressen der Domain <hetzner.de>
.
Nameserver --> Nameserver ns1.your-server.de
Wir wählen den Nameserver <ns1.your-server.de>
:
dig @213.133.106.251 hetzner.de mx
Antwort:
;; QUESTION SECTION:
;hetzner.de. IN MX
;; ANSWER SECTION:
hetzner.de. 3600 IN MX 10 lms.your-server.de.
;; AUTHORITY SECTION:
hetzner.de. 3600 IN NS ns1.your-server.de.
hetzner.de. 3600 IN NS ns.second-ns.com.
hetzner.de. 3600 IN NS ns3.second-ns.de.
;; ADDITIONAL SECTION:
lms.your-server.de. 7200 IN A 213.133.106.252
ns1.your-server.de. 7200 IN A 213.133.106.251
ns1.your-server.de. 600 IN AAAA 2a01:4f8:d0a:2006::2
ns.second-ns.com. 7200 IN A 213.239.204.242
ns.second-ns.com. 600 IN AAAA 2a01:4f8:0:a101::b:1
ns3.second-ns.de. 600 IN AAAA 2001:67c:192c::add:b3
ns3.second-ns.de. 86400 IN A 193.47.99.4
Die zuständige Mailserver ist also <lms.your-server.de>
. Die Zahl 10 gibt die Priorität an.
Der Nameserver war auch so freundlich, uns die IP-Adresse von <lms.your-server.de>
gleich mitzuteilen, daher ersparen wir uns auch hier die zusätzliche Abfrage nach weiteren Information über die Domain <your-server.de>
.
Mailserver <-- Nameserver
Unser Nameserver übergibt nun an den Mailserver die gewünschten MX-Einträge:
lms.your-server.de 213.133.106.252 Priorität 10
Ergebnis
Der Mailserver wird versuchen, mit <213.133.106.252>
per SMTP-Protokoll Kontakt aufzunehmen.