Hetzner - DokuWiki
DNS Nameserverabfrage
Inhaltsverzeichnis |
Ablauf einer Nameseverabfrage
Übersicht
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 --> Rootserver
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 Rootservern:
. 518400 IN NS l.root-servers.net. l.root-servers.net. 3600000 IN A 198.32.64.12 . 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 128.8.10.90 . 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 Rootserver und bittet um die MX-Einträge für "hetzner.de" (in Erwartung der zuständigen Nameserver für die TLD .de)
dig @198.32.64.12 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 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
Die Rootserver 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 @193.0.7.3 hetzner.de mx
Antwort:
;; QUESTION SECTION: ;hetzner.de. IN MX ;; AUTHORITY SECTION: hetzner.de. 86400 IN NS ns2.your-server.de. hetzner.de. 86400 IN NS ns.second-ns.de. hetzner.de. 86400 IN NS www.hos-ext1.de. hetzner.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
Interessant hier: Es werden Glue-Records für "ns2.your-server.de" und "ns.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.
"www.hos-ext1.de" und "sql1a.your-server.co.za" sind den .de-Nameservern nicht direkt bekannt und müssten durch extra Abfragen ermittelt werden.
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 "ns2.your-server.de"
Wir wählen den Nameserver "ns2.your-server.de":
dig @213.133.106.251 hetzner.de mx
Antwort:
;; QUESTION SECTION: ;hetzner.de. IN MX ;; ANSWER SECTION: hetzner.de. 86400 IN MX 25 www2.your-server.de. hetzner.de. 86400 IN MX 10 lms.your-server.de. ;; AUTHORITY SECTION: hetzner.de. 86400 IN NS ns.second-ns.de. hetzner.de. 86400 IN NS ns2.your-server.de. hetzner.de. 86400 IN NS www.hos-ext1.de. hetzner.de. 86400 IN NS sql1a.your-server.co.za. ;; ADDITIONAL SECTION: lms.your-server.de. 86400 IN A 213.133.106.252 www2.your-server.de. 86400 IN A 213.133.104.2 ns.second-ns.de. 86400 IN A 213.133.105.2 ns2.your-server.de. 86400 IN A 213.133.106.251 www.hos-ext1.de. 62807 IN A 217.160.111.148 sql1a.your-server.co.za. 72043 IN A 196.7.147.231
Die zuständigen Mailserver sind also "www2.your-server.de" und "lms.your-server.de". Die Zahlen 25 und 10 geben die Prioritäten an, in diesem Fall wäre "lms.your-server.de" vorzuziehen.
Der Nameserver war auch so freundlich, uns die IP-Adresse von "lms.your-server.de" und "www2.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 www2.your-server.de 213.133.104.2 Priorität 25
Ergebnis
Der Mailserver wird versuchen, mit "213.133.106.252" per SMTP-Protokoll Kontakt aufzunehmen.

