Fachbeitrag «DNS - Domain Name System»

Domainname in IP-Adresse auflösen

1. Die Webanfrage richtig adressieren

Im folgenden wird von einem DNS-Server gesprochen. Gemeint ist damit die Server-HW, auf der ein DHCP-Dienst läuft.

Eine Webseite über die IP-Adresse des Webservers aufzurufen, ist wenig konfortabel. Besser wäre es, wenn dies über einen einprägsamen Namen erledigt werden könnte. Unumstösslich jedenfalls ist, dass das Internet-Protokoll ausschliesslich mit der IP-Adresse zurecht kommt. Im folgenden wird gezeigt, wie ein Webseitenaufruf ablaufen kann:

  1. Kommunikation über das Netzwerk (Bild 1):
    • Der IP-Header benötigt zur Adressierung des Webserver-Anfragepakets nicht den Server-Hostname sondern seine IP-Adresse
    • Die IP-Adresse ist aber wenig einprägsam
  2. Die lokale Host-Tabelle (Bild 2):
    • Die Problematik ist, ein praktikables Namenskonzept für weltweit ca. ¼ Milliarden Webserver zu erstellen
    • Weiter gilt es, sämtliche lokalen Host-Dateien aktuell zu halten
  3. Die Lösung für das Namenskonzept (Bild 3):
    • Hierarchisches Namenskonzept: www.Secondlevel-Domain.Toplevel-Domain
    • Aber als Nachteil immer noch die dezentrale bzw. lokale Namensauflösung
  4. Eine zentrale Namensauflösung (Bild 4):
    • Die Namensauflösung erfolgt über zentrale Systeme, sogenannte DNS-Server
    • Bessere Wartbarkeit als bei lokaler Lösung
  5. DNS-Domänennamespace (Bild 5): Die hierarchische Struktur bzw. Organisation des Namenraums

2. Was versteht man unter «Domain»?

Eine Domain ist ein zusammenhängender Teilbereich des hierarchischen Domain Name System (DNS). Im Domain-Vergabeverfahren ist es ein im Internet weltweit einmaliger und eindeutiger und unter gewissen Regeln frei wählbarer Name unterhalb einer Top-Level-Domain. Die exakten Regeln für die Namensvergabe legt die Vergabestelle (NIC = Network Information Center) der jeweiligen Top-Level-Domain fest. Eine Domain kann beliebig in durch Punkte getrennte Subdomains unterteilt werden. Mit jedem so gebildeten voll qualifizierten Domain-Namen (FQDN = Fully Qualified Domain Name) kann ein beliebiges physisches oder virtuelles Objekt weltweit eindeutig adressiert werden. Die Verbindung zwischen dem FQDN und dem tatsächlichen Aufenthaltsort des Objektes wird über Einträge in Nameservern hergestellt, die letztlich auf die IP-Adresse eines Servers verweisen.

3. Was versteht man unter «Top-Level-Domain»?

TLD (Top-Level-Domain bezeichnet den letzten Abschnitt (rechts vom Punkt) einer Domain im Internet und stellt die höchste Ebene der Namensauflösung dar. Ist der vollständige Domain-Name eines Rechners beziehungsweise einer Website beispielsweise www.juergarnold.ch, so entspricht das rechte Glied (.ch) der Top-Level-Domain dieses Namens. TLDs werden von der IANA in Gruppen unterteilt:

  • Allgemeine TLDs: generic TLDs (gTLDs), unterteilt in sponsored TLDs (sTLDs) und unsponsored TLDs (uTLDs)
  • Länderspezifische TLDs: country-code TLDs oder ccTLDs

4. Was versteht man unter «Subdomain»?

Als Subdomain bezeichnet man eine Domain, welche in der Hierarchie unterhalb einer anderen liegt. Im allgemeinen Sprachgebrauch sind damit meist Domains in der dritten oder einer weiteren Ebene gemeint. Eine Domain, die direkt unterhalb der Top-Level-Domain liegt, wird umgangssprachlich nicht als Subdomain, sondern als Second-Level-Domain oder nur als Domain bezeichnet.

5. Was versteht man unter «Fully Qualified Domain Name»?

Der vollständige Name einer Domain wird als FQDN (Fully Qualified Domain Name) bezeichnet und ist eine absolute Adresse:

Hostname . Secondlevel-Domain . Toplevel-Domain . Root-Label (z.B. www.sbb.ch.)
Hostname . Subdomain . Secondlevel-Domain . Toplevel-Domain . Root-Label (z.B. ftp.shop.muster-gmbh.com. oder server01.verwaltung.mustergmbh.local.)

Das Root-Label bleibt allerdings immer leer, so dass der FQDN mit dem Punkt abschliesst. Bei Adresseingaben in Browsern wird daher auf den Punkt verzichtet. Allerdings wäre es dann, genau genommen, keine absolute Adresse mehr, sondern eine relative. Bei der Angabe in Resource Records auf Nameservern muss zwingend der volle Name mit Punkt angegeben werden.

Was versteht man unter «URL»?

Eine URL (Uniform Resource Locator) identifiziert und lokalisiert eine Ressource (z.B. Webseite, FTP-Server etc.) über die zu verwendende Zugriffsmethode/Protokoll (z.B. HTTP, FTP) und den Ort in Computernetzwerken.

Schema://Host:Port/Pfad?Query#Fragment
https://www.beispiel.ch:443/index.html?p1=A&p2=B#htmltextmarke1

6. DNS-Zonen

  • Zone = Teil des Domänenbaums, für den ein Nameserver zuständig ist.
  • Eine Zone besteht aus Resource-Records, die in einer Zonendatei gespeichert sind.
    Bsp.: A-Resource Record = IPv4 Adresse eines Hosts.
  • Eine Zone kann eine gesamte Domain umfassen. Normalerweise werden Subdomänen aber durch eigene Zonen repräsentiert.

Unterschied zwischen Domain und Zone

  • Eine Domain umfasst den gesamten untergeordneten DNS-Namensraum.
  • Eine Domäne kann in mehrere Zonen aufgeteilt werden, indem man die Zuständigkeit für Subdomains delegiert.
  • Von einer Zone spricht man auch, wenn man die physische Realisierung meint.
    (Auf welchem Server und in welcher Zonendatei die DNS-Einträge liegen)

7. Forward-Lookup-Abfrage

  • Forward-Lookup-Abfrage: Hostname > IP-Adresse (Zu Name Telefon-Nr. suchen)
  • Reverse-Lookup-Abfrage: IP-Adresse > Hostname (Zu Telefon-Nr. Name suchen)

8. Rekursive und iterative DNS-Serverabfrage

  • Rekursiv bedeutet:
    Der Server soll Abfragen an DNS-Server mit folgender IP-Adresse weiterleiten…
  • Iterativ bedeutet:
    Der Server soll keine Abfragen weiterleiten sondern sich selber «durchfragen»
    Stammhinweise: Die derzeit 13 existierenden Root-Nameservern wie z.B. «a.root-servers.net», «b.root-servers.net» usw.

9. Namensauflösung aus einem Intranet heraus

Für die Namensauflösung von internen Host’s (Servern/Druckern etc.) und externen Hosts (Internet, Webserver, FTP etc.) ist derselbe DNS-Server zuständig. (Siehe Bild oben) Dieser kann bei DNS-Anfragen für externe Host’s – wie bereits ausführlich beschrieben – rekursiv oder iterativ arbeiten. Pro Gerät/PC lässt sich in den Netzwerkeinstellungen nur ein DNS-Server konfigurieren. (Inklusive einem zweiten, identischen als Redundanz)

Ein DNS-Dienst mit Einträgen von internen Maschinen ist in grösseren Firmen ein Thema, wo z.B. Drucker oder Server über die FQDN wie z.B. server01.farbruck.local. angesprochen werden sollen, um bei allfälligen IP-Adresswechseln dieser Geräte den Administrationsaufwand auf das Aktualisieren der geänderten IP-Adresse im DNS-Server zu beschränken. In privaten und kleinen internen Netzen ist dies meist nicht nötig, so dass der DNS-Dienst, der meist im xDSL-Zugansgerät zu finden ist, nur externe Adressen auflösen muss und somit auf eine einfache Weiterleitung der DNS-Anfrage an z.B. den DNS-Server des Providers eingeschränkt wird.

10. Dynamisches DNS-Server-Updates

  • DHCP bzw. dynamische IP-Adressierung erfordert, dass die DNS-Einträge regelmässig aktualisiert werden müssen.
  • DHCP-Dienst informiert DNS-Server über dynamisch neu zugewiesene IP-Adresse und entsprechendem Hostname.
    Z.B. 10.0.0.2 = CAU-IT-056-01
    DNS ergänzt/modifiziert selbständig den DNS-A-Host-Eintrag.
    Z.B. 10.0.0.2 = CAU-IT-056-01.tbz.local

11. Wo findet man die Hostdatei?

  • UNIX/LINUX: /etc/hosts
  • WIN: c:\Windows\System32\drivers\etc\hosts

12. DNS Tools

  • DNS-Konsole in WIN-Server-Verwaltung
  • DNS-Serverprotokoll in WIN-Server-Ereignisanzeige
  • nslookup
    Beispiele:
    nslookup DNS-Server-IP-Adresse
    nslookup DNS-Server-Hostname myServer
    nslookup farbdruck.local
    nslookup farbdruck.ch
    nslookup myServer.farbdruck.local
    nslookup myServer.farbdruck.ch
    dnscmd (WIN-Kommando)
  • ipconfig (WIN-Kommando) / ifconfig (UNIX-Kommando)
    Beispiele:
    ipconfig /displaydns (Zeigt den lokalen DNS-Resolver-Cache an)
    ipconfig /flushdns (Löscht den lokalen DNS-Resolver-Cache)
    ipconfig /registerdns  (Erneuert den DHCP-Lease und registriert den DNS Name neu)

Ergänzung zu nslookup:
Wenn sie auf der Konsole nur nslookup «ENTER» eingeben, arbeiten sie im interaktiven Modus von nslookup und werden ohne Parameter mit dem in den Netzwerkeinstellungen eingetragenen DNS-Server verbunden. Sie können dann alle obigen nslookup-Kommandos ohne nslookup eingeben. Mit der Eingabe nslookup -server können sie sich mit ihrem Wunsch-DNS-Server verbinden. Allerdings werden ihnen nicht alle Antwort geben.

13. Alternativen zur DNS-Namensauflösung

  • WINS (Windows Internet Name Service): Ähnlich NetBIOS Name Service ist eine Microsoft-Implementation von NetBIOS over TCP/IP für LAN’s und dient wie DNS der zentralen Namensauflösung – Im Gegensatz zu DNS aber ohne Hierarchien. Ausser bei Altlasten empfiehlt sogar Microsoft, DNS dem WINS vorzuziehen
  • NetBEUI ist Bestandteil des Microsoft-Protocol-Stack und auf der Vermittlungsschicht (Ebene 3) des OSI-Schichtenmodells angesiedelt, von wo aus es mit dem NetBIOS (Darstellungsschicht) beziehungsweise mit dem LLC (Sicherungsschicht) kommuniziert – NetBEUI bildet zusammen mit NetBIOS den Microsoft-Protocol-Stack, der in heutigen Netzwerken üblicherweise durch den IP-Protocol-Stack ersetzt wurde
  • UPnP (Universal Plug and Play) dient zur herstellerübergreifenden Ansteuerung von Geräten über ein IP-basiertes Netzwerk, wurde ursprünglich von Microsoft eingeführt und ermöglicht unter anderem, dass sich verschiedene Geräte ohne Interaktion des Benutzers finden
  • PNRP (Peer Name Resolution Protocol) ist ein Netzwerkprotokoll zur Namensauflösung nach dem Peer-to-Peer-Modell und soll die Veröffentlichung von Namen und deren Auflösung in Adressen ohne Server ermöglichen, wie sie im Domain Name System notwendig sind – Das Protokoll wurde von Microsoft entwickelt
  • LLTD (Link Layer Topology Discovery)  Verbindungsschicht-Topologieerkennung - ist ein Microsoft-Windows-Netzwerkprotokoll, welches eingesetzt wird, um die Topologie eines Netzwerkes zu erfassen und darzustellen sowie auch zur Analyse der Dienstgüte (QoS)

Fazit: In gewissen Situationen (vor allem bei WIN-PC’s, Stichwort Arbeitsgruppe) werden ihnen fremde Rechner bzw. Hostnamen angezeigt, von denen sie in Ermangelung eines DNS-Serves eigentlich nichts wissen sollten. Dies ist auf die obengenannten alternativen Verfahren zurückzuführen.

14. Verbindungsspezifisches DNS-Suffix

(Betrifft WIN-PC’s, die nicht über ActiveDirectory an eine Domäne angeschlossen sind)

Falls ein Datenserver mit dem Hostnamen «abc» auf dem DNS-Server der Domäne «xyz.local» eingetragen ist, wird ihnen die DNS-Anfrage auf ihrem PC «nslookup abc.xyz.local» die IP-Adresse des Servers zurück liefern. Die verkürzte Abfrage «nslookup abc» wird allerdings nicht zum Ziel führen, es sei den, auf ihrem PC ist das verbindungsspezifisches DNS-Suffix gesetzt, dass da lautet: «xyz.local». Somit wird ihre nslookup-Abfrage «nslookup abc» automatisch zu «nslookup abc.xyz.local» ergänzt.

Das verbindungsspezifisches DNS-Suffix kann man in den Eigenschaften der Netzwerkkarte (ncpa.cpl) unter Eigenschaften von Internetprotokoll im Reiter Erweitert, dann DNS eintragen.

(Das primäre DNS-Suffix des Computers findet man in den Systemeigenschaften (sysdm.cpl) unter dem Reiter Ändern, danach Weitere… im Fenster DNS-Suffix und NetBIOS-Computername)

15. DNS-Sicherheitsrisiken

  • Dienstverweigerungsangriff (Denial-of-Service). Verfügbarkeit des Netzwerkdienstes unterbinden durch überfluten des DNS-Servers mit rekursiven Anfragen.
  • Umleitung: DNS-Abfragen an von Angreifer gesteuerten Server umleiten, indem man den DNS-Cache eines DNS-Servers mit fehlerhaften DNS-Daten füllt. Ermöglicht durch Schreibzugriff auf DNS-Daten z.B. bei unsicheren dynamischen Updates
  • Gefahr, von einem «gefakten» DHCP-Server eine falsche DNS-Serveradresse geliefert zu bekommen