Skrbite, da bo vse delovalo
Poleg tega, da skrbite, da bo vse delovalo, imate še eno nalogo - vzdržujte
datoteko root.hints
točno. To je najenostavneje z uporabo programa dig. Najprej
ga zaženite brez argumentov in dobili boste root.hints
glede na vaš strežnik,
nato pa zaženite dig še z enim od korenskih strežnikov: dig @korenski-strežnik
.
Izhod, ki ga dobite, je nova datoteka root.hints. Shranite ga v datoteko (dig
@e.root-servers.net . ns >root.hints.nov
) in zamenjajte staro datoteko
root.hints
z njo.
Ne pozabite znova zagnati named po tem, ko ste zamenjali datoteko.
Al Longyear mi je poslal skript za vzdrževanje root.hints
, ki ga lahko
poganjate samodejno - v crontab vpišite vnos, ki ga bo pognal vsak mesec, nato pa
lahko nanj pozabite. Skript predpostavlja, da imate delujočo elektronsko pošto in da
je v vašem računalniku naslov `hostmaster'. Da bo ustrezala vašim nastavitvam, jo
morate prirediti svojim potrebam.
#!/bin/sh # # Posodobimo predpomnilniško datoteko imenskega strežnika enkrat na mesec. # To skripto samodejno zaganja vnos v crontabu. # # Izvirnik je napisal Al Longyear # Za BIND 8 priredil Nicolai Langfeldt # David A. Ranch je poročal o različnih možnih napakah # Preizkus s pingom je predlagal Martin Foster # Ali named deluje? - preizkus predlagal Erik Bryer. # # ( echo "To: hostmaster <hostmaster>" echo "From: system <root>" # Is named up? Check the status of named. case `ndc status 2>&1` in *'cannot connect to command channel'*) echo "named is DOWN. root.hints was NOT updated" echo exit 0 ;; esac PATH=/sbin:/usr/sbin:/bin:/usr/bin: export PATH # NOTE: V /var/named smejo pisati le ta skripta in ustrezni uporabniki # ne bo odprl možnosti za zlonamerno prekinitev delovanja strežnika # ali možnosti za vlom v račun superuporabnika - root. cd /var/named 2>/dev/null || { echo "Subject: Cannot cd to /var/named, error $?" echo echo "The subject says it all" exit 1 } # Smo povezani v internet? Pingajmo strežnik vašega ponudnika case `ping -qnc 1 some.machine.net 2>&1` in *'100% packet loss'*) echo "Subject: root.hints NI posodobljen. Mreža NE DELUJE." echo echo "The subject says it all" exit 1 ;; esac dig @e.root-servers.net . ns >root.hints.new 2> errors case `cat root.hints.new` in *NOERROR*) # Delovalo je :;; *) echo "Posodobitev datoteke root.hints NI USPELA." echo echo "Posodabljanje root.hints ni uspelo" echo "dig je sporočil naslednje:" echo cat root.hints.new errors exit 1 ;; esac echo "Subject: Datoteka root.hints je posodobljena" echo echo "V datoteki root.hints so zdaj naslednji podatki:" echo cat root.hints.new chown root.root root.hints.new chmod 444 root.hints.new rm -f root.hints.old errors mv root.hints root.hints.old mv root.hints.new root.hints ndc restart echo echo "Imenski strežnik je bil vnovič zagnan in zdaj ve za morebitne spremembe." echo "Prejšnja datoteka root.hints se zdaj imenuje /var/named/root.hints.old." ) 2>&1 | /usr/lib/sendmail -t exit 0
Morda ste izvedeli, da je datoteka root.hints
na voljo tudi prek protokola
ftp na Internic. Prosim vas, da za posodabljanje root.hints
uporabljate raje
dig, ker je ta možnost prijaznejša tako do interneta kakor do Internica.