bind wird normalerweise über ein kleines
rc-script gestartet. Man kann bind starten,
indem man "/pfad/named" aufruft, z.B.
/usr/sbin/named. Beenden geht unter Linux
einfach mit killall named. Aber dabei ist zu
beachten, dass andere Systeme wie z.B. Solaris ein anderes
killall haben - dieses killt wirklich alles,
hier müßte man mit ps -ef|grep named die PID
des Prozesses ermitteln, und diesen mit
kill <pid> beenden.
Eleganter geht das mit dem Dienstprogramm ndc:
zum Starten verwendet man ndc start, zum
Beenden ndc stop.
|
Man muß nun sorgfältig die Logfiles des
syslogd prüfen, um Fehler
zu erkennen. Die Fehlermeldungen sind in der Regel sehr
aussagekräftig, und führen schnell zur Ursache. Schwierig zu
erkennen ist aber z.B. eine vergessene geschweifte Klammer in der
named.conf, besonders für ungeübte und
nicht-C++-Kenner. Wird eine Zone angemeckert, so muß das
Zonefile untersucht werden.
Sehr ungünstige Werte innerhalb des SOA-Records führen z.B. zu
einer Warnung. In diesem Fall sagt bind aber
sogar, was ihn stört, so dass man den Fehler schnell
korrigieren kann. Problematischer sind Fehler in der Art von
"Cannot find NS on...". Das deutet darauf hin, dass der
NS für eine Zone nicht erreichbar ist, oder nicht existiert.
Es muß hier der Name eines DNS-Servers stehen, der authoritativ
für die Zone ist! Dieser Fehler wird häufig nicht sofort erkannt.
Wird ein Server von einem anderen als authoritativ für diese Zone
genannt, und ist dieser genannte Server aber selbst nicht der
Meinung, authoritativ für diese Zone zu sein, nennt man ihn
lame server. Wären alle "lame",
verfällt die Zone mit Ablauf der Cache- bzw. Expirezeiten,
man merkt es also nicht unbedingt sofort, aber es ist ein
schweres Problem.
Hat man die Zonefiles geändert, und die Seriennummer erhöht,
müssen die Datenbanken neu geladen werden, dazu macht man ein:
und prüft natürlich wieder die Logfiles.
|