6.2 KiB
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(versswitch1) -
eth1:172.16.2.254/24(versswitch2)
-
-
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
-
Dernier octet (4ᵉ) des IPv4 allouées : entre 20 et 40.
-
3ᵉ octet = 10.
-
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 :
-
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
-
-
Câblage comme sur la Figure 1 – dhcp-serv.imn (page 3).
tp03.SCR.3.2 -
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éseau172.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
- Ouvrir le fichier :
sudo himage DHCPsrv nano /etc/default/isc-dhcp-server
- 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.