DNS Grundlagen: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(Die Seite wurde neu angelegt: „=DNS-Allgemeines= *Jeder mit dem Internet verbundene Rechner besitzt eine IPAdresse, über die er weltweit erreichbar ist. *Den meisten Menschen fällt es s…“) |
|||
| (25 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
| − | =DNS-Allgemeines= | + | [[Kategorie:DNS]] |
| − | *Jeder mit dem Internet verbundene Rechner besitzt eine | + | = DNS-Allgemeines = |
| − | *Den meisten Menschen fällt es schwer, sich | + | |
| − | *Vor dem Aufbau einer Verbindung müssen | + | * Jeder mit dem Internet verbundene Rechner besitzt eine IP-Adresse, über die er weltweit erreichbar ist. |
| − | * | + | * Den meisten Menschen fällt es schwer, sich IP-Adressen zu merken. |
| − | + | * Aus diesem Grund werden sprechende Namen wie z.B. www.xinux.com vergeben. | |
| − | + | * Vor dem Aufbau einer Verbindung müssen diese Namen in IPAdressen umgewandelt werden, was heute die DNSServer erledigen. | |
| − | + | * Das DNS besteht aus eine dezentralen Datenbank. | |
| − | + | * Jeder Administrator sollte für die Namensgebung seiner eigenen Rechner verantwortlich sein | |
| − | *Jeder Administrator sollte für die Namensgebung seiner eigenen Rechner verantwortlich | + | * Man spricht hier vom Namensraum oder Zone. |
| − | *Desweiteren sollte er | + | * Desweiteren sollte er für die Namensauflösung der anderen Computer auf die Datenbanken der anderen Administratoren zugreifen. |
| − | *Um unterscheiden zu können, welche Rechnernamen lokal und welche Rechnernamen zu einem | + | * Um unterscheiden zu können, welche Rechnernamen lokal und welche Rechnernamen zu einem anderen Administrator gehören, wurde das Domänenkonzept eingeführt. |
| − | *Hierzu wird ein hierarchisch geordneter Baum verwendet, mit dessen Hilfe der richtige Datenbankserver schnell gefunden werden kann. | + | * Hierzu wird ein hierarchisch geordneter Baum verwendet, mit dessen Hilfe der richtige Datenbankserver schnell gefunden werden kann. |
| − | *Der Rechnername wird dabei nach rechts durch den entsprechenden Pfad im Baum erweitert. | + | * Der Rechnername wird dabei nach rechts durch den entsprechenden Pfad im Baum erweitert. |
| − | =Domain Name Service= | + | |
| + | = Domain Name Service = | ||
| + | |||
{{#drawio:dns-1}} | {{#drawio:dns-1}} | ||
| + | |||
| + | = Ablauf einer Namensauflösung = | ||
| + | ==Comic== | ||
| + | [[Datei:Dns-query.png]] | ||
| + | ==Schaubild== | ||
| + | {{#drawio:dns-2}} | ||
| + | = Beteiligte Akteure = | ||
| + | |||
| + | === Programm === | ||
| + | * Das Programm (z. B. Browser oder Mailclient) benötigt die IP-Adresse eines Hostnamens. | ||
| + | * Es ruft dafür den lokalen '''Resolver''' auf. | ||
| + | |||
| + | === Resolver === | ||
| + | * Der Resolver ist Teil des Betriebssystems. | ||
| + | * Er nimmt DNS-Anfragen von Programmen entgegen und leitet sie an einen DNS-Server weiter. | ||
| + | * Er prüft zunächst den lokalen Cache und entscheidet, ob eine Anfrage ins Netzwerk gesendet werden muss. | ||
| + | |||
| + | === DNS-Cache === | ||
| + | * Der Cache speichert bereits aufgelöste Namen für eine begrenzte Zeit ('''Time To Live – TTL'''). | ||
| + | * Dadurch können häufig genutzte Namen schnell beantwortet werden, ohne erneut eine Anfrage ins Internet zu senden. | ||
| + | |||
| + | === Root-DNS-Server === | ||
| + | * Kennt die Adressen der Top-Level-Domain-Server (z. B. für .com, .de, .org). | ||
| + | * Beantwortet selbst keine Hostnamen, sondern verweist auf den zuständigen '''TLD-Server'''. | ||
| + | |||
| + | === Top-Level-Domain-Server (TLD) === | ||
| + | * Verantwortlich für eine bestimmte Domain-Endung. | ||
| + | * Liefert die Adressen der autoritativen Nameserver einer konkreten Domain (z. B. xinux.net). | ||
| + | |||
| + | === Autoritativer DNS-Server === | ||
| + | * Enthält die tatsächlichen DNS-Einträge (A, AAAA, MX, CNAME usw.) der jeweiligen Domain. | ||
| + | * Gibt die endgültige Antwort auf die DNS-Anfrage zurück. | ||
| + | |||
| + | [[Datei:Dns-2.drawio.png|800px]] | ||
| + | |||
| + | == Ablauf einer DNS-Anfrage == | ||
| + | |||
| + | === Übersicht === | ||
| + | * Das '''Programm''' sendet eine DNS-Anfrage an den '''Resolver''' des Betriebssystems. | ||
| + | * Der '''Resolver''' prüft, ob die Antwort im lokalen Cache vorhanden ist. | ||
| + | * Falls nicht, wird die Anfrage an einen externen DNS-Server (oft beim Provider) weitergeleitet. | ||
| + | * Dieser DNS-Server fragt bei Bedarf die '''Root-DNS-Server''' ab, um den zuständigen '''TLD-Server''' zu ermitteln. | ||
| + | * Der '''Root-DNS-Server''' antwortet mit der Adresse des passenden '''TLD-Servers'''. | ||
| + | * Der '''TLD-Server''' verweist auf den '''autoritativen Nameserver''' der gesuchten Domain. | ||
| + | * Der '''autoritative DNS-Server''' liefert die endgültige Antwort (z. B. IPv4- oder IPv6-Adresse). | ||
| + | * Der DNS-Server speichert die Antwort im '''Cache''' (für schnellere Folgeanfragen). | ||
| + | * Der '''Resolver''' gibt die ermittelte Adresse an das '''Programm''' zurück. | ||
| + | |||
| + | === Beispiel === | ||
| + | * Anfrage: '''www.google.com''' | ||
| + | * Ablauf: Resolver → Root-DNS → .com-TLD → Google-Authoritative-DNS → Rückgabe IPv4-Adresse 142.250.x.x | ||
| + | |||
| + | = Konzept = | ||
| + | |||
| + | * Jeder Nameserver besitzt eine statische Root Zonen Datei | ||
| + | * Diese hier gekürzt | ||
| + | |||
| + | . 3600000 NS A.ROOT-SERVERS.NET. | ||
| + | A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4 | ||
| + | A.ROOT-SERVERS.NET. 3600000 AAAA 2001:503:ba3e::2:30 | ||
| + | ... | ||
| + | * In dieser stehten die sogenannten Root Nameserver statisch drin. | ||
| + | * Wenn ein Nameserver einen DOMAIN Namen nicht auflösen kann, fragt er bei einem Rootserver nach. | ||
| + | * Diese kennen alle Nameserver aller Toplevel Domains. | ||
| + | * Er verweist nun je nach Toplevel Domain an einen der zuständigen Server | ||
| + | * Nun wird der Toplevel Domain Server nach der Second Level Domain befragt. | ||
| + | * Dieser kennt alle Nameserver aller seiner Secondlevel Domain und verweist auf den entsprechenden. | ||
| + | * Nun wird der Second Level Domain Server nach der Third Level Domain befragt. | ||
| + | * Dieser gibt auskunft über die IP Adresse | ||
| + | |||
| + | = Beispiel einer Abfrage mit dig = | ||
| + | |||
| + | * '''dig +trace +nocomments +nocrypto +nodnssec -t a www.xinux.de''' | ||
| + | |||
| + | == Locale Befragung des Nameservers == | ||
| + | |||
| + | ; <<>> DiG 9.16.1-Ubuntu <<>> -4 +trace +nocomments +nocrypto +nodnssec -t a xinux.de | ||
| + | ;; global options: +cmd | ||
| + | . 6811 IN NS m.root-servers.net. | ||
| + | . 6811 IN NS i.root-servers.net. | ||
| + | . 6811 IN NS b.root-servers.net. | ||
| + | . 6811 IN NS h.root-servers.net. | ||
| + | . 6811 IN NS e.root-servers.net. | ||
| + | . 6811 IN NS f.root-servers.net. | ||
| + | . 6811 IN NS l.root-servers.net. | ||
| + | . 6811 IN NS g.root-servers.net. | ||
| + | . 6811 IN NS c.root-servers.net. | ||
| + | . 6811 IN NS d.root-servers.net. | ||
| + | . 6811 IN NS j.root-servers.net. | ||
| + | . 6811 IN NS a.root-servers.net. | ||
| + | . 6811 IN NS k.root-servers.net. | ||
| + | ;; Received 239 bytes from 127.0.0.53#53(<span style="color:#FF0000">127.0.0.53</span>) in 0 ms | ||
| + | |||
| + | == Befragung eines Root Nameserver nach den Nameservern der Top Level Domain == | ||
| + | |||
| + | de. 172800 IN NS s.de.net. | ||
| + | de. 172800 IN NS f.nic.de. | ||
| + | de. 172800 IN NS l.de.net. | ||
| + | de. 172800 IN NS a.nic.de. | ||
| + | de. 172800 IN NS n.de.net. | ||
| + | de. 172800 IN NS z.nic.de. | ||
| + | ;; Received 437 bytes from 192.112.36.4#53(<span style="color:#FF0000">g.root-servers.net</span>) in 120 ms | ||
| + | |||
| + | == Befragung eines Top Level Nameserver nach den Nameservern der Second Level Domain == | ||
| + | |||
| + | xinux.de. 86400 IN NS gaius.tuxmen.de. | ||
| + | xinux.de. 86400 IN NS nyxia.tuxmen.de. | ||
| + | ;; Received 116 bytes from 194.146.107.6#53(<span style="color:#FF0000">n.de.net</span>) in 220 ms | ||
| + | |||
| + | == Befragung eines Seconf Level Nameserver nach der gesuchten IP zum Namen == | ||
| + | |||
| + | www.xinux.de. 10 IN A 194.59.156.162 | ||
| + | xinux.de. 10 IN NS gaius.tuxmen.de. | ||
| + | xinux.de. 10 IN NS nyxia.tuxmen.de. | ||
| + | ;; Received 130 bytes from 194.59.156.164#53(<span style="color:#FF0000">nyxia.tuxmen.de</span>) in 88 ms | ||
| + | |||
| + | = Eintragung einer Domain = | ||
| + | |||
| + | * Wenn man eine Domain eintragen will braucht man einen Provider, der dies für einen macht. | ||
| + | * Man braucht einen primären und sekundären Nameserver in der, die Zone eingrichtet ist. | ||
| + | * Diesen Nameserver werden beispielsweise bei Denic in die Top Level Domain Server statisch eingetragen | ||
| + | * Name der Nameserver zu der IP | ||
| + | * Zone zu dem Nameserver | ||
Aktuelle Version vom 5. November 2025, 16:34 Uhr
DNS-Allgemeines
- Jeder mit dem Internet verbundene Rechner besitzt eine IP-Adresse, über die er weltweit erreichbar ist.
- Den meisten Menschen fällt es schwer, sich IP-Adressen zu merken.
- Aus diesem Grund werden sprechende Namen wie z.B. www.xinux.com vergeben.
- Vor dem Aufbau einer Verbindung müssen diese Namen in IPAdressen umgewandelt werden, was heute die DNSServer erledigen.
- Das DNS besteht aus eine dezentralen Datenbank.
- Jeder Administrator sollte für die Namensgebung seiner eigenen Rechner verantwortlich sein
- Man spricht hier vom Namensraum oder Zone.
- Desweiteren sollte er für die Namensauflösung der anderen Computer auf die Datenbanken der anderen Administratoren zugreifen.
- Um unterscheiden zu können, welche Rechnernamen lokal und welche Rechnernamen zu einem anderen Administrator gehören, wurde das Domänenkonzept eingeführt.
- Hierzu wird ein hierarchisch geordneter Baum verwendet, mit dessen Hilfe der richtige Datenbankserver schnell gefunden werden kann.
- Der Rechnername wird dabei nach rechts durch den entsprechenden Pfad im Baum erweitert.
Domain Name Service
Ablauf einer Namensauflösung
Comic
Schaubild
Beteiligte Akteure
Programm
- Das Programm (z. B. Browser oder Mailclient) benötigt die IP-Adresse eines Hostnamens.
- Es ruft dafür den lokalen Resolver auf.
Resolver
- Der Resolver ist Teil des Betriebssystems.
- Er nimmt DNS-Anfragen von Programmen entgegen und leitet sie an einen DNS-Server weiter.
- Er prüft zunächst den lokalen Cache und entscheidet, ob eine Anfrage ins Netzwerk gesendet werden muss.
DNS-Cache
- Der Cache speichert bereits aufgelöste Namen für eine begrenzte Zeit (Time To Live – TTL).
- Dadurch können häufig genutzte Namen schnell beantwortet werden, ohne erneut eine Anfrage ins Internet zu senden.
Root-DNS-Server
- Kennt die Adressen der Top-Level-Domain-Server (z. B. für .com, .de, .org).
- Beantwortet selbst keine Hostnamen, sondern verweist auf den zuständigen TLD-Server.
Top-Level-Domain-Server (TLD)
- Verantwortlich für eine bestimmte Domain-Endung.
- Liefert die Adressen der autoritativen Nameserver einer konkreten Domain (z. B. xinux.net).
Autoritativer DNS-Server
- Enthält die tatsächlichen DNS-Einträge (A, AAAA, MX, CNAME usw.) der jeweiligen Domain.
- Gibt die endgültige Antwort auf die DNS-Anfrage zurück.
Ablauf einer DNS-Anfrage
Übersicht
- Das Programm sendet eine DNS-Anfrage an den Resolver des Betriebssystems.
- Der Resolver prüft, ob die Antwort im lokalen Cache vorhanden ist.
- Falls nicht, wird die Anfrage an einen externen DNS-Server (oft beim Provider) weitergeleitet.
- Dieser DNS-Server fragt bei Bedarf die Root-DNS-Server ab, um den zuständigen TLD-Server zu ermitteln.
- Der Root-DNS-Server antwortet mit der Adresse des passenden TLD-Servers.
- Der TLD-Server verweist auf den autoritativen Nameserver der gesuchten Domain.
- Der autoritative DNS-Server liefert die endgültige Antwort (z. B. IPv4- oder IPv6-Adresse).
- Der DNS-Server speichert die Antwort im Cache (für schnellere Folgeanfragen).
- Der Resolver gibt die ermittelte Adresse an das Programm zurück.
Beispiel
- Anfrage: www.google.com
- Ablauf: Resolver → Root-DNS → .com-TLD → Google-Authoritative-DNS → Rückgabe IPv4-Adresse 142.250.x.x
Konzept
- Jeder Nameserver besitzt eine statische Root Zonen Datei
- Diese hier gekürzt
. 3600000 NS A.ROOT-SERVERS.NET. A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4 A.ROOT-SERVERS.NET. 3600000 AAAA 2001:503:ba3e::2:30 ...
- In dieser stehten die sogenannten Root Nameserver statisch drin.
- Wenn ein Nameserver einen DOMAIN Namen nicht auflösen kann, fragt er bei einem Rootserver nach.
- Diese kennen alle Nameserver aller Toplevel Domains.
- Er verweist nun je nach Toplevel Domain an einen der zuständigen Server
- Nun wird der Toplevel Domain Server nach der Second Level Domain befragt.
- Dieser kennt alle Nameserver aller seiner Secondlevel Domain und verweist auf den entsprechenden.
- Nun wird der Second Level Domain Server nach der Third Level Domain befragt.
- Dieser gibt auskunft über die IP Adresse
Beispiel einer Abfrage mit dig
- dig +trace +nocomments +nocrypto +nodnssec -t a www.xinux.de
Locale Befragung des Nameservers
; <<>> DiG 9.16.1-Ubuntu <<>> -4 +trace +nocomments +nocrypto +nodnssec -t a xinux.de
;; global options: +cmd
. 6811 IN NS m.root-servers.net.
. 6811 IN NS i.root-servers.net.
. 6811 IN NS b.root-servers.net.
. 6811 IN NS h.root-servers.net.
. 6811 IN NS e.root-servers.net.
. 6811 IN NS f.root-servers.net.
. 6811 IN NS l.root-servers.net.
. 6811 IN NS g.root-servers.net.
. 6811 IN NS c.root-servers.net.
. 6811 IN NS d.root-servers.net.
. 6811 IN NS j.root-servers.net.
. 6811 IN NS a.root-servers.net.
. 6811 IN NS k.root-servers.net.
;; Received 239 bytes from 127.0.0.53#53(127.0.0.53) in 0 ms
Befragung eines Root Nameserver nach den Nameservern der Top Level Domain
de. 172800 IN NS s.de.net.
de. 172800 IN NS f.nic.de.
de. 172800 IN NS l.de.net.
de. 172800 IN NS a.nic.de.
de. 172800 IN NS n.de.net.
de. 172800 IN NS z.nic.de.
;; Received 437 bytes from 192.112.36.4#53(g.root-servers.net) in 120 ms
Befragung eines Top Level Nameserver nach den Nameservern der Second Level Domain
xinux.de. 86400 IN NS gaius.tuxmen.de.
xinux.de. 86400 IN NS nyxia.tuxmen.de.
;; Received 116 bytes from 194.146.107.6#53(n.de.net) in 220 ms
Befragung eines Seconf Level Nameserver nach der gesuchten IP zum Namen
www.xinux.de. 10 IN A 194.59.156.162
xinux.de. 10 IN NS gaius.tuxmen.de.
xinux.de. 10 IN NS nyxia.tuxmen.de.
;; Received 130 bytes from 194.59.156.164#53(nyxia.tuxmen.de) in 88 ms
Eintragung einer Domain
- Wenn man eine Domain eintragen will braucht man einen Provider, der dies für einen macht.
- Man braucht einen primären und sekundären Nameserver in der, die Zone eingrichtet ist.
- Diesen Nameserver werden beispielsweise bei Denic in die Top Level Domain Server statisch eingetragen
- Name der Nameserver zu der IP
- Zone zu dem Nameserver



