Files
BUT2/TP_SCR3.2/revision_scr3.2/TP4/TP04 – Dynamic DNS — Organisation par GRANDES PARTIES.md

365 lines
6.7 KiB
Markdown
Raw Normal View History

2025-12-10 01:26:13 +01:00
# **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 **na 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 lutilisateur **bind**,
* Il doit créer un fichier journal `.jnl` pour les mises à jour dynamiques,
* `/etc/bind` nest 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 naccepte des updates **que du DHCP**, pas dun 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 lIP 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 lexé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 dIPv4, pas de DNS.
---
### **2\. Demande dadresse :**
`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 lIP DHCP,
* lIP résout vers le nom.
---
# **PARTIE 8 — Cas derreur : 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 denregistrement.
---
# **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 |