Bind(Named)

Post Reply
Message
Author
moo
Posts: 2
Joined: 13. Nov 2000 20:42
Location: am Waldanger 10

Bind(Named)

#1 Post by moo »

Hallo Burschen und Mädls

Weiß jemand von euch in welchem Verzeichnis sich die Cachedatein von Bind(named)Bei SuSE
7.0 befinden und wie man die Größe des Caches einstellt.

cptchaos
Posts: 129
Joined: 06. Jun 2000 21:42

Re: Bind(Named)

#2 Post by cptchaos »

Moin moin,

Erst einmal wäre es wichtig welche BIND Version Du benutzt, BIND4 oder BIND8.

Bei BIND4 findest Du in der /etc/named.boot folgende Option :

/etc/named.boot
----> schnipp
directory /var/named
cache . db.cache
----> schnapp

Bei BIND8 folgendes :

/etc/named.conf
---->schnipp
options (directory "/var/named/";);

zone "." in {
type hint;
file "db.cache";
};
----> schnapp

Jeweils die erste Option (directory) gibt das Root Verzeichniss der Datenbanken an, alle Dateien die BIND braucht oder erstellt werden relativ zu diesem Verzeichniss verlangt (mit Ausnahme einiger Systemdateien).

Bei SuSE ist dieses in der Regel /var/named

Die zweite Option gibt den Namen der Hint DB mit den verfügbaren ROOT Servern an. Man kann aber (gerade bei BIND4) fälschlicher Weise annehmen das es sich um eine Cache Datei handelt, dem ist nicht so (zumindest nicht im üblichen Sinne).

Bei SuSE BIND8 heist diese Datei meistens root.hint

In dieser Datei stehen verfügbare ROOT Nameserver, denn irgendwo muß Dein DNS ja mit der Suche anfangen und dieses macht er meistens bei einen dieser Server. Diese Datei ist also unverzichtbar wenn Du einen autargen DNS aufbauen willst, und sollte auch mal upgedatet werden.

Das Caching (wie Du es warscheinlich meinst) findet intern statt, Verfallszeiten von Einträgen werden von den entsprechend liefernden DNS Servern mittgeliefert, und an diesem Bereich läst sich nach meinem Wissensstand auch nichts ändern, ist auch nicht notwendig läuft sehr gut.

Entsprechende Cache "Ablage" kann nicht überlaufen, da die Informationen altern und dadurch später entfallen. Auch begrenzt BIND selbständig diesen Bereich.

Im Bereich eines Master/Slave Verbundes kann es passieren (BIND8 mach alle 15min einen Zonentransfer) das nach einem Update die Slavedaten nicht mit den Masterdaten übereinstimmen. Sollte sich bei BIND 8 eigendlich innerhalb von 15min von selber erledigen, bei fehlerhaften Änderung der Master DB kann dieses aber auch mal nicht funktionieren. In diesm Fall muß der Slave DNS runtergefahren werden, und die für beim Zonentransfer erstellten Zonendatei gelöscht werden. Dieses ist notwendig da BIND erst einmal schaut ob schon Zonen DB für die Slave Zonen vorliegen, wenn ja wird die Version geprüft (Und in der falschen Versionsnummer liegt der Fehler) und nur wenn nötig ein Zonentransfer eingeleitet, dieser muß in diesem Fall erzwungen werden.
(Besser ist aber dem Master Admin eine Watschln-Mail zu senden, warum sollen dutzende von Slave Betreibern arbeiten weil er einen Fehler gemacht hat.)

Beispiel für eine Slave Zone:

/etc/named.conf (BIND8)
-----> schnipp
zone "firma.de" in {
type slave;
file "firma.de.db"
master {192.110.111.1; };
}
-----> schnapp

/etc/named.boot /BIND4)
-----> schnipp
secondary firma.de 192.110.111.1 firma.de.db
-----> schnapp

In diesem Fall würde der DNS auch als Secondary DNS für die Domain firma.de antworten versenden. Die dafür notwendigen Datenbank wird vom Server 192.110.111.1 angefordert und in der Datei firma.de.db relativ zum Root Verzeichniss von BIND abgelegt.

BIND führt regelmässig Reinigungszyklen durch um den internen Cache zu reinigen, aber erst ab der Version 4.9 werden veraltete Einträge auch aktiv entfernt !!!
BIND8 durchsucht seinen Cache regelmässig (standart 60min) nach veralteten einträgen und löscht dieser. Aus diesem Grund ist BIND8 auch nicht so Speicherhungrieg, es gibt auch eine Option mit der sich dieser Interval einstellen läst :

/etc/named.conf
------> schnipp
options { cleaning-interval 360; };
------> schnapp

Dieses läst BIND8 alle 6 Stunden die Säuberung durchführen, und spart daturch Prozessorzeit.


Fazit: In der Regel sollte man nicht an der Cache und Datenbank Ablage rumschrauben müssen, außer es läuft etwas nicht mehr vernüftig. In diesem Fall sollte man sich eine neue root.hint Datei besorgen und den DNS neu starten, wenn dieses auch nicht läuft liegt eine elementare Störung vor (und ich kann mir nicht vorstellen das der DNS dann jemals so Funktioniert hat). BIND8 läuft zuverlässig und ist auch Resourcenschonend, ich habe ihn bei mir auf einem P133 mit 32MB im Dauerbetrieb neben etlichen anderen Diensten laufen im Dauerbetrieb, und hatte bisher mit ihn noch nie ernsthafte Schwiergkeiten. Selbst auf eine 486DX120 mit 32 MB läuft er wunderbar. Es ist aber zu Empfehlen mindestend BIND8 einzusetzen.

Ich hoffe das dieses Dir weiterhilft.

MfG Marek Walther

Post Reply