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.