DNS
Einführung
Bei DNS (Domain Name System) handelt es sich um das wesentliche im Internet verwendete
Protokoll zur Namensauflösung. DNS übernimmt die Auflösung zwischen Hostnamen und
Internetadressen. Es bietet die Nutzung von hierarchischen Namen, die Computer und
andere Ressourcen innerhalb eines IP-Netzwerks auffinden.
Der folgende Abschnitt beschreibt die Basis des DNS Konzeptes und dessen Funktionen. Wichtig
ist auch zu verstehen, das DNS auch in Verbindungen zu
DHCP steht.
DNS ist eine verteilte Datenbank, welche die DNS Domain Namen zu IP Adressen zuordnet.
Es definiert folgende Funktionen:
DNS definiert innerhalb des RFCs 1034 und 1035 die Namenskonventionen zur Lokalisierung
IP basierender Computer. Vor der Implementierung von DNS wurden IP Adressen über die
sogenannten HOSTS-Dateien aufgelöst, die jeder Computer lokal hielt und gepflegt werden
musste.
Domain Namespace und Domain Name
DNS nutzt sogenannte Namensräume, in denen mehrere Rechnernamen hierarchisch und logisch
gruppiert werden. Organisatorische Einheiten lassen sich sowohl im eigenen Netz als auch
im Internet abbilden. An oberster Stelle steht die Root-Domain, gefolgt von der
Top-Level-Domain, unter denen sich die Organisation anschliesst. Wieder darunter können
sich ein oder mehrere Sub-Domains befinden. Am Schluss kommt noch der Hostname
(Computername) hinzu.
Jede Organisationseinheit (Sub-Domain) kann einen eigenen Namensraum delegiert bekommen
und selbst administrieren.
Namensrestriktionen
Generell sind nur Alphanumerische Zeichen erlaubt (a-z, A-Z, 0-9, "-"). Der beim Programmieren
so beliebte Unterstrich "_" ist laut RFC nicht erlaubt, kann aber nachträglich bei nicht
veränderbaren Altinstallationen in den meisten DNS-Servers zugelassen werden.
Internet Domain Namespace
Im Internet wurde verschiedene Top-Level-Domain zugelassen, die entweder zu Organisationen
zugehörig sind (z.B. .COM) oder geografischen Charakter haben (wie .DE). Zusätzlich
gibt es neuere Top-Level Domains, die für bestimmte Gebiete (z.B. .INFO) vorbehalten sind.
Top-Level Domains
Zonen
Eine Zone beschreibt einen Teil eines DNS Namespace. Es beinhaltet eine Serie an Records,
die auf dem DNS-Server gehalten werden. Jede Zone ist verankert an einem speziellen Domain
Knoten, wobei Zonen keine Domains sind. Eine DNS-Domain beinhaltet alle darunter liegenden
Domians bzw. Sub-Domains, welche in verschiedene Partitionen (Zonen) eingeteilt und von
verschiedenen DNS Servern gehostet werden können.
DNS Server
DNS Servers speichert Informationen über keine, eine oder mehrere Zonen. Wir bei einem
DNS Server eine Anfrage gestartet, so wird diese über die lokal gespeicherte Zone
beantwortet. Ist kein Eintrag vorhanden, wird im lokalen Cache nachgesehen oder andere
DNS Server befragt.
DNS Server können abhängig vom DNS Design ein oder mehrere Primary und/oder Secondary
Zonen halten. Für eine Zone kann ein Server jedoch nur Primary oder Secondary sein.
Primary Zonen werden nur lokal gepflegt (upgedated). Für den Fall einer änderung
(Change) innerhalb einer Zone, z.B. bei einer Delegation einer Zone zu einem anderen DNS Server
oder dem Einpflegen eines Ressourcen Records, müssen diese Änderungen auf dem Primary
DNS Server für diese Zone vollzogen werden.
Im Gegensatz dazu werden Secondary Zonen einem anderen Zonenserver repliziert (kopiert).
Hierbei ist im Secondary Server die IP Adresse des Servers zu hinterlegen, von dem aus
die Replizierung erfolgen soll. Das Replikat kann von einem Primary oder Secondary
erfolgen, welcher auch Master Server genannt wird. Bei Neustart eines Secondary Server
wird dieser Master Server kontaktiert, um einen Zonentransfer (Replizierung) zu starten.
Zusätzlich wird periodisch ebenfalls der Master Server für Änderungen angefragt.
Für jede Zone wird ein Primary Server benötigt. Zusätzlich sollte mindestens ein
Secondary Server bestehen, ansonsten könnte bei einem Ausfall des Primary Servers die
gesamte Zone ohne Namensauflösung sein.
Secondary Server haben folgende Vorteile:
Secondary Server können auch dann Clients Namen auflösen, wenn der Primary Server
ausgefallen sein sollte. Generell sollte der Primary und der Secondary in verschiedenen
Subnetzen stehen, besser noch in verschiedenen Lokationen.
Secondary Server sind an entfernten Lokationen zu installieren, welche eine grössere
Anzahl an Rechnern im Netz haben, um den Clients den Secondary Server als ersten DNS Eintrag
haben.
Caching-Only Servers
Alle DNS Server unterstützen Caching Mechanismen. Informationen, die von anderen DNS
Servern eingeholt wurden, werden lokal für einen bestimmten Zeitraum vorgehalten
(caching), um weitere Anfragen nicht nochmals anzufragen. Einige DNS Server
(Caching-Only Server) sind zur Performancesteigerung gedacht, die jedoch keine
administrativen Tätigkeiten (manuelle Ändererungen von Eintragungen) zulassen.
Der Vorteil ist, dass sie keine Zonen verwalten udn austauschen, sondern nur angefragte
Namen vorhalten. Bei einem Neustart sind aber alle Informationen gelöscht.
Forwarder
Erhält ein DNS Server eine Anfrage, wird erst in der lokalen Zonendatei bzw. im Cache
nachgesehen. Kann der Name nicht aufgelöst werden, muss ein weitere DNS Server angefragt
werden. Hierzu wird die Funktion des Forwarders genutzt, die nur bestimmte Server
zu weiteren Namensauflösungen zulassen.
Load Sharing
DNS Server nutzen Mechanismen wie Round-Robin oder Load Sharing (RFC 1794), um Hochlasten
auf verschiedene Server (nicht DNS Server) zu verteilen. Hierzu wird ein DSN-Name unter
verschiedenen IP-Adressen in Records abgelegt. Round-Robin rotiert die Reihenfolge der
Einträge, so dass jede Anfrage mit den nächsten Eintrag beantwortet wird. Ist die
Liste zu Ende, wird wieder mit dem ersten Eintrag begonnen.
Caching und Time to Live (TTL)
Alle Eintragungen innerhalb eines DNS-Servers werden mit einem Zeitstempel (TTL Time to
Live) versehen. Die gecachten Informationen werden dadurch nach einer bestimmten Zeit
verworfen und bei Bedarf neu angefragt, um keine veraltete Informationen vorzuhalten.
Einmal im Cache wird der TTL Wert dekrementiert, bis es zur Löschung des Eintrags kommt.
Resource Record und Zonen
Aufbau des Recource Records:
Name des Hosts (Rechner) oder der DNS Domain, zu welcher der Resource Record gehört
Eine Zahl, die in Sekunden anzeigt, wie lange der Eintrag gültig ist, bevor dieser
erneuert werden muss.
Definiert die Protokollfamilie. Meistens wird IN eingetragen (Internet)
Bezeichnet den Type des Resource Records
Resource Record Data (in Bezug auf Type, z.B. IP Adresse)
Um Namen aufzulösen befragen DNS Server ihre Zonen. Die Zonen beinhalten Resource Records
(RRs), die auf verschiedene Dienste innerhalb der Domain hinweisen:
Diese Abhandlung kann nur auf einen kleinen Teil des DNS Dienstes eingehen. Weitergehende
Fragen sind durch geeignete Literatur abzudecken.
Jede Zone enthält einen SOA (Start of Authority) Resourcen Eintrag:
Fragt ein Secondary Server einer Zone den Master Server der Zonen an, um einen Zonenupdate
zu starten, so vergleicht der Secondary Server der Zone seine eigene Serial Number mit der
des Masters. Ist die Serial Number des Masters höher als die eigene, so wird der Update
durchgeführt.
Für jede Anfrage antwortet der Server immer mit der minimalen TTL für den Fall, dass
das TTL Feld nicht besetzt wurde.
Der Name Server (NS) Resource Record beinhaltet die Autorität des Servers der Zone. Sie
beinhaltet Primary und Secundary Server der Zone, die in der SOA Resource Record spezifiziert
wurde und beinhaltet die Server für alle delegierte Zonen. Jede Zone muss mindestens einen
NS Eintrag haben.
Der Address (A) Resource Record zeigt eindeutig einen Full Qualified Domain Name (FQDN)
zu einer IP Adresse.
Der Pointer (PTR) Resource Record, entgegengesetzt zum A Resource Record, zeigt eine IP
Adresse zu einem FQDN.
Der Canonical Name (CNAME) Resource Record beinhaltet einen Alias (Synonymen Name,
Zweitnamen) zum FQDN.
Zur Beachtung: Laut RFC 2181 sollte nur eine Canonical Name pro Alias.
Der Mail Exchange (MX) Resource Record spezifiziert den Mail Exchanger Server (Mailgateway)
eines Domain Namen. Ein Mail Exchange Server ist der Mailserver selbst oder er verteilt Mails
an die betreffenden Mailserver weiter. Wird zur Namensauflösung für Mails
benötigt.
Service (SRV) Resource Records bieten die Möglichkeit Server durch Service, Protokoll und
DNS Domain zu spezifizieren.
© kahlhans.de
Stand September 2002