Der eigene DNS Server in unter 5 Minuten
In Zeiten wie diesen, kann man dem DNS Server seines Providers leider nicht mehr trauen. Höchste Zeit also, einen eigenen DNS Server einzurichten, der die DNS Informationen unabhängig vom Provider direkt vom zuständigen Nameserver abfragen kann.
Auf dem DNS Server Markt tummeln sich viele verschiedene Implementierungen – für einen einfachen rekursiven DNS Server eignet sich der PowerDNS Recursor. Bei den meisten Distributionen sollte ein Paket pdns-recursor über die jeweilige Paketverwaltung installierbar sein. Unter Ubuntu oder Debian lässt sich der Recursor wie folgt installieren:
[code language="css"]aptitude install pdns-recursor[/code]
Generell sollte nun bereits lokal ein DNS Server laufen, den man nun mit einer einfachen Anfrage prüfen kann:
[code language="css"]dig @localhost www.adminlife.net[/code]
Kommt hier eine Antwort, ist der Nameserver funktionsbereit. Nun sollte er noch in die /etc/resolv.conf eingetragen werden. Folgende Zeile wird an den Anfang der Datei eingefügt:
[code language="css"]nameserver 127.0.0.1[/code]
Fertig ist der eigene Nameserver, der nicht mehr durch den Provider zensiert werden kann. Weitere Einstellungen, wie z.B. die IP-basierte Zugriffskontrolle, lassen sich in der gut kommentierten Datei /etc/powerdns/recursor.conf einstellen.
Die Abfrage läuft nun wie folgt:

Lokal stellt der Resolver eine rekursive DNS Anfrage an den ebenfalls lokal installierten caching-only Nameserver. Dieser stellt Anfragen an die zuständigen Nameserver im Netz, nachdem er diese von den root DNS Servern durch iterative Anfragen ermittelt hat.
Mehr zum Thema DNS:
Infos zur Namensauflösung @Wikipedia
DNS @Wikipedia
Anleitung zum Umstellen auf freie DNS Server
PowerDNS Recursor Dokumentation



Funatiker
Gibt es eine Möglichkeit IP-Adressen statisch festzulegen? z.B. bei meinem DNS-Server wird ständig nach der Domain example.org gefragt. Kann ich dann einfach irgendwie festlegen, dass immer “208.77.188.166″ zurückgegeben wird, ohne zusätzlich weitere Queries durchzuführen oder zu cachen?
matthias
Du könntest einfach in der /etc/hosts einen Eintrag
208.77.188.166 example.orgmachen, dann sollte vom lokalen Resolver keine weitere Abfrage durchgeführt werden.Sinnvoller ist es natürlich immer die eigentliche Ursache solcher Abfragen zu beseitigen, anstatt an anderer Stelle Änderungen durchzuführen, um die Folgen zu mindern.
Stefan
Matthias: das hilft zwar oft aber nicht immer, da einige Programme eigene Resolver implementieren und/oder auch mal eigene DNS-Caches haben (z.B. Firefox AFAIK). Daher ist es damit nicht möglich, wirklich alle DNS-Abfragen zu verhindern, dazu müßte man schon iptables bemühen.
Der richtige Weg ist (wie ja schon erwähnt), herauszufinden welches Programm die Anfragen schickt und dies zu beheben.
Thorsten Strusch
Da man heute dank WLAN-Router meist per DHCP seine IP bezieht, würde ich nicht die /etc/resolv.conf manuell bearbeiten.
Ich schreibe immer in die /etc/network/interfaces bei dem entsprechenden Netzwerkinterface folgendes:
dns-nameservers 127.0.0.1
dns-search strusch.xx
Thorsten Strusch
Nachtrag: Das funktioniert unter debian nur, wenn man auch das paket resolvonf installiert. Dann werden die Änderungen jeweils übertragen.
Netzblockierer
Frage: Gibt es das ganze als mehrfach paralell laufenden Linux-Daemon oder Windows-Service? Ich möchte nähmlich gleich mehrere DNS-Provider ”befragen können” und zugleich auch Antworten an die Außenwelt senden können (d.h. als DNS-Server fungieren)…
Lässt sich dies (bitte recht einfach) umsetzen? Oder gibt es bereits solche Software??? Vielen Dank…