|
|
Lexikon auf Ihrer Homepage |
|
Lexikon als Lesezeichen hinzufügen |
| Domain Name System (DNS) | |||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Familie: | Internetprotokollfamilie | ||||||||||||||||||||||||
| Einsatzgebiet: | Namensauflösung | ||||||||||||||||||||||||
| Ports: | 53/UDP, 53/TCP | ||||||||||||||||||||||||
| |||||||||||||||||||||||||
| Standards: |
RFC 1034 (1987) RFC 1035 (1987) | ||||||||||||||||||||||||
Das Domain Name System (DNS) ist einer der wichtigsten Dienste im Netzwerk. Seine Hauptaufgabe ist die Beantwortung von Anfragen zur Namensauflösung.
In Analogie zu einer Telefonauskunft soll das DNS bei Anfrage mit einem Hostnamen (dem fĂŒr Menschen merkbaren Namen eines Rechners im Internet) â zum Beispiel www.example.org â als Antwort die zugehörige IP-Adresse (die âAnschlussnummerâ im Internet) â zum Beispiel eine IPv4-Adresse der Form 192.0.2.42 oder eine IPv6-Adresse wie 2001:db8:85a3:8d3:1319:8a2e:370:7347 â nennen.
Inhaltsverzeichnis |
Das DNS ist ein weltweit auf tausende von Servern verteilter hierarchischer Verzeichnisdienst, der den Namensraum des Internets verwaltet. Dieser Namensraum ist in so genannte Zonen unterteilt, fĂŒr die jeweils unabhĂ€ngige Administratoren zustĂ€ndig sind. FĂŒr lokale Anforderungen â etwa innerhalb eines Firmennetzes â ist es auch möglich, ein vom Internet unabhĂ€ngiges DNS zu betreiben.
HauptsĂ€chlich wird das DNS zur Umsetzung von Domainnamen in IP-Adressen (âforward lookupâ) benutzt. Dies ist vergleichbar mit einem Telefonbuch, das die Namen der Teilnehmer in ihre Telefonnummer auflöst. Das DNS bietet somit eine Vereinfachung, weil Menschen sich Namen weitaus besser merken können als Zahlenkolonnen. So kann man sich einen Domainnamen wie example.org in der Regel leichter merken als die dazugehörende IP-Adresse 192.0.32.10. Dieser Punkt gewinnt im Zuge der EinfĂŒhrung von IPv6 noch an Bedeutung, denn dann werden einem Namen jeweils IPv4- und IPv6-Adressen zugeordnet. So löst sich beispielsweise der Name www.kame.net in die IPv4-Adresse 203.178.141.194 und die IPv6-Adresse 2001:200:0:8002:203:47ff:fea5:3085 auf.
Ein weiterer Vorteil ist, dass IP-Adressen â etwa von Web-Servern â relativ risikolos geĂ€ndert werden können. Da Internetteilnehmer nur den (unverĂ€nderten) DNS-Namen ansprechen, bleiben ihnen Ănderungen der untergeordneten IP-Ebene weitestgehend verborgen. Da einem Namen auch mehrere IP-Adressen zugeordnet werden können, kann sogar eine einfache Lastverteilung per DNS (Load Balancing) realisiert werden.
Mit dem DNS ist auch eine umgekehrte Auflösung von IP-Adressen in Namen (âreverse lookupâ) möglich. In Analogie zum Telefonbuch entspricht dies einer Suche nach dem Namen eines Teilnehmers zu einer bekannten Rufnummer, was innerhalb der Telekommunikationsbranche unter dem Namen Inverssuche bekannt ist.
Das DNS wurde 1983 von Paul Mockapetris entworfen und in RFC 882 und 883 beschrieben. Beide wurden inzwischen von RFC 1034 und RFC 1035 abgelöst und durch zahlreiche weitere Standards ergĂ€nzt. UrsprĂŒngliche Aufgabe war es, die lokalen hosts-Dateien abzulösen, die bis dahin fĂŒr die Namensauflösung zustĂ€ndig waren und die der enorm zunehmenden Zahl von NeueintrĂ€gen nicht mehr gewachsen waren. Aufgrund der erwiesenermaĂen hohen ZuverlĂ€ssigkeit und FlexibilitĂ€t wurden nach und nach weitere DatenbestĂ€nde in das DNS integriert und so den Internetnutzern zur VerfĂŒgung gestellt (siehe unten: Erweiterung des DNS).
DNS zeichnet sich aus durch:
Der Domain-Namensraum hat eine baumförmige Struktur. Die BlÀtter und Knoten des Baumes werden als Labels bezeichnet. Ein kompletter Domainname eines Objektes besteht aus der Verkettung aller Labels eines Pfades.
Label sind Zeichenketten (alphanumerisch, als einziges Sonderzeichen ist '-' erlaubt), die mindestens ein Zeichen und maximal 63 Zeichen lang sind, mit einem Buchstaben oder einer Zahl beginnen mĂŒssen und nicht mit '-' enden dĂŒrfen (RFC 1035, Abschnitt â2.3.1. Preferred name syntaxâ). Einzelne Labels werden durch Punkte voneinander getrennt. Ein Domainname wird mit einem Punkt abgeschlossen (der letzte Punkt wird normalerweise weggelassen, gehört rein formal aber zu einem vollstĂ€ndigen Domainnamen dazu). Somit lautet ein korrekter, vollstĂ€ndiger Domainname (auch Fully Qualified Domain-Name (FQDN) genannt) zum Beispiel www.example.com. und darf inklusive aller Punkte maximal 255 Zeichen lang sein.
Ein Domainname wird immer von rechts nach links delegiert und aufgelöst, das heiĂt je weiter rechts ein Label steht, umso höher steht es im Baum. Der Punkt am rechten Ende eines Domainnamens trennt das Label fĂŒr die erste Hierarchieebene von der Wurzel (engl. root). Diese erste Ebene wird auch als Top-Level-Domain (TLD) bezeichnet. Die DNS-Objekte einer DomĂ€ne (zum Beispiel die Rechnernamen) werden als Satz von Resource Records meist in einer Zonendatei gehalten, die auf einem oder mehreren autoritativen Nameservern vorhanden ist. Anstelle von Zonendatei wird meist der etwas allgemeinere Ausdruck Zone verwendet.
Ein Nameserver ist ein Server, der Namensauflösung anbietet. Namensauflösung ist das Verfahren, das es ermöglicht, Namen von Rechnern bzw. Diensten in eine vom Computer bearbeitbare Adresse aufzulösen (von bspw. www.wikipedia.org in 145.97.39.155).
Die meisten Nameserver sind Teil des Domain Name System, das auch im Internet benutzt wird.
Nameserver sind zum einen Programme, die Anfragen zum Domain-Namensraum beantworten, im Sprachgebrauch werden allerdings auch die Rechner, auf denen diese Programme laufen, als Nameserver bezeichnet. Man unterscheidet zwischen autoritativen und nicht-autoritativen Nameservern.
Ein autoritativer Nameserver ist verantwortlich fĂŒr eine Zone. Seine Informationen ĂŒber diese Zone werden deshalb als gesichert angesehen. FĂŒr jede Zone existiert mindestens ein autoritativer Server, der Primary Nameserver. Dieser wird im SOA Resource Record einer Zonendatei aufgefĂŒhrt. Aus Redundanz- und LastverteilungsgrĂŒnden werden autoritative Nameserver fast immer als Server-Cluster realisiert, wobei die Zonendaten identisch auf einem oder mehreren Secondary Nameservern liegen. Die Synchronisation zwischen Primary und Secondary Nameservern erfolgt per Zonentransfer.
Ein nicht-autoritativer Nameserver bezieht seine Informationen ĂŒber eine Zone von anderen Nameservern sozusagen aus zweiter oder dritter Hand. Seine Informationen werden als nicht gesichert angesehen. Da sich DNS-Daten normalerweise nur sehr selten Ă€ndern, speichern nicht-autoritative Nameserver die einmal von einem Resolver angefragten Informationen im lokalen RAM ab, damit diese bei einer erneuten Anfrage schneller vorliegen. Diese Technik wird als Caching bezeichnet. Jeder dieser EintrĂ€ge besitzt ein eigenes Verfallsdatum (TTL time to live), nach dessen Ablauf der Eintrag aus dem Cache gelöscht wird. Die TTL wird dabei durch einen autoritativen Nameserver fĂŒr diesen Eintrag festgelegt und wird nach der Ănderungswahrscheinlichkeit des Eintrages bestimmt (sich hĂ€ufig Ă€ndernde DNS-Daten erhalten eine niedrige TTL). Das kann unter UmstĂ€nden aber auch bedeuten, dass der Nameserver in dieser Zeit falsche Informationen liefern kann, wenn sich die Daten zwischenzeitlich geĂ€ndert haben.
Ein Spezialfall ist der Caching Only Nameserver. In diesem Fall ist der Nameserver fĂŒr keine Zone verantwortlich und muss alle eintreffenden Anfragen ĂŒber weitere Nameserver (Forwarder) auflösen. DafĂŒr stehen verschiedene Strategien zur VerfĂŒgung:
Damit ein nicht-autoritativer Nameserver Informationen ĂŒber andere Teile des Namensraumes finden kann, bedient er sich folgender Strategien:
Anders konzipierte Namensauflösungen durch Server, wie der NetWare Name Service oder der Windows Internet Naming Service, sind meistens auf Local Area Networks beschrÀnkt und werden zunehmend von der Internetprotokollfamilie verdrÀngt.
Resolver sind einfach aufgebaute Software-Module, die auf dem Rechner eines DNS-Teilnehmers installiert sind und die Informationen von Nameservern abrufen können. Sie bilden die Schnittstelle zwischen Anwendung und Nameserver. Der Resolver ĂŒbernimmt die Anfrage einer Anwendung, ergĂ€nzt sie, falls notwendig, zu einem FQDN und ĂŒbermittelt sie an einen normalerweise fest zugeordneten Nameserver. Ein Resolver arbeitet entweder rekursiv oder iterativ.
Im rekursiven Modus schickt der Resolver eine rekursive Anfrage an den ihm zugeordneten Nameserver. Hat dieser die gewĂŒnschte Information nicht im eigenen Datenbestand, so kontaktiert der Nameserver weitere Server, und zwar solange bis er entweder eine positive Antwort oder bis er von einem autoritativen Server eine negative Antwort erhĂ€lt. Rekursiv arbeitende Resolver ĂŒberlassen also die Arbeit zur vollstĂ€ndigen Auflösung ihrem Nameserver.
Bei einer iterativen Anfrage bekommt der Resolver entweder den gewĂŒnschten Resource Record oder einen Verweis auf weitere Nameserver, die er als nĂ€chstes fragt. Der Resolver hangelt sich so von Nameserver zu Nameserver, bis er von einem eine verbindliche Antwort erhĂ€lt.
Die so gewonnene Antwort ĂŒbergibt der Resolver an das Programm, das die Daten angefordert hat, beispielsweise an den Webbrowser. Ăbliche Resolver von Clients arbeiten ausschlieĂlich rekursiv, sie werden dann auch als Stub-Resolver bezeichnet. Nameserver besitzen in der Regel eigene Resolver. Diese arbeiten gewöhnlich iterativ.
Bekannte Programme zur ĂberprĂŒfung der Namensauflösung sind nslookup, host und dig. Weitere Informationen zur iterativen/rekursiven Namensauflösung finden sich unter rekursive und iterative Namensauflösung.
DNS-Anfragen werden normalerweise per UDP Port 53 zum Namensserver gesendet. Der DNS-Standard fordert aber auch die UnterstĂŒtzung von TCP fĂŒr Fragen, deren Antwort zu groĂ fĂŒr UDP-Ăbertragung sind. [1] Falls kein Extended DNS verwendet wird (EDNS), betrĂ€gt die maximal zulĂ€ssige LĂ€nge des DNS-UDP-Pakets 512 Bytes. Ăberlange Antworten werden daher abgeschnitten ĂŒbertragen. Durch Setzen des Truncated-Flags wird der anfragende Client ĂŒber diesen Sachverhalt informiert. Er muss dann entscheiden, ob ihm die Antwort reicht oder nicht. Gegebenenfalls wird er die Anfrage per TCP Port 53 wiederholen.
Zonentransfers werden stets ĂŒber Port 53 TCP durchgefĂŒhrt. Die Auslösung von Zonentransfers erfolgt aber gewöhnlich per UDP.
Das Domain Name System kann als verteilte Datenbank mit baumförmiger Struktur aufgefasst werden. Beim Internet-DNS liegen die Daten auf einer Vielzahl von weltweit verstreuten Servern, die untereinander ĂŒber Verweise â in der DNS-Terminologie Delegierungen genannt â verknĂŒpft sind.
In jedem beteiligten Nameserver existieren eine oder mehrere Dateien â die so genannten Zonendateien â die alle relevanten Daten enthalten. Bei diesen Dateien handelt es sich um Listen von Resource Records. Von groĂer Bedeutung sind sieben Record-Typen:
Im Laufe der Zeit wurden neue Typen definiert, mit denen Erweiterungen des DNS realisiert wurden. Dieser Prozess ist noch nicht abgeschlossen. Eine umfassende Liste findet sich unter Resource Record.
Beispiele:
Folgender NS Resource Record ist in der Zonendatei der Domain âorg.â definiert: Die Zonendatei fĂŒr die Domain âwikipedia.org.â befindet sich auf dem Server âns0.wikimedia.org.â. Der Punkt am Ende ist wichtig, da dieser klarstellt, dass kein relativer Name gemeint ist, also hinter âorgâ nichts mehr zu ergĂ€nzen ist. âINâ meint, dass der Eintrag die Klasse âInternetâ besitzt und die Zahl davor bedeutet die Time To Live (TTL) in Sekunden, sie besagt, wie lange diese Information in einem Cache zwischengespeichert werden könnte, bevor sie neu erfragt werden sollte. Bei dynamischen IP-Adressen liegt diese Zahl meistens zwischen 20 und 300 Sekunden.
wikipedia 86400 IN NS ns0.wikimedia.org.
Folgender CNAME Resource Record in der Zonendatei der Domain âwikipedia.org.â definiert: Der Name âde.wikipedia.org.â verweist auf den Namen ârr.wikimedia.org.â.
de 3600 IN CNAME rr.wikimedia.org.
Folgende Resource Records in der Zonendatei der Domain âwikimedia.org.â definieren: Der Name ârr.wikimedia.org.â verweist auf den Namen ârr.esams.wikimedia.org.â und diesem wiederum ist die IPv4-Adresse 91.198.174.2 zugewiesen.
rr 600 IN CNAME rr.esams rr.esams 3600 IN A 91.198.174.2
Letztlich mĂŒssen also alle Rechner, die sich mit âde.wikipedia.org.â verbinden möchten, IPv4-Pakete an die IP-Adresse 91.198.174.2 senden.
Angenommen, ein Rechner X will eine Verbindung zu âde.wikipedia.org.â (Rechner Y) aufbauen. Dazu braucht er dessen IP-Adresse. In den folgenden Schritten wird beschrieben, wie dies ablaufen könnte. Falls der Rechner X IPv6-fĂ€hig ist, lĂ€uft der Vorgang zunĂ€chst fĂŒr IPv6 (Abfrage von AAAA Resource Record) und sofort danach fĂŒr IPv4 (Abfrage von A Resource Record) ab. Dabei kann eine Anfrage nach einer IPv6-Adresse mittels IPv4-Ăbertragung an einen IPv4-DNS-Server gerichtet werden. Falls am Ende eine IPv6- und eine IPv4-Adresse fĂŒr Rechner Y ermittelt werden, wird in der Regel laut der Default Policy Table in RFC 3484 die Kommunikation zwischen X und Y ĂŒber IPv6 bevorzugt[2], es sei denn im Betriebssystem oder in den benutzten Anwendungen, wie zum Beispiel dem Webbrowser, wurde dieses Verhalten anders eingestellt.
Im folgenden, kommentierten Beispiel wird zum Namen âwww.heise.de.â die IPv4-Adresse mit Hilfe des Resolver-Tools dig bestimmt. â+traceâ bedeutet, dass die einzelnen Antworten auf iterative Anfragen an die Nameserver-Hierarchie angegeben werden, â+additionalâ sorgt dafĂŒr, dass zusĂ€tzlich dargestellt wird, dass die Nameserver fĂŒr Delegierungen nicht nur NS Resource Records verwalten, sondern teilweise auch deren IP-Adressen in Form von A oder AAAA Resource Records kennen und mit ausliefern, â-t Aâ schlieĂlich verlangt nach dem A Resource Record, also der IPv4-Adresse. Es zeigt sich, dass nacheinander vier Nameserver befragt werden mĂŒssen, um zur Antwort zu gelangen:
$ dig +trace +additional -t A www.heise.de.
; <<>> DiG 9.5.1-P3 <<>> +trace +additional -t A www.heise.de. ;; global options: printcmd . 6086 IN NS B.ROOT-SERVERS.NET. . 6086 IN NS D.ROOT-SERVERS.NET. . 6086 IN NS J.ROOT-SERVERS.NET. . 6086 IN NS G.ROOT-SERVERS.NET. . 6086 IN NS K.ROOT-SERVERS.NET. . 6086 IN NS C.ROOT-SERVERS.NET. . 6086 IN NS M.ROOT-SERVERS.NET. . 6086 IN NS I.ROOT-SERVERS.NET. . 6086 IN NS H.ROOT-SERVERS.NET. . 6086 IN NS E.ROOT-SERVERS.NET. . 6086 IN NS F.ROOT-SERVERS.NET. . 6086 IN NS A.ROOT-SERVERS.NET. . 6086 IN NS L.ROOT-SERVERS.NET. D.ROOT-SERVERS.NET. 6644 IN A 128.8.10.90 J.ROOT-SERVERS.NET. 10421 IN A 192.58.128.30 J.ROOT-SERVERS.NET. 1289 IN AAAA 2001:503:c27::2:30 G.ROOT-SERVERS.NET. 10940 IN A 192.112.36.4 K.ROOT-SERVERS.NET. 4208 IN A 193.0.14.129 K.ROOT-SERVERS.NET. 7277 IN AAAA 2001:7fd::1 C.ROOT-SERVERS.NET. 6126 IN A 192.33.4.12 M.ROOT-SERVERS.NET. 3274 IN A 202.12.27.33 M.ROOT-SERVERS.NET. 7183 IN AAAA 2001:dc3::35 I.ROOT-SERVERS.NET. 9788 IN A 192.36.148.17 H.ROOT-SERVERS.NET. 10421 IN A 128.63.2.53 H.ROOT-SERVERS.NET. 13739 IN AAAA 2001:500:1::803f:235 E.ROOT-SERVERS.NET. 11125 IN A 192.203.230.10 F.ROOT-SERVERS.NET. 9973 IN A 192.5.5.241 ;; Received 500 bytes from 192.168.2.1#53(192.168.2.1) in 50 ms
192.168.2.1 (siehe letzte Zeile) ist der eingetragene Nameserver des abfragenden Rechners, welcher auf die Root-Nameserver verweist, die die TLD-Zone (Zone, die die Nameserver fĂŒr .org, .de, .com, ⊠enthĂ€lt) verwalten und alle weiter via IPv4 befragt werden können, einige zusĂ€tzlich auch mittels IPv6. Die Root-Nameserver verwalten die Wurzel der Namensauflösung, dargestellt durch einen Punkt. Die IP-Adressen der Root-Nameserver Ă€ndern sich sehr selten und mĂŒssen allen Nameservern bekannt sein, sofern sie das Internet betreffende Anfragen beantworten. (Diese IP-Adressen können beispielsweise in einer als "Root Hints" bezeichneten Textdatei mitgeliefert werden.)
de. 172800 IN NS F.NIC.de. de. 172800 IN NS L.DE.NET. de. 172800 IN NS S.DE.NET. de. 172800 IN NS Z.NIC.de. de. 172800 IN NS A.NIC.de. de. 172800 IN NS C.DE.NET. A.NIC.de. 172800 IN A 194.0.0.53 C.DE.NET. 172800 IN A 208.48.81.43 F.NIC.de. 172800 IN A 81.91.164.5 F.NIC.de. 172800 IN AAAA 2001:608:6:6::10 L.DE.NET. 172800 IN A 89.213.253.189 S.DE.NET. 172800 IN A 195.243.137.26 Z.NIC.de. 172800 IN A 194.246.96.1 Z.NIC.de. 172800 IN AAAA 2001:628:453:4905::53 ;; Received 288 bytes from 192.36.148.17#53(I.ROOT-SERVERS.NET) in 58 ms
Aus den 13 genannten Root-Nameservern wurde zufĂ€llig âI.ROOT-SERVERS.NET.â ausgewĂ€hlt, um ihm die Frage nach âwww.heise.de.â zu stellen. Er antwortete mit sechs Nameservern zur Auswahl, die fĂŒr die Zone âde.â verantwortlich sind. Auch hier ist bei zwei Servern die Abfrage mittels IPv6 möglich.
heise.de. 86400 IN NS ns.plusline.de. heise.de. 86400 IN NS ns.heise.de. heise.de. 86400 IN NS ns2.pop-hannover.net. heise.de. 86400 IN NS ns.pop-hannover.de. heise.de. 86400 IN NS ns.s.plusline.de. ns.s.plusline.de. 86400 IN A 212.19.40.14 ns.heise.de. 86400 IN A 193.99.145.37 ns.plusline.de. 86400 IN A 212.19.48.14 ns.pop-hannover.de. 86400 IN A 193.98.1.200 ;; Received 220 bytes from 81.91.164.5#53(F.NIC.de) in 52 ms
Aus den sechs genannten Nameservern wurde zufĂ€llig âF.NIC.de.â ausgewĂ€hlt, um NĂ€heres ĂŒber âwww.heise.de.â zu erfahren. Er beantwortet die Anfrage mit fĂŒnf möglichen Delegierungen. Unter anderem mit einer Delegierung auf den Server âns.heise.de.â. Diese Information wĂŒrde ohne den dazugehörigen A Resource Record, auf 193.99.145.37 zeigend, auf demselben Server nichts helfen, denn der Name liegt in der Zone âheise.de.â, die er selbst verwaltet. Man spricht bei dieser Art von Information auch von Glue Records (von engl. glue, kleben). Sollte der Server âns2.pop-hannover.net.â fĂŒr den nĂ€chsten Schritt ausgewĂ€hlt werden, so wĂ€re in einer gesonderten Namensauflösung zunĂ€chst dessen IP-Adresse zu bestimmen, da diese hier nicht mitgesendet wurde.
www.heise.de. 86400 IN A 193.99.144.85 heise.de. 86400 IN NS ns.pop-hannover.de. heise.de. 86400 IN NS ns.plusline.de. heise.de. 86400 IN NS ns2.pop-hannover.net. heise.de. 86400 IN NS ns.s.plusline.de. heise.de. 86400 IN NS ns.heise.de. ns.heise.de. 86400 IN A 193.99.145.37 ns.pop-hannover.de. 10800 IN A 193.98.1.200 ns2.pop-hannover.net. 86400 IN A 62.48.67.66 ;; Received 220 bytes from 193.98.1.200#53(ns.pop-hannover.de) in 4457 ms
Aus den fĂŒnf genannten Nameservern wurde zufĂ€llig âns.pop-hannover.de.â herangezogen, um die Frage nach âwww.heise.de.â zu beantworten. Die Antwort lautet 193.99.144.85. Damit ist die Anfrage am Ziel angelangt. Es werden auch wieder dieselben Nameserver als verantwortlich fĂŒr âheise.de.â genannt, ohne also auf andere Nameserver zu verweisen.
FĂŒr den Reverse Lookup, also das Auffinden eines Namens zu einer IP-Adresse, wandelt man die IP-Adresse zunĂ€chst formal in einen Namen um, fĂŒr den man dann das DNS nach einem PTR Resource Record befragt. Da die Hierarchie bei IP-Adressen von links nach rechts spezieller wird (siehe Subnetz), beim DNS aber von rechts nach links, dreht man beim ersten Schritt die Reihenfolge der Zahlen um und aus der IPv4-Adresse 193.99.144.85 wird z. B. der Name â85.144.99.193.in-addr.arpa.â sowie aus der IPv6-Adresse 2a02:2e0:3fe:100::6 der Name â6.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.0.e.f.3.0.0.e.2.0.2.0.a.2.ip6.arpa.â erzeugt. (Dieser Name ist lang, da die implizit enthaltenen Nullen nun wieder explizit genannt werden mĂŒssen.)
Der PTR Resource Record fĂŒr die so umgeformte IPv4-Adresse lĂ€sst sich analog zum vorigen Beispiel bestimmen:
$ dig +trace +additional -t PTR 85.144.99.193.in-addr.arpa.
; <<>> DiG 9.5.1-P3 <<>> +trace +additional -t ptr 85.144.99.193.in-addr.arpa. ;; global options: printcmd . 2643 IN NS M.ROOT-SERVERS.NET. . 2643 IN NS A.ROOT-SERVERS.NET. . 2643 IN NS B.ROOT-SERVERS.NET. . 2643 IN NS C.ROOT-SERVERS.NET. . 2643 IN NS D.ROOT-SERVERS.NET. . 2643 IN NS E.ROOT-SERVERS.NET. . 2643 IN NS F.ROOT-SERVERS.NET. . 2643 IN NS G.ROOT-SERVERS.NET. . 2643 IN NS H.ROOT-SERVERS.NET. . 2643 IN NS I.ROOT-SERVERS.NET. . 2643 IN NS J.ROOT-SERVERS.NET. . 2643 IN NS K.ROOT-SERVERS.NET. . 2643 IN NS L.ROOT-SERVERS.NET. A.ROOT-SERVERS.NET. 10978 IN A 198.41.0.4 A.ROOT-SERVERS.NET. 2470 IN AAAA 2001:503:ba3e::2:30 C.ROOT-SERVERS.NET. 387 IN A 192.33.4.12 D.ROOT-SERVERS.NET. 2747 IN A 128.8.10.90 E.ROOT-SERVERS.NET. 7183 IN A 192.203.230.10 F.ROOT-SERVERS.NET. 14225 IN AAAA 2001:500:2f::f H.ROOT-SERVERS.NET. 7950 IN A 128.63.2.53 H.ROOT-SERVERS.NET. 13245 IN AAAA 2001:500:1::803f:235 I.ROOT-SERVERS.NET. 6172 IN A 192.36.148.17 J.ROOT-SERVERS.NET. 7168 IN A 192.58.128.30 J.ROOT-SERVERS.NET. 13860 IN AAAA 2001:503:c27::2:30 K.ROOT-SERVERS.NET. 3541 IN A 193.0.14.129 K.ROOT-SERVERS.NET. 9369 IN AAAA 2001:7fd::1 L.ROOT-SERVERS.NET. 3523 IN A 199.7.83.42 ;; Received 512 bytes from 192.168.2.1#53(192.168.2.1) in 50 ms
193.in-addr.arpa. 86400 IN NS ns3.nic.fr. 193.in-addr.arpa. 86400 IN NS sec1.apnic.net. 193.in-addr.arpa. 86400 IN NS sec3.apnic.net. 193.in-addr.arpa. 86400 IN NS sunic.sunet.se. 193.in-addr.arpa. 86400 IN NS ns-pri.ripe.net. 193.in-addr.arpa. 86400 IN NS sns-pb.isc.org. 193.in-addr.arpa. 86400 IN NS tinnie.arin.net. ;; Received 239 bytes from 199.7.83.42#53(L.ROOT-SERVERS.NET) in 170 ms
99.193.in-addr.arpa. 172800 IN NS auth50.ns.de.uu.net. 99.193.in-addr.arpa. 172800 IN NS ns.ripe.net. 99.193.in-addr.arpa. 172800 IN NS auth00.ns.de.uu.net. ;; Received 120 bytes from 202.12.28.140#53(sec3.apnic.net) in 339 ms
144.99.193.in-addr.arpa. 86400 IN NS ns.heise.de. 144.99.193.in-addr.arpa. 86400 IN NS ns.s.plusline.de. 144.99.193.in-addr.arpa. 86400 IN NS ns.plusline.de. ;; Received 114 bytes from 194.128.171.99#53(auth50.ns.de.uu.net) in 2456 ms
85.144.99.193.in-addr.arpa. 86400 IN PTR www.heise.de. 144.99.193.in-addr.arpa. 86400 IN NS ns.heise.de. 144.99.193.in-addr.arpa. 86400 IN NS ns.s.plusline.de. 144.99.193.in-addr.arpa. 86400 IN NS ns.plusline.de. ns.heise.de. 86400 IN A 193.99.145.37 ;; Received 148 bytes from 193.99.145.37#53(ns.heise.de) in 4482 ms
Die Antwort lautet also âwww.heise.de.â. Es ist jedoch weder notwendig, dass jeder IP-Adresse ein Name zugeordnet ist, noch mĂŒssen Hin- und RĂŒckauflösung einander entsprechen. Die Auflösung beginnt wieder mit dem Verweis auf die Root-Nameserver und die Delegierungen finden offensichtlich an den durch Punkte markierten Grenzen zwischen den Zahlen statt. Man sieht in dem Beispiel jedoch auch, dass nicht an jedem Punkt in einem Namen delegiert werden muss.
Da sich das DNS als zuverlĂ€ssig und flexibel erwiesen hat, wurden im Laufe der Jahre mehrere gröĂere Erweiterungen eingefĂŒhrt. Ein Ende dieses Trends ist nicht absehbar.
Im klassischen DNS ist es aufwendig, einem Namen eine neue IP-Adresse zuzuordnen. Das zugehörige Zonenfile muss (meist manuell) geĂ€ndert und der Nameserver neu geladen werden. Zeitliche Verzögerungen bis hin zu mehreren Tagen sind ĂŒblich. Mit Dynamischem DNS sind Ănderungen durch Senden eines entsprechenden DNS-Requests ohne Zeitverzug möglich.
Das Dynamische DNS gilt als Sicherheitsrisiko, da ohne spezielle Vorkehrungen jedermann DNS-EintrÀge löschen oder verÀndern kann. In Zusammenhang mit DHCP ist Dynamisches DNS nahezu zwingend erforderlich, da einem User hÀufig neue IP-Adressen zugewiesen werden. Der DHCP-Server sendet dazu bei jeder AdressÀnderung eine entsprechende Mitteilung an den Nameserver.
Bisher waren die Label â wie beschrieben â auf alphanumerische Zeichen und das Zeichen â-â eingeschrĂ€nkt. Dies hĂ€ngt vor allem damit zusammen, dass das DNS (wie auch das Internet ursprĂŒnglich) in den USA entwickelt wurde. Damit waren in vielen LĂ€ndern gebrĂ€uchliche Schriftzeichen (im deutschen Sprachraum zum Beispiel die Umlaute Ă€, ö, ĂŒ und Ă) oder Zeichen aus komplett anderen Schriftsystemen (zum Beispiel Chinesisch) ursprĂŒnglich nicht DNS-fĂ€hig.
Ein mittlerweile etablierter Ansatz zur VergröĂerung des Zeichenvorrats ist die 2003 in RFC 3490 beschriebene Internationalisierung von Domain-Namen IDNA. Um das neue System mit dem bisherigen kompatibel zu halten, werden die erweiterten ZeichensĂ€tze mit zulĂ€ssigen Zeichen kodiert, also auf derzeit gĂŒltige Namen abgebildet. Die erweiterten ZeichensĂ€tze werden dabei zunĂ€chst gemÀà dem Nameprep-Algorithmus (RFC 3491) normalisiert und anschlieĂend per Punycode (RFC 3492) auf den fĂŒr DNS verwendbaren Zeichensatz abgebildet. IDNA erfordert eine Anpassung der Netzwerkanwendungen (z. B. Web-Browser), die Nameserver-Infrastruktur (Server, Resolver) braucht jedoch nicht verĂ€ndert zu werden. Im deutschsprachigen Raum können seit MĂ€rz 2004 deutsche, liechtensteinische, österreichische und schweizerische Domains (.de, .li, .at und .ch) mit Umlauten registriert und verwendet werden. Auch bei einigen anderen Top-Level-Domains, insbesondere im asiatischen Raum, ist die Verwendung von IDNA möglich.
1999 beschrieb Paul Vixie im RFC 2671 einige kleinere, abwĂ€rtskompatible Erweiterungen am Domain Name System, die als EDNS Version 0 bezeichnet werden. Durch Einsatz eines Pseudo-Records als Header-Erweiterung kann der Anfragende zusĂ€tzliche Optionen setzen. Insbesondere kann er ĂŒbermitteln, dass er UDP-Antworten gröĂer als 512 Bytes entgegennehmen kann. DNSSEC-fĂ€hige Server und Resolver mĂŒssen EDNS beherrschen.
Eine weitere aktuelle Erweiterung des DNS stellt ENUM (RFC 2916) dar. Diese Anwendung ermöglicht die Adressierung von Internet-Diensten ĂŒber Telefonnummern, also das âAnwĂ€hlenâ von per Internet erreichbaren GerĂ€ten mit dem aus dem Telefonnetz bekannten Nummerierungsschema. Aus dem breiten Spektrum der Einsatzmöglichkeiten bietet sich insbesondere die Verwendung fĂŒr Voice over IP Services an.
Mit der Radio Frequency Identification können auf speziellen RFID-Etiketten abgelegte IDs â so genannte elektronische Produktcodes oder EPCs â berĂŒhrungslos gelesen werden. Das DNS kann dazu verwendet werden, zu einer ID den Server zu ermitteln, der Daten ĂŒber das zugehörige Objekt enthĂ€lt. Der Object Naming Service ONS wandelt dazu den EPC in einen DNS-Namen um und erfragt per Standard-DNS einen oder mehrere Naming Authority Pointer NAPTR.
Zur Filterung von Spam-Mails ĂŒberprĂŒfen viele Mailserver routinemĂ€Ăig mit Hilfe des DNS den Reverse-Lookups des sendenden Mailservers (reverse Lookup). Dieser muĂ nicht nur auch vorwĂ€rts wieder korrekt auflösen und auf die IP-Adresse des sendenden Systems zeigen (Forward-confirmed reverse DNS), sondern muĂ auch dem im SMTP-Protokoll genannten HELO-Hostnamen des sendenden Systems entsprechen.
Mittels Sender Policy Framework wird versucht, den Versand von gefĂ€lschten Absendern durch Dritte möglichst zu unterbinden. Zu jeder Mail-Domain wird dabei ĂŒber einen speziellen SPF Resource Record explizit aufgelistet, von welchen Servern und IP-Netzen mit E-Mails dieser Domain zu rechnen ist. SPF steht jedoch wegen zahlreicher technischer Schwierigkeiten, beispielsweise bei Weiterleitungen, in der Kritik.
Auch der Anti-Spam-Mechanismus DomainKeys (DKIM) greift auf EintrĂ€ge im DNS zurĂŒck, indem sendende Mailserver in DNS-TXT-Records ihren Public-Key veröffentlichen, mit denen sie ausgehende E-Mails signieren.
Neben den IP-Adressen können DNS-Namen auch ISDN-Nummern, X.25-Adressen, ATM-Adressen, öffentliche SchlĂŒssel, Text-Zeilen usw. zugeordnet werden. In der Praxis sind derartige AnwendungsfĂ€lle aber die Ausnahme.
DNS ist nicht auf das Internet beschrĂ€nkt. Es ist ohne weiteres möglich und mit der Definition vertrĂ€glich, fĂŒr die Auflösung lokaler Namen eigene Zonen im Nameserver einzurichten und dort die entsprechenden Adressen einzutragen. Der einmalige Aufwand zur Installation lohnt sich auch bei relativ kleinen Netzen, da dann alle Adressen im Netz zentral verwaltet werden können.
Bei gröĂeren Firmen oder Organisationen ist hĂ€ufig ein aus lokalem und Internet-DNS bestehendes Mischsystem (Split-DNS) anzutreffen. Die internen Nutzer greifen auf das lokale und die externen auf das Internet-DNS zu. In der Praxis können dadurch sehr komplizierte Konstellationen entstehen.
Der DNS-Server BIND kann auch mit DHCP zusammenarbeiten und damit fĂŒr jeden Client im Netz eine Namensauflösung ermöglichen.
Unter Windows gibt es noch einen anderen Dienst zur Namensauflösung â WINS, der eine Ă€hnliche Funktion zur VerfĂŒgung stellt, allerdings ein anderes Protokoll verwendet.
Es ist möglich, mehrere DNS-Server zu verbinden. Die als Master bezeichneten Server sind fĂŒr eine oder mehrere Domains verantwortlich. Die Slaves aktualisieren nach einer Ănderung selbst die Daten, der Master verteilt diese Daten nicht automatisiert. Die Abholung der Daten wird ĂŒber einen Zonentransfer realisiert. Z.B. kann eine Firma mit mehreren Standorten an einem Platz einen Master fĂŒr ihr internes DNS betreiben, der die Server in den AuĂenstellen versorgt. Der Zonentransfer geht bei BIND ĂŒber TCP (per Default Port 53) und erfordert empfohlenerweise Authentifizierung. Die Slaves aktualisieren sich, wenn sich die Seriennummer fĂŒr eine Zonendatei Ă€ndert oder sie eine entsprechende Nachricht vom Master erhalten. Die Freigabe fĂŒr den Transferport sollte man per Firewall an die IP-Adresse des Masters binden. Bei anderen Softwarepaketen werden die Daten unter UmstĂ€nden auf anderen Wegen abgeglichen, beispielsweise durch LDAP-Replikation, rsync, oder noch andere Mechanismen.
Das DNS ist ein zentraler Bestandteil einer vernetzten IT-Infrastruktur. Eine Störung kann erhebliche Kosten nach sich ziehen und eine VerfĂ€lschung von DNS-Daten Ausgangspunkt von Angriffen sein. Mehr als zehn Jahre nach der ursprĂŒnglichen Spezifikation wurde DNS um Security-Funktionen ergĂ€nzt. Folgende Verfahren sind verfĂŒgbar:
Hauptziel von DNS-Angriffen ist es, durch Manipulation DNS-Teilnehmer auf falsche Webseiten zu lenken, um anschlieĂend Passwörter, PINs, Kreditkartennummern usw. zu erhalten. In seltenen FĂ€llen wird versucht, den Internet-DNS durch Denial-of-Service-Attacken komplett auszuschalten und so das Internet lahmzulegen. AuĂerdem kann das DNS dazu verwendet werden, gezielte Angriffe auf Einzelpersonen oder Unternehmen zu intensivieren.
Bei einer Distributed-Denial-of-Service-Attacke werden Nameserver durch einen hohen Datenstrom von DNS-Anfragen ĂŒberlastet, so dass legitime Anfragen nicht mehr beantwortet werden können. Gegen DDOS-Angriffe auf Nameserver gibt es zur Zeit keine Abwehrmöglichkeit. Als vorbeugende MaĂnahme kann lediglich versucht werden, die Nameserver entsprechend zu dimensionieren bzw. ein verteiltes Netz mit möglichst vielen Servern zu installieren. Solch eine Attacke ist jedoch aufwĂ€ndig, denn man muss mindestens eine so leistungsschnelle Leitung besitzen wie der Server selbst, was also schwer realisierbar ist. Botnetze und dergleichen werden bei solchen Attacken hĂ€ufig eingesetzt.
Der DNS Amplification Attack ist ein Denial-of-Service-Angriff, bei dem nicht der DNS selbst das eigentliche Angriffsziel ist, sondern ein unbeteiligter Dritter. Ausgenutzt wird, dass DNS-Server in manchen FĂ€llen auf kurze Anfragen sehr lange Antworten zurĂŒcksenden. Diese werden auf die IP-Adresse des Opfers gelenkt. Ein Angreifer kann damit den von ihm ausgehenden Datenstrom substantiell verstĂ€rken und so den Internet-Zugang seines Angriffziels stören.
Beim DNS-Spoofing wird einem anfragenden Client eine Antwort mit einer falschen Absender-IP-Adresse untergeschoben, so dass dieser auf eine falsche Web-Seite gelenkt wird.
Beim Cache Poisoning werden einem anfragenden Client zusĂ€tzlich zur korrekten Antwort manipulierte Daten ĂŒbermittelt, die dieser in seinen Cache ĂŒbernimmt und spĂ€ter, möglicherweise ungeprĂŒft, verwendet.
Wer einen autoritativen DNS-Server fĂŒr seine eigenen Domains betreibt, muss natĂŒrlich fĂŒr Anfragen von beliebigen IP-Adressen offen sein. Um zu verhindern, dass Internetteilnehmer diesen Server als allgemeinen Nameserver verwenden (z. B. fĂŒr Angriffe auf Root-Server), erlaubt BIND es, die Antworten auf die eigenen Domains einzuschrĂ€nken. Z. B. bewirkt die Option allow-recursion {127.0.0.1; 172.16.1.4;}; , dass rekursive Anfragen, d. h. Anfragen auf andere Domains, ausschlieĂlich fĂŒr den lokalen Host (localhost) sowie 172.16.1.4 beantwortet werden. Alle anderen IP-Adressen bekommen nur auf Anfragen auf eigene Domains eine Antwort.
Eine zusĂ€tzliche SicherheitsmaĂnahme ist es, fĂŒr Input von auĂen nur UDP zuzulassen. ICCP DP kann zusĂ€tzlich zugelassen werden. Dies variiert jedoch je nach Proxy-Eigenschaften.
Ein offener DNS-Server kann auch eine Falle sein, wenn er gefĂ€lschte IP-Adressen zurĂŒckgibt, siehe Pharming.
Bei Schwarzen Listen (auch 'RBL'; AbkĂŒrzung fĂŒr engl. Realtime Blackhole Lists) z. B. gegen Spammer, wird DNS angewendet, um abzufragen, ob ein Domainname oder eine IP-Adresse gelistet ist: Der Client schickt eine DNS-Anfrage an den Rbl-Server. Dieser antwortet mit '127.0.0.1', wenn die Adresse nicht gelistet ist, sonst mit '127.0.0.x', x>1. Der Wert von 'x' kann noch zusĂ€tzliche Informationen ĂŒber die gelistete Adresse enthalten. Da der Bereich 127.0.0.0/8 fĂŒr Localhost reserviert ist, sind Missdeutungen nicht möglich.
Um DNS-Namen im Internet bekannt machen zu können, muss der Besitzer die Domain, die diesen Namen enthĂ€lt, registrieren. Durch eine Registrierung wird sichergestellt, dass bestimmte formale Regeln eingehalten werden und dass Domain-Namen weltweit eindeutig sind. Domain-Registrierungen werden von Organisationen (Registrars) vorgenommen, die dazu von der IANA bzw. ICANN autorisiert wurden. Registrierungen sind (von wenigen Ausnahmen abgesehen) gebĂŒhrenpflichtig. FĂŒr Domains unter .de ist die DENIC zustĂ€ndig.
Detaillierte Informationen finden sich unter Domain-Registrierung.
Apple hat bei der Entwicklung von Mac OS X mehrere Erweiterungen am DNS vorgenommen, welche die umfassende Selbstkonfiguration von Diensten in LANs ermöglichen soll. Zum einen wurde Multicast DNS (âmDNSâ) eingefĂŒhrt, das die Namensauflösungen in einem LAN ohne einen dedizierten Namensserver erlaubt. ZusĂ€tzlich wurde noch DNS-SD (fĂŒr âDNS Service Discoveryâ) eingefĂŒhrt, die die Suche (âBrowsingâ) nach Netzwerkdiensten in das DNS beziehungsweise mDNS ermöglicht. mDNS und DNS-SD sind bisher keine offiziellen RFCs des IETF, sind aber trotzdem bereits in verschiedenen (auch freien) Implementationen verfĂŒgbar. Zusammen mit einer Reihe von anderen Techniken fasst Apple DNS-SD und mDNS unter dem Namen âZeroconfâ zusammen, als Bestandteil von Mac OS X auch als âRendezvousâ bzw. âBonjourâ.
Auswahl bekannter Software fĂŒr Namensauflösung.