Garder votre DNS en état de marche
En plus des tâches normales, il y a une tâche de maintenance
spéciale à effectuer sur les serveurs de nom. Il s'agit de garder le
fichier root.hints
à jour. La façon la plus simple de le
faire est d'utiliser dig. Lancez d'abord dig sans argument, vous
obtiendrez le fichier root.cache
de votre propre
serveur. Posez alors la même question à un des serveurs de cette liste
avec la commande dig @rootserver
. Vous remarquerez que ce que
vous obtenez ressemble énormément à un fichier root.hints, avec
quelques chiffres en plus. Ces chiffres supplémentaires sont
inoffensifs. Sauvez-le dans un fichier (dig . @e.root-servers.net
>root.hints.new
) et remplacez l'ancien fichier
root.hints
avec.
N'oubliez pas de relancer named après avoir remplacé le fichier root.hints.
Al Longyear m'a envoyé ce script, qui peut être lancé
automatiquement pour mettre à jour named.hints
. Lancez-le
automatiquement à partir de la crontab et vous pourrez oublier qu'il
existe. Ce script suppose que l'alias de mail `hostmaster' existe. Il
vous faudra modifier quelque peu ce fichier pour qu'il fonctionne chez
vous.
#!/bin/sh # # Update the nameserver cache information file once per month. # This is run automatically by a cron entry. # # Original par Al Longyear # Mis a jour pour Bind 8 par Nicolai Langfeldt # probleme avec SERVFAIL decouvert par David A. Ranch # ( echo "To: hostmaster <hostmaster>" echo "From: system <root>" echo "Subject: Automatic update of the named.conf file" echo export PATH=/sbin:/usr/sbin:/bin:/usr/bin: cd /var/named dig @rs.internic.net . ns >root.hints.new case `cat root.hints.new` in *SERVFAIL*) echo "La mise a jour de named.conf a ECHOUE." echo "Voici l'erreur que DIG a donné :" echo cat root.hints.new exit 0 esac echo "Le fichier named.conf a été mis a jour et contient les informations suivantes :" 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 "Le serveur de nom a ete redemarre, de cette maniere, la mise a jour est complete." echo "L'ancien root.hints s'appele maintenant /var/named/root.hints.old." ) 2>&1 | /usr/lib/sendmail -t exit 0
Certains d'entre vous ont remarqués que le fichier root.hints est aussi disponible via ftp depuis l'Internic. S'il vous plaît, n'utilisez pas le ftp pour mettre à jour le root.hints, la méthode ci dessus est bien plus pratique.