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

6.2 KiB
Raw Blame History

0. Topologie & prérequis

Sur le schéma (page 3) on a :

tp03.SCR.3.2

  • DHCPsrveth0 : 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

  1. 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.