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.
|
||||
|
||||
Reference in New Issue
Block a user