6.7 KiB
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 :
-
Copier la topologie du TP22 (
dns1.imn) -
Enregistrer sous
ddns.imndans :
~/SCR.3.2/TP04/ -
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
namedtourne sous l’utilisateur bind, -
Il doit créer un fichier journal
.jnlpour les mises à jour dynamiques, -
/etc/bindn’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 |