MAJ
This commit is contained in:
268
TP_SCR3.2/revision_scr3.2/TP3/Part1/TP03-1 .md
Normal file
268
TP_SCR3.2/revision_scr3.2/TP3/Part1/TP03-1 .md
Normal file
@@ -0,0 +1,268 @@
|
||||
## **0\. Topologie & prérequis**
|
||||
|
||||
Sur le schéma (page 3\) on a :
|
||||
|
||||
tp03.SCR.3.2
|
||||
|
||||
* **DHCPsrv** — `eth0` : `192.168.10.10/20`
|
||||
|
||||
* **GW**
|
||||
|
||||
* `eth0` : `192.168.10.254/20` (vers `switch1`)
|
||||
|
||||
* `eth1` : `172.16.2.254/24` (vers `switch2`)
|
||||
|
||||
* **pc1-1, pc1-2** : reliés à `switch1`, **sans IP** au départ (obtiendront une IP via DHCP)
|
||||
|
||||
* **pc2-1, pc2-2** : reliés à `switch2` (on les utilisera plus tard en partie II avec le relais)
|
||||
|
||||
L’idée de la partie I :
|
||||
Serveur DHCP sur **DHCPsrv**, qui donne des adresses aux machines **du segment 192.168.10.0/20** (pc1-1, pc1-2) \+ leur route vers le reste.
|
||||
|
||||
Les contraintes DHCP :
|
||||
|
||||
tp03.SCR.3.2
|
||||
|
||||
1. Dernier octet (4ᵉ) des IPv4 allouées : **entre 20 et 40**.
|
||||
|
||||
2. 3ᵉ octet \= **10**.
|
||||
|
||||
3. Les nœuds du segment 192.168.10.0/20 doivent connaître la route vers l’autre segment (172.16.2.0/24) → on va leur donner le **routeur par défaut GW (192.168.10.254)**.
|
||||
|
||||
Donc notre plage DHCP sera :
|
||||
`192.168.10.20` à `192.168.10.40`.
|
||||
|
||||
---
|
||||
|
||||
## **1\. Construire la topo `dhcp-serv.imn`**
|
||||
|
||||
Dans IMUNES :
|
||||
|
||||
1. Crée un nouveau projet, ajoute :
|
||||
|
||||
* 1 routeur/host nommé **DHCPsrv**
|
||||
|
||||
* 1 routeur/host nommé **GW**
|
||||
|
||||
* 2 switches `switch1`, `switch2`
|
||||
|
||||
* 4 PCs : `pc1-1`, `pc1-2`, `pc2-1`, `pc2-2`
|
||||
|
||||
2. Câblage comme sur la *Figure 1 – dhcp-serv.imn* (page 3).
|
||||
tp03.SCR.3.2
|
||||
|
||||
3. Configure les **adresses statiques** suivantes :
|
||||
|
||||
* **DHCPsrv**
|
||||
|
||||
* `eth0` : `192.168.10.10/20`
|
||||
|
||||
* **GW**
|
||||
|
||||
* `eth0` : `192.168.10.254/20`
|
||||
|
||||
* `eth1` : `172.16.2.254/24`
|
||||
|
||||
* **pc1-1, pc1-2, pc2-1, pc2-2** : laisses **vide en IPv4** (ils auront une IPv6 link-local et éventuellement une fc00::20/64, comme dans l’exemple de l’énoncé).
|
||||
tp03.SCR.3.2
|
||||
|
||||
Enregistre ça sous `dhcp-serv.imn`.
|
||||
|
||||
---
|
||||
|
||||
## **2\. Préparer le fichier `dhcpd.conf` (sur la machine host)**
|
||||
|
||||
L’énoncé demande de **copier** le `/etc/dhcp/dhcpd.conf` d’un nœud virtuel vers l’host, de le modifier, puis de le recopier sur `DHCPsrv`.
|
||||
|
||||
tp03.SCR.3.2
|
||||
|
||||
### **2.1 Copier le modèle depuis un nœud virtuel**
|
||||
|
||||
Par exemple :
|
||||
|
||||
`# Depuis ta machine physique, dans ton répertoire IMUNES/SCR.3.2/TP03`
|
||||
`mkdir -p IMUNES/SCR.3.2/TP03`
|
||||
|
||||
`# Copier le dhcpd.conf du nœud DHCPsrv vers l’host`
|
||||
`sudo himage DHCPsrv cat /etc/dhcp/dhcpd.conf > IMUNES/SCR.3.2/TP03/dhcpd.conf`
|
||||
|
||||
C’est **ce** fichier `IMUNES/SCR.3.2/TP03/dhcpd.conf` qu’on va modifier.
|
||||
|
||||
tp03.SCR.3.2
|
||||
|
||||
### **2.2 Adapter `TP03/dhcpd.conf`**
|
||||
|
||||
Ouvre-le dans ton éditeur favori (`nano`, `vim`, …) et adapte pour obtenir quelque chose comme :
|
||||
|
||||
`# /etc/dhcp/dhcpd.conf - TP03`
|
||||
|
||||
`default-lease-time 600;`
|
||||
`max-lease-time 7200;`
|
||||
`authoritative;`
|
||||
|
||||
`# Sous-réseau 192.168.0.0/20`
|
||||
`subnet 192.168.0.0 netmask 255.255.240.0 {`
|
||||
`# (a) Plage d’adresses : 192.168.10.20 - 192.168.10.40`
|
||||
`range 192.168.10.20 192.168.10.40;`
|
||||
|
||||
`# (b) Route vers l’autre segment via le routeur GW`
|
||||
`option routers 192.168.10.254;`
|
||||
|
||||
`option subnet-mask 255.255.240.0;`
|
||||
`option broadcast-address 192.168.15.255;`
|
||||
|
||||
`# DNS quelconque (par ex. Google)`
|
||||
`option domain-name-servers 8.8.8.8;`
|
||||
`}`
|
||||
|
||||
* Condition (a) respectée : dernier octet ∈ \[20, 40\], 3ᵉ octet \= 10\.
|
||||
|
||||
* Condition (b) : les clients recevront **une route par défaut** via `192.168.10.254`, qui leur permet d’atteindre aussi le réseau `172.16.2.0/24` (via GW).
|
||||
|
||||
---
|
||||
|
||||
## **3\. Re-copier `dhcpd.conf` sur DHCPsrv**
|
||||
|
||||
`# Copier le fichier configuré vers le node DHCPsrv`
|
||||
`sudo himage DHCPsrv /bin/sh -c "cat > /etc/dhcp/dhcpd.conf" < IMUNES/SCR.3.2/TP03/dhcpd.conf`
|
||||
|
||||
Tu peux vérifier :
|
||||
|
||||
`sudo himage DHCPsrv cat /etc/dhcp/dhcpd.conf`
|
||||
|
||||
---
|
||||
|
||||
## **4\. Créer le fichier des baux côté serveur**
|
||||
|
||||
Le fichier des baux n’existe pas au départ ; il faut le créer manuellement.
|
||||
|
||||
tp03.SCR.3.2
|
||||
|
||||
`sudo himage DHCPsrv touch /var/lib/dhcp/dhcpd.leases`
|
||||
|
||||
---
|
||||
|
||||
## **5\. Limiter le serveur à IPv4 & interface `eth0`**
|
||||
|
||||
Dans `/etc/default/isc-dhcp-server` (sur **DHCPsrv**) :
|
||||
|
||||
tp03.SCR.3.2
|
||||
|
||||
1. Ouvrir le fichier :
|
||||
|
||||
`sudo himage DHCPsrv nano /etc/default/isc-dhcp-server`
|
||||
|
||||
2. Modifier :
|
||||
|
||||
**Commenter** la ligne `INTERFACESv6` :
|
||||
|
||||
`#INTERFACESv6="..."`
|
||||
|
||||
*
|
||||
|
||||
Mettre `INTERFACESv4` à `eth0` :
|
||||
|
||||
`INTERFACESv4="eth0"`
|
||||
|
||||
*
|
||||
|
||||
Sauvegarde, quitte.
|
||||
|
||||
---
|
||||
|
||||
## **6\. Démarrer le service DHCP**
|
||||
|
||||
Toujours sur ta machine physique :
|
||||
|
||||
`sudo himage DHCPsrv /etc/init.d/isc-dhcp-server start`
|
||||
|
||||
S’il n’y a pas d’erreur de configuration, le service se lance.
|
||||
Tu peux vérifier avec :
|
||||
|
||||
`sudo himage DHCPsrv ps aux | grep dhcpd`
|
||||
|
||||
Le PID est aussi enregistré dans un fichier (typiquement `/var/run/dhcpd.pid` ou similaire, voir `man dhcpd` pour le chemin exact).
|
||||
|
||||
tp03.SCR.3.2
|
||||
|
||||
---
|
||||
|
||||
## **7\. Well-known port « bootps » (question I.7)**
|
||||
|
||||
Dans `/etc/services`, le port **bootps** est le port **67/udp** (DHCP serveur).
|
||||
|
||||
tp03.SCR.3.2
|
||||
|
||||
Tu peux le vérifier :
|
||||
|
||||
`sudo himage DHCPsrv grep bootps /etc/services`
|
||||
|
||||
Vérifier qu’il est bien ouvert :
|
||||
|
||||
`# Avec ss`
|
||||
`sudo himage DHCPsrv ss -lunp | grep 67`
|
||||
|
||||
`# ou avec netstat`
|
||||
`sudo himage DHCPsrv netstat -anu | grep bootps`
|
||||
|
||||
Tu dois voir `udp 0 0 0.0.0.0:67` écouté par `dhcpd`.
|
||||
|
||||
---
|
||||
|
||||
## **8\. Vérifier pc1-1 avant DHCP (I.8)**
|
||||
|
||||
Avant de lancer `dhclient` :
|
||||
|
||||
`sudo himage pc1-1 ip addr show dev eth0`
|
||||
`sudo himage pc1-1 ip route show`
|
||||
|
||||
Tu devrais voir seulement une adresse IPv6 (fc00::20/64 et fe80::...) comme dans l’énoncé.
|
||||
|
||||
tp03.SCR.3.2
|
||||
|
||||
---
|
||||
|
||||
## **9\. Demander une adresse DHCP sur pc1-1 (I.9)**
|
||||
|
||||
Sur ta machine physique :
|
||||
|
||||
`sudo himage pc1-1 dhclient eth0`
|
||||
|
||||
Le client discute avec DHCPsrv, obtient une IP.
|
||||
|
||||
---
|
||||
|
||||
## **10\. Re-vérifier l’IP & la table de routage (I.10 & I.11)**
|
||||
|
||||
`sudo himage pc1-1 ip addr show dev eth0`
|
||||
`sudo himage pc1-1 ip route show`
|
||||
|
||||
Attendu :
|
||||
|
||||
* Une IPv4 dans la **plage** `192.168.10.20–192.168.10.40`
|
||||
|
||||
Une route par défaut du type :
|
||||
|
||||
`default via 192.168.10.254 dev eth0`
|
||||
|
||||
*
|
||||
|
||||
**Réponse à la question I.11 :**
|
||||
Oui, la route statique (route par défaut fournie par DHCP via `option routers 192.168.10.254;`) est fonctionnelle : pc1-1 enverra tout ce qui n’est pas local vers GW, qui sait joindre l’autre segment `172.16.2.0/24`.
|
||||
|
||||
tp03.SCR.3.2
|
||||
|
||||
Tu peux tester, par ex. ping vers GW :
|
||||
|
||||
`sudo himage pc1-1 ping -c 2 192.168.10.254`
|
||||
|
||||
---
|
||||
|
||||
## **11\. Voir les baux côté client (I.12)**
|
||||
|
||||
Sur pc1-1 :
|
||||
|
||||
`sudo himage pc1-1 cat /var/lib/dhcp/dhclient.leases`
|
||||
|
||||
Tu y verras l’historique des baux obtenus / renouvelés.
|
||||
|
||||
BIN
TP_SCR3.2/revision_scr3.2/TP3/Part1/TP03-1 .pdf
Normal file
BIN
TP_SCR3.2/revision_scr3.2/TP3/Part1/TP03-1 .pdf
Normal file
Binary file not shown.
238
TP_SCR3.2/revision_scr3.2/TP3/Part1/TP03-1 .txt
Normal file
238
TP_SCR3.2/revision_scr3.2/TP3/Part1/TP03-1 .txt
Normal file
@@ -0,0 +1,238 @@
|
||||
0. Topologie & prérequis
|
||||
Sur le schéma (page 3) on a :
|
||||
tp03.SCR.3.2
|
||||
* DHCPsrv — eth0 : 192.168.10.10/20
|
||||
|
||||
* GW
|
||||
|
||||
* eth0 : 192.168.10.254/20 (vers switch1)
|
||||
|
||||
* eth1 : 172.16.2.254/24 (vers switch2)
|
||||
|
||||
* pc1-1, pc1-2 : reliés à switch1, sans IP au départ (obtiendront une IP via DHCP)
|
||||
|
||||
* pc2-1, pc2-2 : reliés à switch2 (on les utilisera plus tard en partie II avec le relais)
|
||||
|
||||
L’idée de la partie I :
|
||||
Serveur DHCP sur DHCPsrv, qui donne des adresses aux machines du segment 192.168.10.0/20 (pc1-1, pc1-2) + leur route vers le reste.
|
||||
Les contraintes DHCP :
|
||||
tp03.SCR.3.2
|
||||
1. Dernier octet (4ᵉ) des IPv4 allouées : entre 20 et 40.
|
||||
|
||||
2. 3ᵉ octet = 10.
|
||||
|
||||
3. Les nœuds du segment 192.168.10.0/20 doivent connaître la route vers l’autre segment (172.16.2.0/24) → on va leur donner le routeur par défaut GW (192.168.10.254).
|
||||
|
||||
Donc notre plage DHCP sera :
|
||||
192.168.10.20 à 192.168.10.40.
|
||||
________________
|
||||
|
||||
|
||||
1. Construire la topo dhcp-serv.imn
|
||||
Dans IMUNES :
|
||||
1. Crée un nouveau projet, ajoute :
|
||||
|
||||
* 1 routeur/host nommé DHCPsrv
|
||||
|
||||
* 1 routeur/host nommé GW
|
||||
|
||||
* 2 switches switch1, switch2
|
||||
|
||||
* 4 PCs : pc1-1, pc1-2, pc2-1, pc2-2
|
||||
|
||||
2. Câblage comme sur la Figure 1 – dhcp-serv.imn (page 3).
|
||||
tp03.SCR.3.2
|
||||
|
||||
3. Configure les adresses statiques suivantes :
|
||||
|
||||
* DHCPsrv
|
||||
|
||||
* eth0 : 192.168.10.10/20
|
||||
|
||||
* GW
|
||||
|
||||
* eth0 : 192.168.10.254/20
|
||||
|
||||
* eth1 : 172.16.2.254/24
|
||||
|
||||
* pc1-1, pc1-2, pc2-1, pc2-2 : laisses vide en IPv4 (ils auront une IPv6 link-local et éventuellement une fc00::20/64, comme dans l’exemple de l’énoncé).
|
||||
tp03.SCR.3.2
|
||||
|
||||
Enregistre ça sous dhcp-serv.imn.
|
||||
________________
|
||||
|
||||
|
||||
2. Préparer le fichier dhcpd.conf (sur la machine host)
|
||||
L’énoncé demande de copier le /etc/dhcp/dhcpd.conf d’un nœud virtuel vers l’host, de le modifier, puis de le recopier sur DHCPsrv.
|
||||
tp03.SCR.3.2
|
||||
2.1 Copier le modèle depuis un nœud virtuel
|
||||
Par exemple :
|
||||
# Depuis ta machine physique, dans ton répertoire IMUNES/SCR.3.2/TP03
|
||||
mkdir -p IMUNES/SCR.3.2/TP03
|
||||
|
||||
|
||||
# Copier le dhcpd.conf du nœud DHCPsrv vers l’host
|
||||
sudo himage DHCPsrv cat /etc/dhcp/dhcpd.conf > IMUNES/SCR.3.2/TP03/dhcpd.conf
|
||||
|
||||
|
||||
C’est ce fichier IMUNES/SCR.3.2/TP03/dhcpd.conf qu’on va modifier.
|
||||
tp03.SCR.3.2
|
||||
2.2 Adapter TP03/dhcpd.conf
|
||||
Ouvre-le dans ton éditeur favori (nano, vim, …) et adapte pour obtenir quelque chose comme :
|
||||
# /etc/dhcp/dhcpd.conf - TP03
|
||||
|
||||
|
||||
default-lease-time 600;
|
||||
max-lease-time 7200;
|
||||
authoritative;
|
||||
|
||||
|
||||
# Sous-réseau 192.168.0.0/20
|
||||
subnet 192.168.0.0 netmask 255.255.240.0 {
|
||||
# (a) Plage d’adresses : 192.168.10.20 - 192.168.10.40
|
||||
range 192.168.10.20 192.168.10.40;
|
||||
|
||||
|
||||
# (b) Route vers l’autre segment via le routeur GW
|
||||
option routers 192.168.10.254;
|
||||
|
||||
|
||||
option subnet-mask 255.255.240.0;
|
||||
option broadcast-address 192.168.15.255;
|
||||
|
||||
|
||||
# DNS quelconque (par ex. Google)
|
||||
option domain-name-servers 8.8.8.8;
|
||||
}
|
||||
|
||||
|
||||
* Condition (a) respectée : dernier octet ∈ [20, 40], 3ᵉ octet = 10.
|
||||
|
||||
* Condition (b) : les clients recevront une route par défaut via 192.168.10.254, qui leur permet d’atteindre aussi le réseau 172.16.2.0/24 (via GW).
|
||||
|
||||
________________
|
||||
|
||||
|
||||
3. Re-copier dhcpd.conf sur DHCPsrv
|
||||
# Copier le fichier configuré vers le node DHCPsrv
|
||||
sudo himage DHCPsrv /bin/sh -c "cat > /etc/dhcp/dhcpd.conf" < IMUNES/SCR.3.2/TP03/dhcpd.conf
|
||||
|
||||
|
||||
Tu peux vérifier :
|
||||
sudo himage DHCPsrv cat /etc/dhcp/dhcpd.conf
|
||||
|
||||
|
||||
________________
|
||||
|
||||
|
||||
4. Créer le fichier des baux côté serveur
|
||||
Le fichier des baux n’existe pas au départ ; il faut le créer manuellement.
|
||||
tp03.SCR.3.2
|
||||
sudo himage DHCPsrv touch /var/lib/dhcp/dhcpd.leases
|
||||
|
||||
|
||||
________________
|
||||
|
||||
|
||||
5. Limiter le serveur à IPv4 & interface eth0
|
||||
Dans /etc/default/isc-dhcp-server (sur DHCPsrv) :
|
||||
tp03.SCR.3.2
|
||||
1. Ouvrir le fichier :
|
||||
|
||||
sudo himage DHCPsrv nano /etc/default/isc-dhcp-server
|
||||
|
||||
|
||||
2. Modifier :
|
||||
|
||||
Commenter la ligne INTERFACESv6 :
|
||||
|
||||
#INTERFACESv6="..."
|
||||
* Mettre INTERFACESv4 à eth0 :
|
||||
|
||||
INTERFACESv4="eth0"
|
||||
* Sauvegarde, quitte.
|
||||
________________
|
||||
|
||||
|
||||
6. Démarrer le service DHCP
|
||||
Toujours sur ta machine physique :
|
||||
sudo himage DHCPsrv /etc/init.d/isc-dhcp-server start
|
||||
|
||||
|
||||
S’il n’y a pas d’erreur de configuration, le service se lance.
|
||||
Tu peux vérifier avec :
|
||||
sudo himage DHCPsrv ps aux | grep dhcpd
|
||||
|
||||
|
||||
Le PID est aussi enregistré dans un fichier (typiquement /var/run/dhcpd.pid ou similaire, voir man dhcpd pour le chemin exact).
|
||||
tp03.SCR.3.2
|
||||
________________
|
||||
|
||||
|
||||
7. Well-known port « bootps » (question I.7)
|
||||
Dans /etc/services, le port bootps est le port 67/udp (DHCP serveur).
|
||||
tp03.SCR.3.2
|
||||
Tu peux le vérifier :
|
||||
sudo himage DHCPsrv grep bootps /etc/services
|
||||
|
||||
|
||||
Vérifier qu’il est bien ouvert :
|
||||
# Avec ss
|
||||
sudo himage DHCPsrv ss -lunp | grep 67
|
||||
|
||||
|
||||
# ou avec netstat
|
||||
sudo himage DHCPsrv netstat -anu | grep bootps
|
||||
|
||||
|
||||
Tu dois voir udp 0 0 0.0.0.0:67 écouté par dhcpd.
|
||||
________________
|
||||
|
||||
|
||||
8. Vérifier pc1-1 avant DHCP (I.8)
|
||||
Avant de lancer dhclient :
|
||||
sudo himage pc1-1 ip addr show dev eth0
|
||||
sudo himage pc1-1 ip route show
|
||||
|
||||
|
||||
Tu devrais voir seulement une adresse IPv6 (fc00::20/64 et fe80::...) comme dans l’énoncé.
|
||||
tp03.SCR.3.2
|
||||
________________
|
||||
|
||||
|
||||
9. Demander une adresse DHCP sur pc1-1 (I.9)
|
||||
Sur ta machine physique :
|
||||
sudo himage pc1-1 dhclient eth0
|
||||
|
||||
|
||||
Le client discute avec DHCPsrv, obtient une IP.
|
||||
________________
|
||||
|
||||
|
||||
10. Re-vérifier l’IP & la table de routage (I.10 & I.11)
|
||||
sudo himage pc1-1 ip addr show dev eth0
|
||||
sudo himage pc1-1 ip route show
|
||||
|
||||
|
||||
Attendu :
|
||||
* Une IPv4 dans la plage 192.168.10.20–192.168.10.40
|
||||
|
||||
Une route par défaut du type :
|
||||
|
||||
default via 192.168.10.254 dev eth0
|
||||
* Réponse à la question I.11 :
|
||||
Oui, la route statique (route par défaut fournie par DHCP via option routers 192.168.10.254;) est fonctionnelle : pc1-1 enverra tout ce qui n’est pas local vers GW, qui sait joindre l’autre segment 172.16.2.0/24.
|
||||
tp03.SCR.3.2
|
||||
Tu peux tester, par ex. ping vers GW :
|
||||
sudo himage pc1-1 ping -c 2 192.168.10.254
|
||||
|
||||
|
||||
________________
|
||||
|
||||
|
||||
11. Voir les baux côté client (I.12)
|
||||
Sur pc1-1 :
|
||||
sudo himage pc1-1 cat /var/lib/dhcp/dhclient.leases
|
||||
|
||||
|
||||
Tu y verras l’historique des baux obtenus / renouvelés.
|
||||
@@ -0,0 +1,176 @@
|
||||
# **TP03 \- Partie II : Configuration du service DHCP Relay**
|
||||
|
||||
## **Configuration du fichier dhcpd.conf sur DHCPsrv**
|
||||
|
||||
### **Ce qui doit être ajouté/modifié :**
|
||||
|
||||
*\# Fichier : /etc/dhcp/dhcpd.conf*
|
||||
|
||||
*\# Déclaration des adresses fixes pour GW (Question II.1)*
|
||||
host GW-eth0 {
|
||||
hardware ethernet 42:00:aa:00:00:02; *\# MAC de eth0 de GW*
|
||||
fixed-address 172.16.2.254; *\# IP fixe pour eth0 sur réseau 172.16.2.0/24*
|
||||
}
|
||||
|
||||
host GW-eth1 {
|
||||
hardware ethernet 42:00:aa:00:00:04; *\# MAC de eth1 de GW*
|
||||
fixed-address 192.168.10.254; *\# IP fixe pour eth1 sur réseau 192.168.10.0/20*
|
||||
|
||||
}
|
||||
|
||||
*\# Configuration pour le réseau 192.168.10.0/20 (déjà présent)*
|
||||
subnet 192.168.10.0 netmask 255.255.240.0 {
|
||||
range 192.168.10.20 192.168.10.40; *\# Plage d'adresses (II.2.a)*
|
||||
option subnet-mask 255.255.240.0;
|
||||
option rfc-3442-classless-static-routes 24,172,16,2,192,168,10,254;
|
||||
|
||||
}
|
||||
|
||||
*\# AJOUTER : Configuration pour le réseau 172.16.2.0/24 (Question II.2)*
|
||||
subnet 172.16.2.0 netmask 255.255.255.0 {
|
||||
range 172.16.2.1 172.16.2.254; *\# Plage large*
|
||||
option subnet-mask 255.255.255.0;
|
||||
|
||||
}
|
||||
|
||||
\#option rfc-3442.... : ladresse' 172.16.2.?/24 dmnd a 192.168.10.254 pour que les noeud 192 connaisse les autres route.
|
||||
|
||||
Explication :
|
||||
|
||||
* hardware ethernet : l'adresse MAC de l'interface
|
||||
* fixed-address : IP fixe attribuée (réservation DHCP)
|
||||
* range : plage d'adresses dynamiques
|
||||
* option routers : route par défaut pour les clients
|
||||
|
||||
## **2\. Mise en place du DHCP Relay sur GW**
|
||||
|
||||
## **Commande à exécuter sur GW :**
|
||||
|
||||
*\# Sur le nœud GW dans IMUNES*
|
||||
|
||||
root@GW:/*\# dhcrelay \-d 192.168.10.10*
|
||||
|
||||
Options :
|
||||
|
||||
* \-d : mode debug (affiche l'activité à l'écran)
|
||||
* 192.168.10.10 : adresse du serveur DHCP (DHCPsrv)
|
||||
|
||||
Sortie attendue :
|
||||
|
||||
Internet Systems Consortium DHCP Relay Agent 4.3.5
|
||||
Copyright 2004-2016 Internet Systems Consortium.
|
||||
All rights reserved.
|
||||
For info, please visit https://www.isc.org/software/dhcp/
|
||||
Listening on LPF/eth1/42:00:aa:00:00:04
|
||||
Sending on LPF/eth1/42:00:aa:00:00:04
|
||||
Listening on LPF/eth0/42:00:aa:00:00:02
|
||||
Sending on LPF/eth0/42:00:aa:00:00:02
|
||||
|
||||
Sending on Socket/fallback
|
||||
|
||||
## **3\. Test avec un client (pc2-2)**
|
||||
|
||||
### **Commandes sur pc2-2 :**
|
||||
|
||||
*\# Libérer l'adresse actuelle (si existante)*
|
||||
|
||||
root@pc2-2:/*\# dhclient \-r eth0*
|
||||
|
||||
*\# Demander une nouvelle adresse*
|
||||
|
||||
root@pc2-2:/*\# dhclient eth0*
|
||||
|
||||
### **Observations sur GW (relais) :**
|
||||
|
||||
Forwarded BOOTREQUEST for 42:00:aa:00:00:06 to 192.168.10.10
|
||||
|
||||
### **Questions II.4 :**
|
||||
|
||||
a) Quelle est l'adresse MAC indiquée ?
|
||||
→ 42:00:aa:00:00:06 (c'est l'adresse MAC de pc2-2)
|
||||
|
||||
b) Quelle est l'adresse de l'interface relais ?
|
||||
→ 172.16.2.254 (c'est l'IP de eth0 de GW sur le réseau 172.16.2.0/24)
|
||||
|
||||
**4\. Problème des doublons (Questions II.5-6)**
|
||||
|
||||
### **Pourquoi des doublons ?**
|
||||
|
||||
Les requêtes DHCP sont des broadcasts. Le relais GW a deux interfaces sur le même réseau broadcast (eth0 et eth1 sur le même segment logique). Quand il reçoit un broadcast DHCP sur une interface, il le relaie vers le serveur, mais l'autre interface reçoit aussi ce même broadcast et le relaie à nouveau.
|
||||
|
||||
Explication :
|
||||
|
||||
1. pc2-2 envoie DHCPDISCOVER en broadcast
|
||||
2. GW reçoit sur eth0 → relaie vers DHCPsrv
|
||||
3. GW reçoit SUR eth1 (même broadcast) → relaie À NOUVEAU vers DHCPsrv
|
||||
4. Résultat : DHCPsrv reçoit 2 fois chaque message
|
||||
|
||||
### **Messages dupliqués (II.6) :**
|
||||
|
||||
* DHCPDISCOVER (message de découverte)
|
||||
* DHCPREQUEST (message de requête)
|
||||
|
||||
**5\. Solution pour éviter les doublons (Question II.7)**
|
||||
|
||||
### **Commande corrigée :**
|
||||
|
||||
*\# Sur GW*
|
||||
|
||||
root@GW:/*\# dhcrelay \-i discard 192.168.10.10*
|
||||
|
||||
Option :
|
||||
|
||||
* \-i discard : demande au relais de ne pas traiter les messages déjà vus (discard duplicates)
|
||||
|
||||
Alternative (selon version) :
|
||||
|
||||
dhcrelay \-m discard 192.168.10.10
|
||||
*\# ou*
|
||||
|
||||
dhcrelay \--no-ping 192.168.10.10
|
||||
|
||||
Explication : L'option discard fait que le relais ignore les messages DHCP qu'il a déjà traités, évitant ainsi les doublons.
|
||||
|
||||
**6\. Vérification finale (Question II.8)**
|
||||
|
||||
### **Après correction :**
|
||||
|
||||
*\# Sur GW*
|
||||
root@GW:/*\# dhcrelay \-i discard 192.168.10.10*
|
||||
|
||||
*\# Sur pc2-2*
|
||||
root@pc2-2:/*\# dhclient \-r eth0*
|
||||
|
||||
root@pc2-2:/*\# dhclient eth0*
|
||||
|
||||
Observations :
|
||||
|
||||
* Plus de doublons côté serveur DHCP
|
||||
* Un seul DHCPDISCOVER et un seul DHCPREQUEST
|
||||
* Attribution d'adresse normale
|
||||
|
||||
Conclusion : L'option \-i discard (ou \-m discard) résout le problème des doublons en faisant ignorer au relais les messages qu'il a déjà traités.
|
||||
|
||||
---
|
||||
|
||||
**Résumé des commandes importantes**
|
||||
|
||||
| Étape | Machine | Commande | But |
|
||||
| :---- | :---- | :---- | :---- |
|
||||
| 1 | DHCPsrv | nano /etc/dhcp/dhcpd.conf | Configurer les sous-réseaux et réservations |
|
||||
| 2 | DHCPsrv | /etc/init.d/isc-dhcp-server restart | Redémarrer le serveur DHCP |
|
||||
| 3 | GW | dhcrelay \-i discard 192.168.10.10 | Lancer le relais sans doublons |
|
||||
| 4 | Client | dhclient \-r eth0 && dhclient eth0 | Renouveler l'adresse IP |
|
||||
|
||||
**Points de vérification**
|
||||
|
||||
1. Vérifier que le serveur DHCP écoute bien :
|
||||
2. sudo himage DHCPsrv netstat \-tulpn | grep :67
|
||||
3. Vérifier les baux attribués :
|
||||
4. sudo himage DHCPsrv cat /var/lib/dhcp/dhcpd.leases
|
||||
5. Vérifier la configuration réseau du client :
|
||||
|
||||
sudo himage pc2-2 ip addr show dev eth0
|
||||
|
||||
6. sudo himage pc2-2 ip route show
|
||||
|
||||
Binary file not shown.
@@ -0,0 +1,149 @@
|
||||
TP03 - Partie II : Configuration du service DHCP Relay
|
||||
Configuration du fichier dhcpd.conf sur DHCPsrv
|
||||
Ce qui doit être ajouté/modifié :
|
||||
# Fichier : /etc/dhcp/dhcpd.conf
|
||||
|
||||
|
||||
# Déclaration des adresses fixes pour GW (Question II.1)
|
||||
host GW-eth0 {
|
||||
hardware ethernet 42:00:aa:00:00:02; # MAC de eth0 de GW
|
||||
fixed-address 172.16.2.254; # IP fixe pour eth0 sur réseau 172.16.2.0/24
|
||||
}
|
||||
|
||||
|
||||
host GW-eth1 {
|
||||
hardware ethernet 42:00:aa:00:00:04; # MAC de eth1 de GW
|
||||
fixed-address 192.168.10.254; # IP fixe pour eth1 sur réseau 192.168.10.0/20
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
# Configuration pour le réseau 192.168.10.0/20 (déjà présent)
|
||||
subnet 192.168.10.0 netmask 255.255.240.0 {
|
||||
range 192.168.10.20 192.168.10.40; # Plage d'adresses (II.2.a)
|
||||
option subnet-mask 255.255.240.0;
|
||||
option rfc-3442-classless-static-routes 24,172,16,2,192,168,10,254;
|
||||
|
||||
}
|
||||
|
||||
|
||||
# AJOUTER : Configuration pour le réseau 172.16.2.0/24 (Question II.2)
|
||||
subnet 172.16.2.0 netmask 255.255.255.0 {
|
||||
range 172.16.2.1 172.16.2.254; # Plage large
|
||||
option subnet-mask 255.255.255.0;
|
||||
|
||||
|
||||
}
|
||||
#option rfc-3442.... : ladresse' 172.16.2.?/24 dmnd a 192.168.10.254 pour que les noeud 192 connaisse les autres route.
|
||||
|
||||
|
||||
Explication :
|
||||
* hardware ethernet : l'adresse MAC de l'interface
|
||||
* fixed-address : IP fixe attribuée (réservation DHCP)
|
||||
* range : plage d'adresses dynamiques
|
||||
* option routers : route par défaut pour les clients
|
||||
2. Mise en place du DHCP Relay sur GW
|
||||
Commande à exécuter sur GW :
|
||||
# Sur le nœud GW dans IMUNES
|
||||
root@GW:/# dhcrelay -d 192.168.10.10
|
||||
Options :
|
||||
* -d : mode debug (affiche l'activité à l'écran)
|
||||
* 192.168.10.10 : adresse du serveur DHCP (DHCPsrv)
|
||||
Sortie attendue :
|
||||
Internet Systems Consortium DHCP Relay Agent 4.3.5
|
||||
Copyright 2004-2016 Internet Systems Consortium.
|
||||
All rights reserved.
|
||||
For info, please visit https://www.isc.org/software/dhcp/
|
||||
Listening on LPF/eth1/42:00:aa:00:00:04
|
||||
Sending on LPF/eth1/42:00:aa:00:00:04
|
||||
Listening on LPF/eth0/42:00:aa:00:00:02
|
||||
Sending on LPF/eth0/42:00:aa:00:00:02
|
||||
Sending on Socket/fallback
|
||||
3. Test avec un client (pc2-2)
|
||||
Commandes sur pc2-2 :
|
||||
# Libérer l'adresse actuelle (si existante)
|
||||
root@pc2-2:/# dhclient -r eth0
|
||||
|
||||
|
||||
# Demander une nouvelle adresse
|
||||
root@pc2-2:/# dhclient eth0
|
||||
Observations sur GW (relais) :
|
||||
|
||||
|
||||
Forwarded BOOTREQUEST for 42:00:aa:00:00:06 to 192.168.10.10
|
||||
Questions II.4 :
|
||||
a) Quelle est l'adresse MAC indiquée ?
|
||||
→ 42:00:aa:00:00:06 (c'est l'adresse MAC de pc2-2)
|
||||
b) Quelle est l'adresse de l'interface relais ?
|
||||
→ 172.16.2.254 (c'est l'IP de eth0 de GW sur le réseau 172.16.2.0/24)
|
||||
4. Problème des doublons (Questions II.5-6)
|
||||
Pourquoi des doublons ?
|
||||
Les requêtes DHCP sont des broadcasts. Le relais GW a deux interfaces sur le même réseau broadcast (eth0 et eth1 sur le même segment logique). Quand il reçoit un broadcast DHCP sur une interface, il le relaie vers le serveur, mais l'autre interface reçoit aussi ce même broadcast et le relaie à nouveau.
|
||||
Explication :
|
||||
1. pc2-2 envoie DHCPDISCOVER en broadcast
|
||||
2. GW reçoit sur eth0 → relaie vers DHCPsrv
|
||||
3. GW reçoit SUR eth1 (même broadcast) → relaie À NOUVEAU vers DHCPsrv
|
||||
4. Résultat : DHCPsrv reçoit 2 fois chaque message
|
||||
Messages dupliqués (II.6) :
|
||||
* DHCPDISCOVER (message de découverte)
|
||||
* DHCPREQUEST (message de requête)
|
||||
5. Solution pour éviter les doublons (Question II.7)
|
||||
Commande corrigée :
|
||||
# Sur GW
|
||||
root@GW:/# dhcrelay -i discard 192.168.10.10
|
||||
Option :
|
||||
* -i discard : demande au relais de ne pas traiter les messages déjà vus (discard duplicates)
|
||||
Alternative (selon version) :
|
||||
dhcrelay -m discard 192.168.10.10
|
||||
# ou
|
||||
dhcrelay --no-ping 192.168.10.10
|
||||
Explication : L'option discard fait que le relais ignore les messages DHCP qu'il a déjà traités, évitant ainsi les doublons.
|
||||
6. Vérification finale (Question II.8)
|
||||
Après correction :
|
||||
# Sur GW
|
||||
root@GW:/# dhcrelay -i discard 192.168.10.10
|
||||
|
||||
|
||||
# Sur pc2-2
|
||||
root@pc2-2:/# dhclient -r eth0
|
||||
root@pc2-2:/# dhclient eth0
|
||||
Observations :
|
||||
* Plus de doublons côté serveur DHCP
|
||||
* Un seul DHCPDISCOVER et un seul DHCPREQUEST
|
||||
* Attribution d'adresse normale
|
||||
Conclusion : L'option -i discard (ou -m discard) résout le problème des doublons en faisant ignorer au relais les messages qu'il a déjà traités.
|
||||
________________
|
||||
|
||||
|
||||
Résumé des commandes importantes
|
||||
Étape
|
||||
Machine
|
||||
Commande
|
||||
But
|
||||
1
|
||||
DHCPsrv
|
||||
nano /etc/dhcp/dhcpd.conf
|
||||
Configurer les sous-réseaux et réservations
|
||||
2
|
||||
DHCPsrv
|
||||
/etc/init.d/isc-dhcp-server restart
|
||||
Redémarrer le serveur DHCP
|
||||
3
|
||||
GW
|
||||
dhcrelay -i discard 192.168.10.10
|
||||
Lancer le relais sans doublons
|
||||
4
|
||||
Client
|
||||
dhclient -r eth0 && dhclient eth0
|
||||
Renouveler l'adresse IP
|
||||
|
||||
|
||||
Points de vérification
|
||||
1. Vérifier que le serveur DHCP écoute bien :
|
||||
2. sudo himage DHCPsrv netstat -tulpn | grep :67
|
||||
3. Vérifier les baux attribués :
|
||||
4. sudo himage DHCPsrv cat /var/lib/dhcp/dhcpd.leases
|
||||
5. Vérifier la configuration réseau du client :
|
||||
sudo himage pc2-2 ip addr show dev eth0
|
||||
6. sudo himage pc2-2 ip route show
|
||||
Reference in New Issue
Block a user