MAJ
This commit is contained in:
@@ -0,0 +1,227 @@
|
||||
# **PARTIE 1 — Créer la topologie ddns.imn**
|
||||
|
||||
### **1\. Copier la topologie du TP22**
|
||||
|
||||
`cp ~/SCR.3.2/TP22/dns1.imn ~/SCR.3.2/TP04/ddns.imn`
|
||||
|
||||
### **2\. Ouvrir ddns.imn dans IMUNES**
|
||||
|
||||
Dans IMUNES :
|
||||
|
||||
`File → Open → ddns.imn`
|
||||
|
||||
### **3\. Rôles des machines :**
|
||||
|
||||
| Machine | Rôle |
|
||||
| ----- | ----- |
|
||||
| osiris | Serveur DNS (bind9) |
|
||||
| isis | Serveur DHCP |
|
||||
| eno, owt, host1, host2… | Clients DHCP |
|
||||
|
||||
---
|
||||
|
||||
# **PARTIE 2 — Préparation des fichiers DNS sur osiris**
|
||||
|
||||
### **1\. Copier les fichiers DNS du TP22 vers TP04**
|
||||
|
||||
`mkdir -p ~/SCR.3.2/TP04/DNS`
|
||||
`cp ~/SCR.3.2/TP22/*.zone ~/SCR.3.2/TP04/DNS/`
|
||||
`cp ~/SCR.3.2/TP22/named.conf.local ~/SCR.3.2/TP04/DNS/`
|
||||
|
||||
Et renomme-les :
|
||||
|
||||
`mv named.conf.local osiris.named.conf.local`
|
||||
|
||||
### **2\. Éditer les fichiers de zone**
|
||||
|
||||
Très important :
|
||||
Garder uniquement **osiris** et **isis** dans la zone.
|
||||
Supprimer **eno**, **owt**, etc. (ces machines seront ajoutées par DHCP).
|
||||
|
||||
Exemple :
|
||||
|
||||
`osiris.db.tp.scr`
|
||||
|
||||
`$TTL 86400`
|
||||
`@ IN SOA osiris.tp.scr. admin.tp.scr. (`
|
||||
`1 ; serial`
|
||||
`3H ; refresh`
|
||||
`1H ; retry`
|
||||
`1W ; expire`
|
||||
`1D ); minimum`
|
||||
|
||||
`@ IN NS osiris.tp.scr.`
|
||||
`osiris IN A 192.168.1.158`
|
||||
`isis IN A 192.168.1.2`
|
||||
|
||||
### **Déplacer les fichiers dans /var/lib/bind (exigé par TP)**
|
||||
|
||||
`sudo cp osiris.db.tp.scr /var/lib/bind/db.tp.scr`
|
||||
`sudo cp osiris.db.rev /var/lib/bind/db.1.168.192`
|
||||
|
||||
Pourquoi pas /etc/bind ?
|
||||
Car `named` s’exécute en **user bind**, donc il n’a pas le droit d’écrire dans `/etc/bind`, mais **il a le droit** dans `/var/lib/bind`.
|
||||
|
||||
---
|
||||
|
||||
# **PARTIE 3 — Générer et installer la clé TSIG**
|
||||
|
||||
### **1\. Sur osiris, générer la clé :**
|
||||
|
||||
`tsig-keygen -a md5 tp.scr-key > ddns.key`
|
||||
|
||||
### **2\. Copier la clé dans les bons répertoires**
|
||||
|
||||
`sudo cp ddns.key /etc/bind/`
|
||||
`sudo cp ddns.key /etc/dhcp/`
|
||||
|
||||
### **3\. Protéger la clé (obligatoire)**
|
||||
|
||||
`sudo chown root:bind /etc/bind/ddns.key`
|
||||
`sudo chmod 640 /etc/bind/ddns.key`
|
||||
|
||||
`sudo chown root:bind /etc/dhcp/ddns.key`
|
||||
`sudo chmod 640 /etc/dhcp/ddns.key`
|
||||
|
||||
---
|
||||
|
||||
# **PARTIE 4 — Configurer BIND9 (osiris)**
|
||||
|
||||
Éditer `/etc/bind/named.conf.local` :
|
||||
|
||||
`sudo nano /etc/bind/named.conf.local`
|
||||
|
||||
Mettre :
|
||||
|
||||
`include "/etc/bind/ddns.key";`
|
||||
|
||||
`zone "tp.scr" {`
|
||||
`type master;`
|
||||
`file "/var/lib/bind/db.tp.scr";`
|
||||
`allow-update { key tp.scr-key; };`
|
||||
`};`
|
||||
|
||||
`zone "1.168.192.in-addr.arpa" {`
|
||||
`type master;`
|
||||
`file "/var/lib/bind/db.1.168.192";`
|
||||
`allow-update { key tp.scr-key; };`
|
||||
`};`
|
||||
|
||||
---
|
||||
|
||||
# **PARTIE 5 — Configurer DHCP (isis)**
|
||||
|
||||
### **Éditer `/etc/dhcp/dhcpd.conf`**
|
||||
|
||||
`sudo nano /etc/dhcp/dhcpd.conf`
|
||||
|
||||
Mettre :
|
||||
|
||||
`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;`
|
||||
`}`
|
||||
|
||||
---
|
||||
|
||||
# **PARTIE 6 — Lancer les services en mode debug**
|
||||
|
||||
### **1\. DNS (osiris)**
|
||||
|
||||
`sudo named -u bind -g`
|
||||
|
||||
Attendre les logs de démarrage…
|
||||
|
||||
---
|
||||
|
||||
### **2\. DHCP (isis)**
|
||||
|
||||
Créer d’abord le fichier de leases :
|
||||
|
||||
`sudo touch /var/lib/dhcp/dhcpd.leases`
|
||||
|
||||
Lancer DHCP :
|
||||
|
||||
`sudo dhcpd -d`
|
||||
|
||||
Tu dois voir :
|
||||
|
||||
* DHCPDISCOVER
|
||||
|
||||
* DHCPOFFER
|
||||
|
||||
* DHCPREQUEST
|
||||
|
||||
* DHCPACK
|
||||
|
||||
* puis : **Forward update → osiris**
|
||||
|
||||
---
|
||||
|
||||
# **PARTIE 7 — Tests sur un client**
|
||||
|
||||
### **1\. Vérifier avant DHCP**
|
||||
|
||||
`sudo himage eno ip a`
|
||||
`sudo himage eno cat /etc/resolv.conf`
|
||||
|
||||
### **2\. Demander une adresse**
|
||||
|
||||
`sudo himage eno dhclient -v eth0`
|
||||
|
||||
### **3\. Vérifier côté DNS**
|
||||
|
||||
Sur osiris (qui affiche en live) tu verras :
|
||||
|
||||
`approved update: add eno.tp.scr A 192.168.1.X`
|
||||
`approved update: add X.1.168.192.in-addr.arpa PTR eno.tp.scr`
|
||||
|
||||
### **4\. Tester DNS**
|
||||
|
||||
`sudo himage eno dig eno.tp.scr`
|
||||
`sudo himage eno dig -x 192.168.1.X`
|
||||
|
||||
---
|
||||
|
||||
# **PARTIE 8 — Tester une erreur de clé (obligatoire TP)**
|
||||
|
||||
### **Sur isis → Modifier volontairement la clé**
|
||||
|
||||
Dans `/etc/dhcp/ddns.key`, changer 1 caractère de la clé.
|
||||
|
||||
Relancer :
|
||||
|
||||
`sudo dhcpd -d`
|
||||
|
||||
### **Résultat attendu :**
|
||||
|
||||
* DHCP fonctionne toujours
|
||||
|
||||
DNS affiche :
|
||||
|
||||
`tsig verify failure (BADSIG)`
|
||||
|
||||
### **Test DNS :**
|
||||
|
||||
`dig eno.tp.scr`
|
||||
|
||||
→ Résultat : **NXDOMAIN**
|
||||
|
||||
Binary file not shown.
@@ -0,0 +1,223 @@
|
||||
PARTIE 1 — Créer la topologie ddns.imn
|
||||
1. Copier la topologie du TP22
|
||||
cp ~/SCR.3.2/TP22/dns1.imn ~/SCR.3.2/TP04/ddns.imn
|
||||
|
||||
|
||||
2. Ouvrir ddns.imn dans IMUNES
|
||||
Dans IMUNES :
|
||||
File → Open → ddns.imn
|
||||
|
||||
|
||||
3. Rôles des machines :
|
||||
Machine
|
||||
Rôle
|
||||
osiris
|
||||
Serveur DNS (bind9)
|
||||
isis
|
||||
Serveur DHCP
|
||||
eno, owt, host1, host2…
|
||||
Clients DHCP
|
||||
________________
|
||||
|
||||
|
||||
PARTIE 2 — Préparation des fichiers DNS sur osiris
|
||||
1. Copier les fichiers DNS du TP22 vers TP04
|
||||
mkdir -p ~/SCR.3.2/TP04/DNS
|
||||
cp ~/SCR.3.2/TP22/*.zone ~/SCR.3.2/TP04/DNS/
|
||||
cp ~/SCR.3.2/TP22/named.conf.local ~/SCR.3.2/TP04/DNS/
|
||||
|
||||
|
||||
Et renomme-les :
|
||||
mv named.conf.local osiris.named.conf.local
|
||||
|
||||
|
||||
2. Éditer les fichiers de zone
|
||||
Très important :
|
||||
Garder uniquement osiris et isis dans la zone.
|
||||
Supprimer eno, owt, etc. (ces machines seront ajoutées par DHCP).
|
||||
Exemple :
|
||||
osiris.db.tp.scr
|
||||
$TTL 86400
|
||||
@ IN SOA osiris.tp.scr. admin.tp.scr. (
|
||||
1 ; serial
|
||||
3H ; refresh
|
||||
1H ; retry
|
||||
1W ; expire
|
||||
1D ); minimum
|
||||
|
||||
|
||||
@ IN NS osiris.tp.scr.
|
||||
osiris IN A 192.168.1.158
|
||||
isis IN A 192.168.1.2
|
||||
|
||||
|
||||
Déplacer les fichiers dans /var/lib/bind (exigé par TP)
|
||||
sudo cp osiris.db.tp.scr /var/lib/bind/db.tp.scr
|
||||
sudo cp osiris.db.rev /var/lib/bind/db.1.168.192
|
||||
|
||||
|
||||
Pourquoi pas /etc/bind ?
|
||||
Car named s’exécute en user bind, donc il n’a pas le droit d’écrire dans /etc/bind, mais il a le droit dans /var/lib/bind.
|
||||
________________
|
||||
|
||||
|
||||
PARTIE 3 — Générer et installer la clé TSIG
|
||||
1. Sur osiris, générer la clé :
|
||||
tsig-keygen -a md5 tp.scr-key > ddns.key
|
||||
|
||||
|
||||
2. Copier la clé dans les bons répertoires
|
||||
sudo cp ddns.key /etc/bind/
|
||||
sudo cp ddns.key /etc/dhcp/
|
||||
|
||||
|
||||
3. Protéger la clé (obligatoire)
|
||||
sudo chown root:bind /etc/bind/ddns.key
|
||||
sudo chmod 640 /etc/bind/ddns.key
|
||||
|
||||
|
||||
sudo chown root:bind /etc/dhcp/ddns.key
|
||||
sudo chmod 640 /etc/dhcp/ddns.key
|
||||
|
||||
|
||||
________________
|
||||
|
||||
|
||||
PARTIE 4 — Configurer BIND9 (osiris)
|
||||
Éditer /etc/bind/named.conf.local :
|
||||
sudo nano /etc/bind/named.conf.local
|
||||
|
||||
|
||||
Mettre :
|
||||
include "/etc/bind/ddns.key";
|
||||
|
||||
|
||||
zone "tp.scr" {
|
||||
type master;
|
||||
file "/var/lib/bind/db.tp.scr";
|
||||
allow-update { key tp.scr-key; };
|
||||
};
|
||||
|
||||
|
||||
zone "1.168.192.in-addr.arpa" {
|
||||
type master;
|
||||
file "/var/lib/bind/db.1.168.192";
|
||||
allow-update { key tp.scr-key; };
|
||||
};
|
||||
|
||||
|
||||
________________
|
||||
|
||||
|
||||
PARTIE 5 — Configurer DHCP (isis)
|
||||
Éditer /etc/dhcp/dhcpd.conf
|
||||
sudo nano /etc/dhcp/dhcpd.conf
|
||||
|
||||
|
||||
Mettre :
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
________________
|
||||
|
||||
|
||||
PARTIE 6 — Lancer les services en mode debug
|
||||
1. DNS (osiris)
|
||||
sudo named -u bind -g
|
||||
|
||||
|
||||
Attendre les logs de démarrage…
|
||||
________________
|
||||
|
||||
|
||||
2. DHCP (isis)
|
||||
Créer d’abord le fichier de leases :
|
||||
sudo touch /var/lib/dhcp/dhcpd.leases
|
||||
|
||||
|
||||
Lancer DHCP :
|
||||
sudo dhcpd -d
|
||||
|
||||
|
||||
Tu dois voir :
|
||||
* DHCPDISCOVER
|
||||
|
||||
* DHCPOFFER
|
||||
|
||||
* DHCPREQUEST
|
||||
|
||||
* DHCPACK
|
||||
|
||||
* puis : Forward update → osiris
|
||||
|
||||
________________
|
||||
|
||||
|
||||
PARTIE 7 — Tests sur un client
|
||||
1. Vérifier avant DHCP
|
||||
sudo himage eno ip a
|
||||
sudo himage eno cat /etc/resolv.conf
|
||||
|
||||
|
||||
2. Demander une adresse
|
||||
sudo himage eno dhclient -v eth0
|
||||
|
||||
|
||||
3. Vérifier côté DNS
|
||||
Sur osiris (qui affiche en live) tu verras :
|
||||
approved update: add eno.tp.scr A 192.168.1.X
|
||||
approved update: add X.1.168.192.in-addr.arpa PTR eno.tp.scr
|
||||
|
||||
|
||||
4. Tester DNS
|
||||
sudo himage eno dig eno.tp.scr
|
||||
sudo himage eno dig -x 192.168.1.X
|
||||
|
||||
|
||||
________________
|
||||
|
||||
|
||||
PARTIE 8 — Tester une erreur de clé (obligatoire TP)
|
||||
Sur isis → Modifier volontairement la clé
|
||||
Dans /etc/dhcp/ddns.key, changer 1 caractère de la clé.
|
||||
Relancer :
|
||||
sudo dhcpd -d
|
||||
|
||||
|
||||
Résultat attendu :
|
||||
* DHCP fonctionne toujours
|
||||
|
||||
DNS affiche :
|
||||
|
||||
tsig verify failure (BADSIG)
|
||||
Test DNS :
|
||||
dig eno.tp.scr
|
||||
|
||||
|
||||
→ Résultat : NXDOMAIN
|
||||
@@ -0,0 +1,364 @@
|
||||
# **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 |
|
||||
|
||||
Binary file not shown.
@@ -0,0 +1,342 @@
|
||||
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
|
||||
Reference in New Issue
Block a user