Surveiller Bind avec l'outil rndc
Par alex206 le jeudi, décembre 4 2008, 19:50 - Informatique - Lien permanent
Trouvant assez souvent des lignes de ce style dans les logs de Bind
named[1930]: unexpected RCODE (SERVFAIL) resolving 'xxx.xxx.158.134..arpa/PTR/IN': xxx.xxx.1.32#53et les trouvant relativement peu explicite, je me suis intéressé en profondeur à la possibilité de journaliser en profondeur l'activité DNS du serveur
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 :
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
18:31:07 =>rndc statusOn 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 :
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
18:41:07 => tail -f -n 8 /var/log/daemon.logon voit ici distinctement qui demande quoi. Pour l'activer, en root tapez
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'
rndc querylogUne 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 statsVous pouvez voir le résultat dans le fichier
/var/cache/bind/named.statsLa 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 traceincrémentera d'un point tandis que
rndc trace 5positionnera 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
Commentaires
tout le monde doit lire ca pour comprendre!!