#!/usr/X11R6/bin/mgp %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% %deffont "standard" xfont "helvetica-medium-r", tfont "arial.ttf", fore "gray10" %deffont "thick" xfont "helvetica-bold-r", tfont "arialbd.ttf" %deffont "tt" xfont "courier-medium-r", tfont "courbd.ttf", fore "green3" %% %% %% Default settings per each line numbers. %% %default 1 leftfill, size 2, fore "orange", back "white", font "thick" %default 2 size 5, vgap 10, prefix " " %default 3 size 2, bar "gray10", vgap 10 %default 4 size 5, fore "black", vgap 30, prefix " ", font "standard" %% %% Default settings that are applied to TAB-indented lines. %% %tab 1 size 4, font "thick", vgap 40, prefix " ", icon delta3 "red" 50 %tab 2 size 4, font "standard", vgap 40, prefix " ", icon box "orange" 50 %tab 3 size 3, vgap 40, prefix " ", icon arc "blue" 40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page %center, fore "cyan" %center %size 5, fore "black" Construction d'un fichier de zone Déboguage et dépannage %size 4, fore "gray10" Atelier AfTLD, Yaoundé 2004 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page Construction d'un fichier de zone Choisir un nom de domaine: .ws.trstech.net Ecrire le nom et l'adresse IP de votre PC: ns1..ws.trstech.net 216.252.236.x Créer les sous-répertoires sous /etc/namedb: "master" pour les zones primaires "slave" pour les zones secondaires %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page Créer un fichier de zone pour votre nom de domaine: vi /etc/namedb/master/.ws.trstech.net %font "tt", size 3 $TTL 30m @ SOA ns1..ws.trstech.net. admin\@.ws.trstech.net. ( 2004121701 ; serial 1h ; refresh 15m ; retry 4w ; expire 5m ) ; nttl NS ns1..ws.trstech.net. ns1 A 216.252.236.x %font "standard", size 4 Rappel: ne pas oublier '.' après les noms, si ils sont absolus. Rappel: tout ce qui suit un ';' est un commentaire %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page Vérification de la zone Syntaxe: named-checkzone nom_de_la_zone nom_du_fichier_zone %font "tt", size 4 named-checkzone .ws.trstech.net .ws.trstech.net %font "standard" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page Chargemnet de la zone (1) Modifier /etc/named.conf et y ajouter votre nouvelle zone: %font "tt" zone ".ws.trstech.net" { type master; file "master/.ws.trstech.net"; }; %font "standard" Démarrer le serveur de nom %font "tt" named -c /etc/named.conf %font "standard" Vérifier les erreurs éventuelles %font "tt" tail /var/log/messages %font "standard" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page Chargemnet de la zone (2) Vérifier que le serveur réponde avec autorité sur la zone: %font "tt" dig @localhost .ws.trstech.net soa +norec dig @localhost .ws.trstech.net ns +norec %font "standard" Que remarquez-vous ? %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page Dépannage Quels sont les erreurs communes ? RFC1912 Zone mal configurée (oubli de '.', délégation incorrecte/mal placée) Serveur mal configuré Mauvais nom de zone / mauvais fichier Pas le droit à l'écriture dans le répertoire slave Machine mal configurée Mauvaise adresse IP Réseau mal configuré Filtres réseau, route manquante, ... %size 6 Vérifiez les logs!!! /var/log/messages par défaut %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page Outils de déboguage Les logs de BIND (voir le guide administrateur) Options de débug intégrées à BIND ping et traceroute (problèmes réseau) tcpdump / ethereal (analyse de requête / réponse) dig (outil de recherche DNS avancé) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page La meilleure façon de prévenir les erreurs: Savoir qu'on va de toute façon en faire Se préparer en consultant les journaux (tail -f /var/log/messages dans une fenêtre séparée) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page Journalisation de BIND Dire à named quels TYPES de messages envoyer Catégorie Dire à named OU envoyer ces messages Canal (channel) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page Les catégories de BIND BIND dispose de plusieurs catégories Chacune d'entre elle est référencée dans le guide administrateur Exemple: %font "tt" category dnssec { dnssec_log; }; %font "standard" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page Les canaux de BIND BIND sait utiliser syslog (standard UNIX) BIND peut aussi écrire directement dans un fichier Exemple: %font "tt" channel dnssec_log { file "seclog" versions 3 size 10m; print-time yes; print-category yes; print-severity yes; severity debug 3; }; %font "standard" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page Nous avons installé un serveur... Quels tests devons nous effectuer ? Le minimum Le serveur tourne-t-il (indice: ps) La machine est-elle correctement configurée (indice: réseau) Les données retournées par le serveur La zone a-t-elle été chargée (que disent les logs ?) Les transferts de zones, si secondaire, se sont-ils déroulés ? %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page Vérification de la configuration Pour voir named démarrer en détail, utiliser %cont, font "tt" -g %font "standard" named reste en tâche principale affiche des diagnostics au fur et à mesure ne logge rien Quand vous êtes satisfait, tuer named + redémarrer sans '-g' Autres outils named-checkconf named-checkzone %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page Le serveur tourne-t-il ? Une fois que le serveur est lancé, s'assurer qu'il fonctionne: %font "tt" dig @localhost version.bind chaos txt %font "standard" named renvoie, si tout va bien, son numéro de version Ceci confirme que le serveur a au moins demarré, et que c'est la bonne version. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page Les données du serveur sont-elles correctes ? Vérifier le SOA: %font "tt" dig @127.0.0.1 soa %font "standard" Vérifier le numéro de série, s'assurer que la bonne version est chargée Rappel: Le numéro de série est vérifié par les secondaires, pour décider si un transfert de zone est nécessaire. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page Le serveur est-il joignable ? Si les tests avec dig échouent, il faut peut-être vérifier le réseau: %font "tt" ping ip.du.serveur %font "standard" Ceci teste les fonctions de bases du réseau, et les erreurs communes Interface mal configuée Route ou masque de réseau incorrect %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page Le serveur écoute-t-il ? Si le serveur ne répond pas, mais la machine répond au ping Vérifier les fichiers de log telnet ip.du.serveur 53 named peut tourner même s'il n'arrive pas à ouvrir de port! Ceci est visible dans les journaux (logs) telnet sur le port 53 teste si le port est ouvert %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page Le serveur journalise-t-il les bonnes informations ? Certains logs n'apparaissent qu'au besoin Example: journaux dnssec qui nécessitent que 'trusted-keys' soit configuré. Il n'est pas toujours évident de comprendre ce qui constitue un évènement suffisant à la création d'un log %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page Utilisation des outils named lui-même dig/nslookup outils système analyseurs de réseau %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page Utilisation des outils named -g 'named -g -c fichier_de_config' force named à rester en tâche interactive named -d règle le niveau de déboguage (le "volume") les niveaux ne sont pas clairement définis -d 3 est commun, -d 99 donne énormément de détail %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page Outils non-BIND Outils permettant de s'assurer que l'environnement est correct Outils de contrôle de la machine serveur ifconfig, df, ... Outil de test du réseau ping, traceroute Outils de décodage des messages en transit tcpdump, ethereal Autres outils dnstracer