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é ce fichier.
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 faudra sans doute modifier ce fichier pour qu'il
fonctionne chez vous.
#!/bin/sh # # Met a jours les informations du cache du serveur de noms chaque mois. # Ce script est lancé automatiquement par un cron. # # Original par Al Longyear # Mis a jour pour Bind 8 par Nicolai Langfeldt # Plusieurs erreurs découvertes par David A. Ranch # Test avec un ping suggéré par Martin Foster # ( echo "To: hostmaster <hostmaster>" echo "From: system <root>" echo "Subject: Mise a jour automatique du fichier root.hints" echo PATH=/sbin:/usr/sbin:/bin:/usr/bin: export PATH cd /var/named # Sommes nous connectés ? Pingons un serveur de notre FAI case `ping -qnc some.machine.net` in *'100% packet loss'*) echo "PAS de connexion réseau. root.hints NON mis à jour" echo exit 0 ;; esac dig @rs.internic.net . ns>root.hints.new 2>&1 case `cat root.hints.new` in *NOERROR*) # Ca a marché :;; *) echo "La mise a jour de root.hints a ECHOUE." echo "Voici la sortie de dig :" echo cat root.hints.new exit 0 ;; esac echo "Le fichier root.hints 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 noms a été redémarré, de cette manière, la mise a jour est complète." echo "L'ancien root.hints s'appelle 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
meilleur du point de vue de la nettiquette et de l'Internic.