Samo neka radi.
Jednu stvar moraš činiti za održavanje named
a, osim da ih puštaš da
rade. To je održavanje root.hints datoteke ažurnom. Najlakši način je
korištenje dig
a. Prvo pokreni dig
bez parametara, i dobit ćeš
root.hints svog servera. Onda pitaj jedan od izlistanih korijenskih
servera sa dig @rootserver
. Vidjet ćeš da izlazni podaci jako sliče
onima u root.hints datoteci. Sačuvaj ih u datoteku (dig
@e.root-servers.net . ns > root.hints.new
) i zamijeni staru
root.hints datoteku s novom (root.hints.new, op.prev.).
Zapamti da treba restartati named
nakon promjene cache datoteke.
Al Longyear mi je poslao ovu skriptu koja se može pokrenuti automatski da
obnovi root.hints. Unesite je u crontab
kako bi se pokretala
jednom mjesečno i zaboravite na nju. Ova skripta pretpostavlja da imaš
podešen i radeći e-mail, te da je alias `hostmaster
' definiran. Moraš
je hackirati da je uskladiš sa svojim postavkama. (sačuvati kao izvršnu
datoteku /etc/cron.monthly/hints.new, op.prev.)
#!/bin/sh # # Update the nameserver cache information file once per month. # This is run automatically by a cron entry. # # Original by Al Longyear # Updated for BIND 8 by Nicolai Langfeldt # Miscelanious error-conditions reported by David A. Ranch # Ping test suggested by Martin Foster # named up-test suggested by 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: /var/named must be writable only by trusted users or this script # will cause root compromise/denial of service opportunities. cd /var/named 2>/dev/null || { echo "Subject: Cannot cd to /var/named, error $?" echo echo "The subject says it all" exit 1 } # Are we online? Ping a server at your ISP case `ping -qnc 1 some.machine.net 2>&1` in *'100% packet loss'*) echo "Subject: root.hints NOT updated. The network is DOWN." 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*) # It worked :;; *) echo "Subject: The root.hints file update has FAILED." echo echo "The root.hints update has failed" echo "This is the dig output reported:" echo cat root.hints.new errors exit 1 ;; esac echo "Subject: The root.hints file has been updated" echo echo "The root.hints file has been updated to contain the following information:" 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 "The nameserver has been restarted to ensure that the update is complete." echo "The previous root.hints file is now called /var/named/root.hints.old." ) 2>&1 | /usr/lib/sendmail -t exit 0
Neki su možda vidjeli root.hints datoteku koja je dostupna FTP-om od InterNIC-a. Molim vas, nemojte koristiti FTP da obnovite root.hints, jer je gornja metoda puno bolja za mrežu, i InterNIC.