Problem:
DNS-Anfragen können manchmal teuer werden denn sie kosten Zeit. Wenn dann mal ein Nameserver ausfällt oder überlastet ist, kann dies den ganzen Server ausbremsen.
Grundsätzlich sollte man seine eigenen DNS-Anfragen reduzieren. Z.B. im Apache oder Postfix.
Aber manchmal braucht man die DNS-Informationen oder stößt an sonstige Grenzen.
Lösung:
Wir installieren einen Bind als lokalen DNS-Cache und nutzen den als Nameserver.
(Dieses Vorgehen wird manchmal auch als "caching only bind" bezeichnet.)
Damit erreichen wir immer unseren Nameserver (eigener Bind), der dann die IP-Informationen zwischenspeichert oder ggf. neue Anfragen an einen weiteren Nameserver stellt.
Installation:
Bind wird einfach als Distributionspaket installiert:
yast -i bind #oder apt-get install bind
Konfiguration:
Die Konfigurationsdatei von bind
heißt /etc/named.conf
. Hier kommt die vom Provider genannte Nameserver rein (siehe /etc/resolv.conf
):
options { directory "/var/lib/named"; forwarders { 1.Nameserver-IP ; 2.Nameserver-IP }; forward only; allow-query { 127.0.0.1; }; allow-transfer { none; }; listen-on { 127.0.0.1; }; }; zone "." in { type hint; file "root.hint"; }; zone "0.0.127.in-addr.arpa" in { type master; file "127.0.0.zone"; };
Nun muß nur noch der Server angewiesen werden den lokalen Nameserver abzurufen.
Dazu schreiben wir in der /etc/resolve.conf
in die erste Zeile:
nameserver 127.0.0.1
Die anderen Einträge kann man entweder löschen oder zur Sicherheit drin lassen.
Starten und Testen
Bind wird einfach gestartet und zum Testen nutzen wir dig
:
/etc/init.d/named start #Testen: dig google.de@localhost