This commit is contained in:
2025-12-10 01:26:13 +01:00
parent 2311cb07eb
commit 38d424e819
33 changed files with 5822 additions and 0 deletions

View 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)
Lidé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 lautre 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 lexemple 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` dun nœud virtuel vers lhost, 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 lhost`
`sudo himage DHCPsrv cat /etc/dhcp/dhcpd.conf > IMUNES/SCR.3.2/TP03/dhcpd.conf`
Cest **ce** fichier `IMUNES/SCR.3.2/TP03/dhcpd.conf` quon 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 dadresses : 192.168.10.20 - 192.168.10.40`
`range 192.168.10.20 192.168.10.40;`
`# (b) Route vers lautre 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 datteindre 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 nexiste 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`
Sil ny a pas derreur 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 quil 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 lIP & 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.20192.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 nest pas local vers GW, qui sait joindre lautre 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 lhistorique des baux obtenus / renouvelés.

Binary file not shown.

View 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)
Lidé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 lautre 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 lexemple 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 dun nœud virtuel vers lhost, 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 lhost
sudo himage DHCPsrv cat /etc/dhcp/dhcpd.conf > IMUNES/SCR.3.2/TP03/dhcpd.conf
Cest ce fichier IMUNES/SCR.3.2/TP03/dhcpd.conf quon 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 dadresses : 192.168.10.20 - 192.168.10.40
range 192.168.10.20 192.168.10.40;
# (b) Route vers lautre 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 datteindre 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 nexiste 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
Sil ny a pas derreur 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 quil 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 lIP & 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.20192.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 nest pas local vers GW, qui sait joindre lautre 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 lhistorique des baux obtenus / renouvelés.