Files
BUT2/TP_SCR3.2/revision_scr3.2/TP3/Part1/TP03-1 .md
2025-12-10 01:26:13 +01:00

269 lines
6.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
## **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.