DNS - Domain Name System

DNS ist erforderlich für Windows 2000/2003-Netzwerke, die AD verwenden. DNS wird auch im Internet verwendet.

DNS ist ein Client-Server basierendes Protokoll für IP-Netze, das dazu dient, Host-Namen in IP-Adressen aufzulösen. DNS ist auch die Hauptmethode unter Windows 2000/2003 für Namensauflösung. Windows 2000 oder XP-Clients benützen DNS um Netzwerk-Dienste, wie Domänen Controller zu finden. Frühere Windows-Versionen benutzten NETBIOS-Computer Namen und erforderten entweder NETBIOS Broadcasts oder Windows Internet Naming Service (WINS)-Server.

Zu Beginn des Internets war die Namensauflösung noch relativ einfach. Zwar konnte sich schon damals niemand viele IP-Adressen merken. Host Name machten hier das Leben einfacher. Aufgrund der relativ geringen Anzahl von vorhandenen Hosts genügte aber eine einfache Tex-Datei, die HOSTS-DATEI, für die Namensauflösung. Neue Host-Namen wurden manuell hinzugefügt. Diese Datei wurde auf jeden Rechner, der am LAN hing, kopiert.

Die HOSTS-Datei befindet sich unter Windows 2000 unter %systemroot%\SYSTEM32\DRIVERS\ETC

Die HOSTS-Datei auf dem Windows 2000 Rechner,  mit dem ich gerade diesen Abschnitt schreibe, sieht so aus:

# Copyright (c) 1993-1999 Microsoft Corp.
#
# Dies ist eine HOSTS-Beispieldatei, die von Microsoft TCP/IP
# für Windows 2000 verwendet wird.
#
# Diese Datei enthält die Zuordnungen der IP-Adressen zu Hostnamen.
# Jeder Eintrag muss in einer eigenen Zeile stehen. Die IP-
# Adresse sollte in der ersten Spalte gefolgt vom zugehörigen
# Hostnamen stehen.
# Die IP-Adresse und der Hostname müssen durch mindestens ein
# Leerzeichen getrennt sein.
#
# Zusätzliche Kommentare (so wie in dieser Datei) können in
# einzelnen Zeilen oder hinter dem Computernamen eingefügt werden,
# aber müssen mit dem Zeichen '#' eingegeben werden.
#
# Zum Beispiel:
#
# 102.54.94.97 rhino.acme.com # Quellserver
# 38.25.63.10 x.acme.com # x-Clienthost

127.0.0.1 localhost

Mit dem Wachsen der TCP/IP-Netze und des Internets, wurde die HOSTS-Datei Methode nicht mehr handhabbar.1984 wurden 2 RFCs (Requests for Comments), 882 und 883 veröffentlicht, die DNS spezifizierten. Diese wurden später durch die RFCs 1034 und 1035 ersetzt.

DNS ist eine verteilte Datenbank, die es lokalen Administratoren erlaubt, nur ihren Teil der Datenbank zu warten. Die Namensauflösung funktioniert dagegen im im ganzen Netzwerk. DNS besteht aus 2 Teilen - DNS-Clients und DNS-Servern.

Der Server-Teil ist der Nameserver. Nameserver halten die Zonen - ein Segment der Datenbank - über den Sie die Hoheit haben. Der DNS-Client wird auch Resolver genannt - er stellt die Auflösungsanforderung. Der DNS-Client kann jeder TCP/IP-Client sein, der DNS unterstützt.

Die DNS-Datenbank ist wie ein umgekehrter Baum aufgebaut. Die Root des Baumes ist die Root-Domäne und wird als Punkt "." dargestellt.

Unter der Root sind die Top-Level Subdomänen wie .com, .edu, .de. 1998 übergaben die Vereinigten Staaten die Rechte für die Internet-Namens  und -Adressierungsautorität  an eine Organisation namens Internet Corporation for Assigned Names and Numbers (ICANN).

Sub-Domänen sind DNS-Management Strukturen. Der lokale Administrator für diese Domänen ist verantwortlich für seinen Teil  der DNS-Datenbank. Diese Sub-Domänen können in weitere geteilt werden, deren Autorität wiederum delegiert werden kann.

Ein absoluter Host-Name in DNS wird als FQDN (Fully Qualified Domain Name) bezeichnet. Ein FQDN beginnt mit dem Host-Namensteil und geht weiter bis zur root. www.lars-web.com.de beschreibt den Host www in  der Sub-Domäne lars-web.com der Top-Level-Domain .de.

Die Einträge in einer DNS Datenbank bestehen aus resource records (RRs). Jedes RR indentifiziert ein bestimmtes Teil in der Datenbank. Es gibt verschiedene Typen von RRs.

Name Server

Canonical Name (an alias) 

Description 

Class 

TTL 

Type 

Data 

Start of Authority 

Internet (IN) 

Default TTL is 60 minutes 

SOA 

Owner Name, Primary Name Server DNS Name, Serial Number, Refresh Interval, Retry Interval, Expire Time, Minimum TTL 

Host 

Internet (IN) 

Zone (SOA) TTL 

Owner Name (Host DNS Name), Host IP Address 

Internet (IN) 

Zone (SOA) TTL 

NS 

Owner Name, Name Server DNS Name 

Mail Exchanger 

Internet (IN) 

Zone (SOA) TTL 

MX 

Owner Name, Mail Exchange Server DNS Name, Preference Number 

Internet (IN) 

Zone (SOA) TTL 

CNAME 

Owner Name (Alias Name), Host DNS Name 

SOA-Record - Start of Authority

Enthält Informationen für Nameserver, die sich auf die administrative Behandlung einer Zone beziehen und nicht auf den eigentlichen Inhalt.

Serial 
Aufsteigende Zahl, anhand welcher festgestellt werden kann, ob sich ein Zonefile geändert hat oder nicht. Wird bei einer Änderung der Zone diese "Versionsnummer" nicht hoch gesetzt, werden alle anfragenden Secondary Nameserver, die vorgenommenen Änderungen nicht übernehmen, da sie davon ausgehen, dass sich die Zone nicht geändert hat.

Refresh 
Ist das Zeitintervall (i.d.R. acht Stunden), nach dessen Ablauf ein Secondary DNS beim Primary DNS nachprüfen muss, ob die vorgehaltenen Daten noch aktuell sind

Retry 
Falls der Primary bei einem Refresh nicht erreichbar sein sollte, wird nach Ablauf dieses Zeitintervalls von dem jeweiligen Secondary ein erneuter Versuch unternommen, einen sog. Zone Transfer (AXFR) auszuführen.

Expiry 
Wenn nach dem Ablauf der Zeitspanne noch kein Refresh vorgenommen werden konnte, wird die Zone als "Ungültig" (expired) erklärt. Daraus resultiert, dass der NS für diese Zone keine authoritative Antwort mehr gibt.

Minimum TTL 
Die TTL (Time To Live) gibt an, wie lange ein nicht authoritativer NS diese Zone ohne Nachfrage cashen darf. 

Diese Werte sind dafür verantwortlich, wie schnell eine Änderung der Daten einer Domain weltweit propagiert wird. Bei einer Redelegation einer Domain auf neue Nameserver sind immer die SOARecords der übergeordneten (delegierenden) Zone in Betracht zu ziehen. Daraus resultiert, dass der normale Dienstanbieter - z.B. bei Änderungen der Nameserver unterhalb einer Topleveldomain - nur bedingt Einfluss auf die zur Propagierung notwendigen Dauer hat.

NS-Record

Syntax: $domain IN NS $nameserver

Das NS-Record gibt an, welche Nameserver für diese Domain authoritativ sind. Aus der Reihenfolge der angeführten
Nameserver lässt sich nicht schließen, welcher Nameserver der Primary und welcher der Secondary ist.

A-Record

Syntax: $domain IN A $ip

Das A-Record dient dem Hauptzweck, der Namensauflösung; gibt also an, welche IP für die Domain hinterlegt ist. Dieser Eintrag muss nicht zwangsläufig vorhanden sein, man kann eine Domain beispielsweise durchaus auch nur für Mailservices nutzen. Auf der anderen Seite kann man auch mehr als einen Record pro Domain eintragen. Die jeweiligen IPs werden in diesem Fall dann roundrobin, d.h. bei jeder Anfrage eine neuer Record, ausgegeben. Dies ist besonders für größenskalierbare Systeme wichtig.

MX-Record

Syntax: $domain IN MX $prioritaetsnummer $mailserver.

Der MX-Record (Mail Exchange) ist ein Eintrag im DNS einer Domäne, der festlegt, welche Server für den Empfang vom E-Mails an Mailadressen in der Domaine zuständig sind.

Beispiel

Ein Institut betreibt einen Mailserver mit dem Hostnamen MAILSRV.ABC.MUNICH.UNI.DE. Die Mitarbeiter des Instituts und vielleicht auch einige Studierende erhalten Mailadressen wie KARL@ABC.MUNICH.UNI.DE... 

Damit Nachrichten an solche Adressen richtig zugestellt werden, ist ein Eintrag in den Nameservern der Universität erforderlich, der sogenannte MX-Record (MX = Mail Exchange). Dieser MX-Record enthält die Information, dass für eMail an die Domain ABC.MUNICH.UNI.DE der Host MAILSRV.ABC.MUNICH.UNI.DE zuständig ist. 

Grundsätzlich verwenden Mailserver für den Mailversand via SMTP die MX-Records. Deshalb werden für jede Domain (so sie denn Mails erhalten will) neben den "normalen" DNS-Records auch MX-Records in den zuständigen Nameservers eingetragen. Beispiel:

abc.de MX 5 mail.abc.de

Bedeutung:

abc.de Name der Domain

MX Code des Records

5 Priorität; es können mehrere Mailserver für eine Domain eingetragen sein, sie sollten aber unterschiedliche Prioritäten haben. Jeder Sendeversuch wird zuerst an den Server mit der niedrigsten Prioritätsnummer versucht, wenn das schief geht an denjenigen mit der nächst höheren Nummer, etc.

mail.abc.de Name des Mailservers; sollte ein Name sein, der für dieselbe Domain als "A"-Record eingetragen ist (hier kann auch direkt eine IP stehen, führt aber bei manchen Mailservern zu Problemen)

Der zugehörige A-Record würde hier so aussehen:

mail.abc.de A 123.235.34.211

Ablauf des Mailversand:

1. Ich schreibe eine Mail an user@abc.de und schicke diese mit Outlook o.ä. an meinen Mailserver

2. Mein Mailserver ruft die MX-Records für abc.de ab und erhält einen Record, der auf mail.abc.de zeigt

3. Mein Mailserver ruft die IP-Adresse für mail.blabla.de ab und macht dann eine Verbindung auf diese IP-Adresse, Port 25

4. Die beiden Mailserver reden miteinander und sofern der mail.abc.de nichts einzuwenden hat, nimmt er meine Mail entgegen und legt sie in das Postfach von user@abc.de

Falls der Mailserver nicht nur Mails empfangen, sondern auch versenden soll, ist noch ein Detail zu beachten. Als Antispam-Maßnahme prüfen immer mehr Mailserver beim Mail-Empfang, ob die IP-Adresse des Sendeserver im DNS registriert ist. Daher sollte sichergestellt sein, dass eine "Reverse Lookup" für die IP-Adresse funktioniert

C-Name

Syntax: $domain IN CNAME $zieldomain.

CNAME steht für canonical Name und ist eine Weiterleitung auf das Zonenfile der angegebenen Zieldomain. Somit gelten alle Einträge (NS, MX, A) dieser Zieldomain.

Dient i. d. R. dazu Aliase zu definieren.

post CNAME mail.abc.de

 

Reverse Lookup Zonen

Diese Art von Zonen besitzen wie die Forward Zonen einen SOA Eintrag und NS Einträge. Ansonsten sind in dieser Zone PTR (PoinTeR) Einträge zu finden, die von einer IP Adresse der Zone auf einen DNS Namen zeigen. Sie dienen also zur Auflösung von IP-Adressen in DNS-Namen. Der Name der Zone besteht aus den Zahlen der IP Adresse in umgekehrter Reihenfolge mit dem Nachsatz '.in-addr.arpa', z. B. für das Netzwerk 10.9.8.??? ist der Zonenname 8.9.10.in-addr.arpa

Record: PTR

Bildet IPv4-Adressen auf Namen ab ("reverse mapping“).

23.2.1.10.IN-ADDR.ARPA. 17h36m4s IN PTR www.domain.com.

(Man beachte den Punkt am Ende von domain.com und dass die Reihenfolge der IP umgekehrt wurde!)

DNS Zonen

Name Servers haben die Autorität über eine oder mehrere DNS-Zonen. Zonen sind ein Teil der DNS-Datenbank. Zonen können einzelne Domänen beinhalten, zwei Subdomänen oder verschiedene andere Stufen des Namensraums.

 

Eine Zonen-Datei beinhaltet alle notwendigen Informationen für einen DNS-Sserver, die dieser benötigt um einen Host-Namen in eine IP-Adresse aufzulösen.

Windows 2000 unterstützt die Standard-Typen von DNS-Zonen Dateien sowie einen neuen Typ, die Active Directory Integrierte Zone.

Eine DNS-Datenbank ist in der Regel über mehrere Zonen verteilt. Ein einzelner DNS Server kann so konfiguriert sein, dass er keinen, einen oder mehrere Zonen enthält. Jede Zone ist an einer speziellen Domäne verankert, die als zone's root domain bezeichnet wird.

Standard Primary Zone

Eine Standard Primary Zone ist eine Lese-/Schreib-Kopie einer DNS-Datenbank. Diese befindet sich in Forma einer Text-Datei in einem Teil des DNS-Subsystems. Der DNS-Server-Dienst lädt diese Text-Datei in seinen Speicher, wenn er gestartet wird. Durch einen Prozess namens Zone-Transfer wird die Text-Datei, die die Standard Primary Zone enthält, wird auf alle DNS-Server kopiert, die die Standard Secondary Zone beinhalten. 

Standard Secondary Zone

Eine Standard Secondary Zone ist eine Nur-Lese-Kopie der DNS Datenbank. Auch hier sind die Daten in einer Textdatei gespeichert.

Diese Zone wird zum Zwecke des Load-Balancings verwendet sowie für einfache Fehlertoleranz. Ist die Standard Primary Zone nicht verfügbar, kann die Secondary Zone zum Client-Anfragen übernehmen.

Die Standard Secondary Zone kann nur via Zone-Transfer Prozess aktualisiert werden.

Active Directory Integrierte Zone

Bei einer Active Directory Integrierten Zone werden alle Daten der Zone, wie z.B. die Ressource Records,  innerhalb Active Directory gespeichert. Der Active Directory Replikations-Prozess übernimmt anstatt des Zonen-Transfer-Prozesses die Replikation der DNS-Zonen-Daten. Die  Active Directory Integrierten Zone ist fehlertoleranter, da sie das Active Directory Multimater Replikations Konzept benutzt . Nur DNS Server, die auch Windows 2000/2003 Domänen Controller sind können eine Active Directory Integrierte Zone beinhalten.

Gebräuchliche DNS-Ressourceneinträge

Es gibt folgende Einträge

Reverse Lookup Zone

Die Reverse Lookup Zone dient dazu IP-Adressen in Hostnamen zurück zu verwandeln. Reverse Lookup Zonen verwende einen speziellen Namens-Standard. Dieser Standard beinhaltet den Domänen-Namen in-addr.arpa. Diese Domäne ist reserviert für Reverse Lookup Zonen. Da eine umgekehrte Namensauflösung einen Host Namen verwenden muss, um eine IP-Adresse zu bekommen, wird eine Reverse Lookup Zone per Subnet konfiguriert. Mit anderen Worten, im Class C Netzwerk 192.168.1.0 ist ist die Reverse Lookup Zone 1.168.192.in-addr.arpa.

Sendet ein Client eine Reverse-Lookup Abfrage für 192.168.1.4 an DNS, dann sucht der DNS-Server in der Zonentabelle für 1.168.192.in-addr.arpa nach dem Eintrag für 4 und sendet den Inhalt dieses Eintrages mit dem entsprechenden A-Eintrag, der den Hostnamen enthält, zurück.

Namensauflösung

Was passiert, wenn Sie eine Anfrage an intern.shop.orf.at stellen? Betrachten Sie hierzu die folgende Skizze: Unser Rechner, der "Resolver" holt, je nach Situation, gewünschte bzw. benötigte Daten von einem oder mehrere Name-Servern ab.

Der Nameserver (im Beispiel 213.229.11.74) bittet um Auflösung von "intern.shop.orf.at".

  1. Der Nameserver fragt den Root-Server an, wer den als Nameserver für "at" zuständig ist
  2. Sobald er diese Adresse hat, fragt er dort an, wer den für  orf.at zuständig ist.
  3. Sobald er diese Adresse hat, fragt er dort an, ob dieser "intern.shop.orf.at" kennt bzw. falls nicht, wer den der nächste zusändige Nameserver ist. Da im Beispiel der für orf.at zuständige Nameserver "intern.shop.orf.at" noch nicht kennt, teilt er ihm die Adresse des Nameservers mit, der für shop.orf.at zusändig ist.
  4. Dieser Nameserver kann die Anfrage endlich beantworten und die Adresse ist aufgelöst.

Hierzu auch eine Illustration aus den MS-Whitepapers DNS:

Es gibt drei Arten, wie eine Auflösungsanfrage an einen DNS-Server geschehen kann: Rekursiv, Iterative oder Inverse. Beachten Sie immer dass ein DNS-Server auch Client eines weiteren DNS-Servers sein kann.

Das Herunterhangeln" durch verschiedene Nameserver-Abfragem wie im obigen Beispiel wird als rekursive Abfrage bezeichnet.

Iterative Abfragen sind die direkten Abfragen vom Resolver an den Name Server.

Inverse Abfragen liefern zu einer IP-Adresse den zugehörigen Namen. Hierzu hat ein DNS-Server neben den sogenannten Forward-Lookupzonen auch Reverse-Lookupzonen.

DNS wird dynamisch

Unter Windows NT war DNS statisch und jede erforderliche Änderung musste manuell ausgeführt werden. Windows 2000/2003 bringt hierfür ein neues Feature namens Dynamic DNS (DDNS). DDNS bietet in Verbindung mit DHCP und Active Directory sichere dynamische Updates der A- und PTR-Datensätze in DNS. Das heißt im Klartext: Ein Client - der DDNS unterstützt - erzeugt im DNS-Server automatisch einen Host-Eintrag, sobald er per DHCP eine IP-Adresse erhält. DHCP muss für Active Directory registriert sein.

Windows 95/98/ME/NT-Clients unterstützen DDNS nicht. DHCP lässt sich aber so umkonfigurieren, dass auch Nicht-DDNS-Clients automatisch Hosts-Einträge erstellen können.

Secure Dynamic Update

Erlaubt es einem Client nur das RR zu ändern, das durch ihn selbst erstellt wurde. 


Nicht Microsoft DNS-Server

Falls Sie einen Nicht Windows DNS-Server verwenden wollen, beachten Sie folgende Randbedingungen:

Microsoft empfiehlt DNS Server, die mit BIND 8.2.2 oder später kompatibel sind. 

 

 


Windows 2000 DNS für Internet-Zugang konfigurieren

Problem:

Windows 2000 Server in der Standard-Einstellung löst keine Internet-Namen auf. Dadurch sind Seiten im Internet nicht erreichbar. Die Ursache ist die Standard-Einstellung des Active-Directory-Wizard.

Hintergrund  

Wie Sie oben erfahren haben, benötigt Active Directory einen DNS-Server um richtig zu arbeiten. Beim Einrichten frägt der Wizard (dcpromo.exe) "Soll dieser Server zum Stammserver gemacht werden?" Die Standard-Antwort ist hierbei auf "Ja" gesetzt.

Wenn diese Auswahl getroffen wird, nimmt der DNS-Server an, er sei ein "realer" Internet-Root-DNS-Server und sei als solcher für DNS Auflösung im vollständigen Internet verantwortlich. Als Root-DNS-Server bittet er nie andere DNS-Server um Hilfe bei der Namensauflösung, da er sich ja an oberster Stelle wähnt.

Lösung

Um eine Root-Zone zu kennzeichnen, wir diese als "." bezeichnet. Jeder DNS-Server, der die "." Zone bezeichnet, ist ein Stamm-Server.

Zur Lösung rufen Sie den Windows DNS Manager auf, wählen Sie Ihren Server und schauen Sie sich die Forward-Zonen an.


 

Wenn Ihr DNS Manager eine "."-Zone hat, ist die Ursache des Problems gefunden.

Löschen Sie die "." Zone.

Namensauflösung für das Internet

Klicken Sie Ihren Server mit der rechten Maustaste an, wählen Sie Enable forwarders und geben Sie die DNS-Server-Adresse Ihres Internet Service Providers als IP an.

 

 

Das ganze noch einmal aus der "Feder" einer Microsoft Mitarbeiterin in der MS-Newsgroup:


Troubleshooting DNS

Siehe

http://support.microsoft.com/kb/300684/en-us

http://www.mcseboard.de/windows-forum-lan-wan-32/_msdcs-eintraege-fehlen-102380.html?highlight=_msdcs

 

 

 

 

Quellen

http://www.windows-expert.net/Common/en/Articles/Configure-Windows-DNS-for-Internet-Access.asp

http://wb.rus.uni-stuttgart.de/wb/windows/Windows%202000%20Server%20Kurs%20-%20AD%20&%20DNS-1pp.pdf

http://www.win2k-reporter.de/FAQ/DNS/Warum-DNS-fuer-Active-Directory.asp

http://staff-www.uni-marburg.de/~ratzka/admin-nt/

http://www.it-academy.cc/content/article_browse.php?ID=18