TP04 – Dynamic DNS — Organisation par GRANDES PARTIES ________________ PARTIE 1 — Préparation de la topologie (ddns.imn) Objectif : Créer une topologie avec : * un serveur DNS : osiris * un serveur DHCP : isis * des clients (eno, owt, pc1, pc2…) Ce que tu dois faire : 1. Copier la topologie du TP22 (dns1.imn) 2. Enregistrer sous ddns.imn dans : ~/SCR.3.2/TP04/ 3. Assigner : * osiris : serveur DNS * isis : serveur DHCP * Les autres machines : sans IP statique (elles utiliseront DHCP) Pourquoi ? Parce que : * DHCP doit distribuer IP + DNS + nom de domaine, * DHCP doit envoyer des mises à jour dynamiques au DNS. ________________ PARTIE 2 — Préparation des fichiers DNS (osiris) Objectif : Créer les fichiers de zone que BIND pourra modifier dynamiquement. Étapes : (1) Copier les fichiers du TP22 dans TP04 Tu copies depuis ton dossier TP22 tout ce qui concerne DNS : named.conf.local db.tp.scr db.1.168.192 Tu renommes : osiris.named.conf.local osiris.db.tp.scr osiris.db.1.168.192 (2) Éditer les fichiers de zone Le TP dit : garder seulement : * les enregistrements pour osiris, * ajouter ceux pour isis, * supprimer toutes les autres machines (eno, owt, pc1, pc2…). tp04.SCR.3.2 Parce que ces autres machines recevront leurs enregistrements dynamiquement via DHCP, donc pas dans les fichiers statiques. (3) Déplacer les fichiers dans /var/lib/bind/ Très important : BIND n’a pas le droit d’écrire dans /etc/bind/. Les fichiers de zones finalisés doivent être placés dans : /var/lib/bind/db.tp.scr /var/lib/bind/db.1.168.192 Pourquoi ? * Parce que named tourne sous l’utilisateur bind, * Il doit créer un fichier journal .jnl pour les mises à jour dynamiques, * /etc/bind n’est pas modifiable par bind. tp04.SCR.3.2 ________________ PARTIE 3 — Génération et configuration de la clé TSIG (sécurité) Objectif : Permettre à DHCP (isis) de mettre à jour DNS (osiris) en toute sécurité. Générer la clé sur osiris : tsig-keygen -a md5 tp.scr-key > ddns.key Installer la clé : Sur osiris : /etc/bind/ddns.key chmod 640 ddns.key chown root:bind ddns.key Sur isis : /etc/dhcp/ddns.key chmod 640 ddns.key chown root:bind ddns.key Pourquoi ? TSIG = Transaction Signature → sécurité = le DNS n’accepte des updates que du DHCP, pas d’un intrus. ________________ PARTIE 4 — Configuration DNS dynamique (osiris) Objectif : Dire au serveur DNS de permettre les mises à jour dynamiques venant de isis. Modifier /etc/bind/named.conf.local (renommé ici en osiris.named.conf.local) Exemple : include "/etc/bind/ddns.key"; zone "tp.scr" IN { type master; file "/var/lib/bind/db.tp.scr"; allow-update { key tp.scr-key; }; }; zone "1.168.192.in-addr.arpa" IN { type master; file "/var/lib/bind/db.1.168.192"; allow-update { key tp.scr-key; }; }; Pourquoi ? * allow-update { key ... } = autoriser DHCP uniquement. * Le fichier de zone est dans /var/lib/bind/ pour que BIND puisse écrire le .jnl. ________________ PARTIE 5 — Configuration DHCP avec DDNS (isis) Objectif : Faire en sorte que DHCP : * attribue des IP aux clients, * génère automatiquement : * un enregistrement A (nom → IP) * un enregistrement PTR (IP → nom) * envoie les mises à jour signées au DNS. ________________ Modifier /etc/dhcp/dhcpd.conf (fichier isis.dhcpd.conf) Exemple minimal : include "/etc/dhcp/ddns.key"; ddns-update-style standard; update-static-leases on; option domain-name "tp.scr"; option domain-name-servers 192.168.1.158; # osiris zone tp.scr. { primary 192.168.1.158; key tp.scr-key; } zone 1.168.192.in-addr.arpa. { primary 192.168.1.158; key tp.scr-key; } subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.11 192.168.1.200; option routers 192.168.1.254; } ________________ Pourquoi ? Parce que DHCP doit : * savoir où envoyer les mises à jour DNS → directives zone {...}; * les signer → directive key; * fournir l’IP du DNS aux clients → option domain-name-servers. ________________ PARTIE 6 — Lancement manuel des services en mode debug Objectif : Observer les transactions DDNS en temps réel. ________________ Sur osiris (DNS) : named -u bind -g Cela garde named en avant-plan et affiche les mises à jour. ________________ Sur isis (DHCP) : dhcpd -d Cela permet de voir : * DHCPDISCOVER * DHCPOFFER * DHCPREQUEST * DHCPACK * et surtout → la génération des messages DDNS ________________ Pourquoi ne pas lancer via service bind9 start ? Parce que tu ne verrais aucun log, et tu ne pourrais pas analyser les mises à jour dynamiques. Le TP impose explicitement l’exécution en mode debug. tp04.SCR.3.2 ________________ PARTIE 7 — Tests fonctionnels 1. Avant la requête DHCP Sur un client (eno par exemple) : ip a cat /etc/resolv.conf → pas d’IPv4, pas de DNS. ________________ 2. Demande d’adresse : dhclient -v eth0 Observations : Côté DHCP (isis) : * DHCPACK * "Added new forward map ..." * "Added reverse map ..." Côté DNS (osiris) : * Validation TSIG * Écriture dans .jnl * Mise à jour A + PTR ________________ 3. Test DNS : dig eno.tp.scr dig -x 192.168.1.X Résultat attendu : * le nom résout vers l’IP DHCP, * l’IP résout vers le nom. ________________ PARTIE 8 — Cas d’erreur : mauvaise clé TSIG Le TP demande de modifier légèrement la clé du DHCP pour provoquer une erreur. tp04.SCR.3.2 Symptômes : DHCP (isis) : → Continue à fonctionner normalement. DNS (osiris) : → Rejette les mises à jour : tsig verify failure (BADSIG) Test DNS : dig eno.tp.scr → Réponse : NXDOMAIN ________________ Pourquoi ? Parce que la requête DDNS est : * signée par DHCP, * vérifiée par DNS. Si la signature ne correspond pas, DNS rejette la mise à jour → donc pas d’enregistrement. ________________ RÉSUMÉ PARFAIT DU TP04 Partie Ce que tu fais Pourquoi 1 Créer ddns.imn Topo du TP 2 Préparer les zones Utilisation dynamique 3 Créer clé TSIG Sécurisation 4 Configurer DNS Autoriser mises à jour 5 Configurer DHCP Envoyer mises à jour 6 Lancer named & dhcpd en debug Voir les transactions 7 Tester DHCP + DNS Vérification du DDNS 8 Tester erreur de clé Comprendre TSIG