Un "outil" très pratique fournit avec bind est la commande rndc. Je ne m'étalerais pas sur les fonctions de démarrage / arrêt rechargement de configuration, mais je vais plutôt m'intéresser a tout ce qui concerne la surveillance de l'activité. Commençons avec l'option status qui permet d'avoir quelques informations à l'instant t sur l'état du serveur :
18:31:07 =>rndc status
number of zones: 6
debug level: 1
xfers running: 0
xfers deferred: 0
soa queries in progress: 0
query logging is ON
recursive clients: 0/1000
tcp clients: 0/100
server is up and running
On peut voir notamment la ligne query logging positionné à ON. Par défaut à off, cette option permet d'activer la journalisation de toutes les requêtes effectuées par des clients vers le serveur. Si vous voulez voir en temps réel ce qui se passe, la commande tail est là pour ça :
18:41:07 => tail -f -n 8 /var/log/daemon.log
Dec 4 18:28:28 serveurname named[1930]: client 127.0.0.1#58876: query: blog.xfce.org IN AAAA +
Dec 4 18:28:28 serveurname named[1930]: client 127.0.0.1#33033: query: blog.xfce.org IN AAAA +
Dec 4 18:28:28 serveurname named[1930]: client 127.0.0.1#49279: query: blog.xfce.org IN A +
Dec 4 18:28:29 serveurname named[1930]: client 127.0.0.1#58256: query: blog.xfce.org IN AAAA +
Dec 4 18:28:29 serveurname named[1930]: client 127.0.0.1#58371: query: blog.xfce.org IN AAAA +
Dec 4 18:28:29 serveurname named[1930]: client 127.0.0.1#54989: query: blog.xfce.org IN A +
Dec 4 18:31:04 serveurname named[1930]: unknown control channel command 'statuts'
Dec 4 18:31:07 serveurname named[1930]: unknown control channel command 'statut'
on voit ici distinctement qui demande quoi. Pour l'activer, en root tapez
rndc querylog
Une autre option assez intéressante, stats, qui permet comme son nom l'indique de générer des stats sur l'activité du serveur.
rndc stats
Vous pouvez voir le résultat dans le fichier
/var/cache/bind/named.stats
La première ligne de ce fichier correspond au timestamp du moment où vous avez exécuté la commande. Les lignes suivantes sont assez explicites pour ne pas avoir besoin d'être détaillé. Pour gérer un peu plus finement le niveau de verbosité des journaux d'activité, il vous faudra utiliser l'option trace ou trace level. La première incrémente d'un point le debug level chaque fois qu'elle est invoqué, la seconde permet de définir directement le niveau en spécifiant un chiffre après trace. Exemple
rndc trace
incrémentera d'un point tandis que
rndc trace 5
positionnera directement le niveau à 5 (c'est le niveau maximal). Si vous voulez remettre le niveau à zéro vous pouvez utilisez l'option notrace. Les logs générés par cette commande sont accessibles dans le fichier /var/log/daemon.log
Autre commande intéressante, dumpdb qui peut prendre en paramètre soit -cache, soit -all soit -zones. Le premier permet de sauvegarder le contenu du cache dns (cache qui est en mémoire) le second sauvegarde le cache et les zones, et le troisième, seulement les zones. Le résultat est sauvegardé par défaut dans le fichier
/var/cache/bind/named_dump.db