DNS

Domain Name Server

Domain Name Server übersetzen Domain-Namen in IP-Adressen und umgekehrt. Beispiel(nächste Zeile):
Die IP-Adresse ihres PC, ihres Routers oder ihres Providers.
DNS zur Übersetzung von Domain-Namen werden nur selten im eigenen lokalen Netzwerk (LAN) betrieben. Meist nutzt man die DNS großer Provider oder Internet-Knoten.
Netzwerk Zusammenarbeit - Lokal und weltweit
Live DNS Live IP Lookup und Modell einer DNS Übersetzungs-Liste
DNS-Server Reale öffentliche und private DNS-Server
DNS-Konfiguration Automatische und manuelle Einstellung
Programmierung Die Standard-Funktionen gethostbyname und gethostbyaddr
Web Dienste Live Dienste für IP Lookup und verwandte Anfragen
Sonstiges DNS-Listen, -Links, -Zensur
Konsole Konsolen-Programme für DNS- und verwandte Anfragen
Verwandte Themen OSI-Modell, IP, Port, TCP, UDP, HTTP, ..
Links Ausgewählte Links zum Thema 'DNS'

Domain Name Server   DNS

IP Lookup

Das Aufsuchen einer IP-Adresse bei bekanntem Domain Namen (durch einen DNS-Server nennt man IP Lookup.

Reverse IP Lookup

Das Aufsuchen eines Domain Namens bei bekannter IP-Adresse nennt man Domain Name Lookup oder Reverse IP Lookup.
Live Beispiel:
Live Beispiel:
In diesem einfachen Beispiel werden nur einfache Fragen beantwortet, d.h. weltweit bekannte Domain Namen oder Namen aus ihrer Umgebung (Stadt, Staat). Wenn ihre Anfrage erfolgreich beantwortet wurde, dann werden die Daten in die Liste (unten) aufgenommen.
Mini-Muster einer DNS Lookup Liste
Domain NameIP Adresse
Ein Domain Name Server übersetzt Domain Namen ↔ IP Adressen.
Domain Namen (Spalte links) sind (nur) zum menschlichen Gebrauch geeignet.
Zur Adressierung im Internet werden ausschließlich IP Adressen (Spalte rechts) verwendet
Man benötigt daher einen Server-Dienst, welcher Domain Namen in IP-Adressen übersetzt und umgekehrt.

Die Liste oben demonstriert, wie das funktioniert: Jedem Domain Namen ist eine IP-Adresse zugeordnet. Sie können jeden Eintrag der Liste als HyperLink anklicken.
Beim Anklicken eines Links sendet ihr Browser einen HTTP-Auftrag, ihm die betreffende Webseite zu senden.
Fast alle von ihrem Browser ausgehenden HTTP-Aufträge enthalten Domain-Namen - z.B. aus der Spalte Domain Name (links) der Demo-Liste.

Derartige Aufträge müssen vor der Zustellung in die entsprechenden IP-Adressen umgewandelt werden (Spalte IP Adresse, rechts).
Diese Aufgabe führen DNS-Server durch.
Alle größeren Provider und Internet-Knoten betreiben derartige Server (Liste einiger Beispiele).

Reale Domain Name Server

Reale Domain Name Server

Die Übersetzungs-Listen realer DNS sind natürlich wesentlich umfangreicher als im winzigen Beispiel oben.
DNS sind in Regionen organisiert.
Jeder DNS verfügt über eine vollständige Liste der Domain Namen und IP-Adressen seiner eigenen Region. Aus anderen Regionen werden nur weltweit bekannte Namen verwaltet.
Alle größeren Provider betreiben eigene DNS. Die empfohlenen Adressen finden sie in den Konfigurations-Daten ihres Internet Providers.

Wenn ein DNS einen Domain Namen nicht übersetzen kann, dann wird die Anfrage an andere DNS weitergeleitet. So werden nach Möglichkeit auch Anfragen nach selten nachgefragten Domain Namen entfernter Regionen beantwortet.
Alle Domain Name Server "kennen" einander und synchronisieren automatisch ihre Übersetzungs-Tabellen.
An öffentliche DNS werden sehr hohe Anforderungen hinsichtlich Stabilität und Sicherheit der Daten gegen Angreifer gestellt.

Private Domain Name Server

In großen lokalen Netzwerken kann es sinnvoll sein, einen eigenen DNS zu betreiben. Dieser DNS antwortet sofort, daher können ausgehende Browser-Anfragen wesentlich rascher mit bekannten IP-Adressen versehen werden.
DNS Server-Software ist kostenfrei im Internet verfügbar, z.B. MyDNS

Private DNS sind nur im eigenen Netzwerk (LAN) zugänglich, daher werden an sie geringere Anforderungen gestellt. Sie verwalten normalerweise viel weniger Daten, können sich dafür jedoch an die Browser-Gewohnheiten des eigenen LAN optimal anpassen.

DNS-Konfiguration

Die betroffenen Programme jedes PC (Browser u.a.) sollten die IP-Adresse des zuständigen DNS kennen, damit sie bei Bedarf Domain-Namen in IP-Adressen übersetzen können und umgekehrt.
Meist gibt es die Möglichkeit, eine zweite DNS-Adresse anzugeben. Dieser alterantive DNS wird bei Überlastung oder Ausfall des ersten DNS verwendet.
Jedes Betriebssystem bietet die Möglichkeit, die DNS-Adresse(n) einzustellen. Zur Bequemlichkeit gibt es mehrere Möglichkeiten, diese Einstellung automatisch vorzunehmen.

DHCP besser als Manuell

Erste Wahl ist die automatische Einstellung, z.B. durch einen DHCP-Server. Das bietet Flexibilität bei minimalem Aufwand: Bei Wechsel des DNS genügt eine einzige zentrale Änderung der DNS-Adresse am DHCP-Server.
Zweite Wahl ist die manuelle Einstellung (rechts). Sie ist nur bei Einzel-PC sinnvoll, wenn weder im eigenen LAN noch vom Provider ein DHCP Server verfügbar ist.

Manuelle DNS Einstellung

Dazu benötigen sie den Namen, besser die IP-Adresse des zuständigen DNS Servers.
Erste Wahl ist jener DNS, welcher von ihrem Provider empfohlen wird.
Zweite Wahl: Suchen sie die Adresse des nächst gelegenen DNS aus dem Internet.
Dritte Wahl: Lassen sie die DNS-Einstellung leer. In diesem Fall sorgt meist ihr Internet-Provider für die Übersetzung der verwendeten Domain-Namen.

Linux

Auf SuSE-Linux erfolgt die Konfiguration mit dem Standard-Werkzeug YAST: Tragen sie die IP-Adressen eines oder mehrerer Domain Name Server in die Felder ein.

Die Konfigurations-Datei /etc/host.conf steuert die Übersetzung der Domain-Namen. Typisches Beispiel:
order hosts bind
multi on
Die Übersetzung erfolgt in der angegebenen Reihenfolge (order) durch die lokale Verweis-Tabelle hosts, danach durch Anfrage an einen oder mehrere DNS-Server (bind).

Datei /etc/hosts arbeitet als lokale Verweis-Tabelle (lookup table). Hier werden die IP-Adressen und Namen aller PC des lokalen Netzwerks (LAN) eingetragen. In größeren LANs werden zumindest die gemeinsam verwendeten Resourcen (z.B. Server) eingetragen, z.B.
# Muster fuer Text-Datei hosts
# IP   FQN   KurzName
127.0.0.1   localhost   # der eigene PC
192.168.0.5 Asterix.mydom.com Asterix
192.168.0.6 Obelix.mydom.com Obelix
Die erste Spalte enthält die IP-Adresse. Danach folgt der Fully Qualified Name, bestehend aus PC-Name und Domain. Zuletzt folgt optional ein PC-Kurzname. Kommentare beginnen mit einem # Zeichen.
Hilfe mit
# man hosts

Datei /etc/resolv.conf konfiguriert die zu verwendenden DNS, z.B.
nameserver 195.3.96.67
search mydom.com
Anweisung search legt einen oder mehrere Domain-Namen fest, die ausprobiert werden, wenn ein unbekannter PC-Kurzname aufzulösen ist. Hilfe mit
# man resolv.conf

Windows

Manuelle Einstellung des DNS:
Systemsteuerung | Netzwerkverbindungen | Netzwerk-Adapter (einer oder mehrere, z.B. Ethernet-Interface)
Adapter rechtsklicken - Eigenschaften | Allgemein | Internetprotokoll | Eigenschaften | Allgemein | DNS Serveradresse
Einstellung:
automatisch beziehen (z.B. vom DHCP-Server)
manuell einstellen

Auf Windows findet man in diesem Verzeichnis einige Text-Dateien zur Netzwerk-Konfiguration:
C:\Windows\system32\drivers\etc

Datei hosts enthält eine Lookup-Tabelle der lokalen Host-Namen und -Adressen, z.B.
# Muster fuer Text-Datei hosts
127.0.0.1 localhost # der eigene PC
192.168.0.1 myserver # mein LAN-Server
In diese Datei werden die IP-Adressen und Namen der LAN-PC eingetragen, ähnlich wie für Linux beschrieben.

Programmiersprachen

C++

bietet in den Modulen netdb bzw. socket die Funktionen gethostbyaddr und gethostbyname
Sie werden von den meisten 'höheren' Programmiersprachen direkt oder indirekt eingesetzt, deren Funktionen meist die gleichen Namen tragen.

Jede Linux-Distribution enthält die C++ Bibliotheken. Hilfe z.B. mit
# man gethostbyname
# man gethostbyaddr
# man netdb

PHP

bietet im Modul standard u.a. die gleichnamigen Funktionen gethostbyaddr und gethostbyname
Sie werden u.a. auf dieser Seite zur Live-Demonstrationvon IP Lookup und Reverse IP Lookup eingesetzt.
Beispiel:
$dn = "www.linux.de";
$ip = gethostbyname($dn);
print "ip = $ip";
Ergebnis:
ip = 62.111.65.66

Perl

bietet im Modul Socket u.a. die gleichnamigen Funktionen gethostbyaddr() und gethostbyname()
Beispiel:
use Socket;
$dn = "www.microsoft.de";
$ip = gethostbyname ($dn);
print "ip = $ip";

Live Web Dienste

Auf zahlreichen Webseiten ( Links) werden Live-Dienste für IP Lookup und / oder Reverse IP Lookup angeboten.

Oft werden diese Dienstleistungen mit whois-Anfragen (Eigentümer des gesuchten Domain-Namens) und Auskunft über die GeoLocation (geografischer Standort) verknüpft.
Die Eingabe-Daten werden normalerweise in Formulare eingetragen, die Ergebnisse auf dynamischen Webseiten angezeigt.
Die Ausgabe-Seiten lassen sich meist auch von eigenen Webseiten ansteuern: Beachten sie dazu die Browser-Adresszeile der Ausgabe-Seiten, insbesondere den Text nach dem meist vorhandenen ? Zeichen.
Details zur Übergabe von Argumenten mit PHP oder Javascript.

DNS-Listen, Links und Sonstiges

Links zu Nameserver-Listen (ohne Gewähr):
Stanar, GSNW, Nova (de), DNSListe, Atelier89 (T-Online),

Einige ausgewählte Nameserver (ohne Gewähr):
195.3.96.67, 195.3.96.68 (aon.at)
195.34.133.10, 195.34.33.11 (chello.at)
194.246.96.25, 194.246.96.49 (denic.de)
194.25.2.131 (dtag.de)
217.237.150.97, 217.237.150.141 (heise.de)
217.5.100.195, 217.5.100.196 (telekom.de)
193.193.158.10, 193.193.144.12 (tic.ch)

DNS-Zensur

In allen Diktaturen war und ist es gängige Praxis, den Zugang zu unerwünschten Informationen durch Zensur zu unterbinden. Dazu werden heute u.a. die entsprechenden Domain-Namen von den DNS-Servern entfernt oder (noch schlimmer) kommentarlos umgeleitet.
Angesichts der amerikanischen Terror-Paranoia sind auch einige europäische Provider in vorauseilendem US-Gehorsam dazu übergegangen, unerwünschte Domain-Namen von ihren DNS zu löschen.
Dagegen hilft derzeit noch die Verwendung freier unzensurierter DNS.
Unabhängig davon wird gesamte Internet Verkehr (und natürlich jede DNS-Anfrage) abgehört und geheimdienstlich verwertet. Mit dem rasch fortschreitenden Verfall des Datenschutzes sind viele Staaten bemüht, die Spionage auch zu legalisieren.

DNS-Vergiftung (poisoning)

DNS sind wegen ihrer großen Bedeutung besonders geschützt. Aus dem gleichen Grund sind sie ein begehrtes Ziel bösartiger Angreifer. Diese können versuchen, einen oder mehrere Einträge von häufig verwendeten Domain-Namen auf eigene IP-Adressen umzuleiten.
Wenn das gelingt, dann wird bei Verwendung eines Links an Stelle der erwarteten Webseite diejenige des Angreifers geöffnet. Der Schaden wird durch die automatische Synchronisation der öffentlichen DNS-Server noch schlimmer, d.h. die gefälschten Daten können sich über das gesamte Internet verbreiten.

Konsolen-Programme

Es gibt eine Reihe guter Konsolen-Programme für jede Art von DNS-Anfragen, speziell für die meist-verwendete Anfrage, den IP-Lookup.
Diese Programme werden (nur) von SpezialistInenn benötigt, daher werden sie hier nur kurz erwähnt.
Linux-Distributionen bieten alle gängigen Konsolen DNS-Programme, für Windows kann man sie (evtl. mit Cygwin) in portierten Versionen verwenden.
Linux:
# man dig
# man host
# man nslookup
# man named
Beispiel: IP-Lookup, ohne / mit Angabe eines DNS:
# nslookup www.suse.de
# nslookup www.suse.de 195.3.96.67

Franken: IP-Nummern-Auflösung (DNS)
Verwandte Programme:
ping, fping, traceroute, whois
 


XHTML CSS