Utrzymywanie w ciągłym działaniu
Jest jedno zadanie nadzorcze, które musisz wykonywać z named'ami, inne niż
utrzymywanie ich w działaniu, tzn. uaktualnianie pliku root.hints.
Najłatwiej jest to zrobić używając dig'a. Najpierw uruchom dig bez żadnych
argumentów, otrzymasz zawartość pliku root.hints zgodnie ze swoim
własnym serwerem. Wtedy spytaj jeden z wymienionych serwerów głównych komendą
dig @rootserver. Zauważysz, że to co otrzymasz będzie bardzo podobne
do pliku root.hints. Zapisz to do pliku
(dig @e.root-servers.net . ns >root.hints.new) i zamień na niego
stary plik root.hints.
Pamiętaj, żeby uruchomić ponownie named po zamianie pliku cache.
Al Longyear wysłał mi ten skrypt. Może on być uruchamiany automatycznie
w celu uaktualniania root.hints. Dodaj wpis do tablicy cron'a,
żeby był uruchamiany raz na miesiąc. Ten skrypt przyjmuje, że masz działający
system
pocztowy i zdefniowany alias pocztowy ,,hostmaster''. Musisz zagłębić się
w ten plik, żeby dostosować go do twoich ustawień.
#!/bin/sh # # Uaktualnianie pliku cache raz na miesiąc. # Ten skrypt jest uruchamiany automatycznie przez cron'a. # ( echo "To: hostmaster <hostmaster>" echo "From: system <root>" echo "Subject: Automatyczne uaktualnienie pliku named.conf" echo export PATH=/sbin:/usr/sbin:/bin:/usr/bin: cd /var/named dig @rs.internic.net . ns >root.hints.new echo "Plik named.conf został uaktualniony i zawiera następujące informacje:" echo cat root.hints.new chown root.root root.hints.new chmod 444 root.hints.new rm -f root.hints.old mv root.hints root.hints.old mv root.hints.new root.hints ndc restart echo echo "Serwer nazw został uruchomiony ponownie, aby wprowadzić zmiany" echo "Poprzedni plik nazywa się teraz /var/named/root.hints.old." ) 2>&1 | /usr/lib/sendmail -t exit 0
Niektórzy z was mogli zauważyć, że plik root.hints jest też dostępny przez ftp z Internic'u. Proszę, nie używaj ftp do uaktualniania root.hints, powyższa metoda jest o wiele bardziej przyjazna dla sieci.