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

Kategorien:

Stichwörter:

dns · bind · cache · named · resolve · nameserver ·