342 lines
7.1 KiB
Plaintext
342 lines
7.1 KiB
Plaintext
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 |