Page suivante Page précédente Table des matières

6. Maintenance

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.


Page suivante Page précédente Table des matières