R08 - DHCP, DNS, route par défaut et routage statique
Objectif
Comprendre les trois services sans lesquels un PC « n’a pas Internet » : DHCP (il reçoit son IP), DNS (il traduit les noms), la route par défaut (il sait par où sortir).
1. DHCP : distribuer les IP automatiquement
Le DHCP (Dynamic Host Configuration Protocol, UDP 67/68) donne à chaque client : IP + masque + passerelle + DNS + durée du bail.
Le processus DORA
sequenceDiagram participant C as Client (pas encore d'IP) participant S as Serveur DHCP C->>S: DISCOVER (broadcast) « Y a-t-il un serveur DHCP ? » S->>C: OFFER « Je te propose 192.168.10.50 » C->>S: REQUEST (broadcast) « J'accepte 192.168.10.50 » S->>C: ACK « C'est validé, bail de 24 h » Note over C: À 50 % du bail, le client<br/>demande un renouvellement
| Notion | Définition |
|---|---|
| Étendue / pool | Plage d’adresses distribuables |
| Exclusion | Adresses retirées du pool (passerelle, serveurs, switchs) |
| Réservation | IP toujours donnée à la même MAC (imprimante, serveur) |
| Bail (lease) | Durée de validité de l’adresse |
| Relais DHCP | Fait passer les DISCOVER (broadcast) d’un VLAN vers un serveur DHCP situé dans un autre réseau |
DHCP sur un routeur Cisco
enable
configure terminal
! 1) Exclure les adresses fixes (passerelle, IP réelles HSRP, switchs, serveurs)
ip dhcp excluded-address 192.168.10.240 192.168.10.254
! 2) Créer le pool
ip dhcp pool VLAN10-COMPTA
network 192.168.10.0 255.255.255.0
! passerelle (IP virtuelle si HSRP)
default-router 192.168.10.254
dns-server 192.168.99.10 8.8.8.8
domain-name entreprise.local
! bail en jours
lease 1
exit
end
! baux distribués
show ip dhcp binding
show ip dhcp poolRelais DHCP (serveur dans un autre réseau)
interface g0/0.20
! IP du serveur DHCP
ip helper-address 192.168.99.10Côté client
# Linux
sudo dhclient -r && sudo dhclient # rendre puis redemander un bail (si dhclient présent)
nmcli connection up "nom-connexion" # avec NetworkManager (Pop!_OS, Arch + NM)# Windows
ipconfig /release
ipconfig /renew2. DNS : traduire un nom en IP
Le DNS (Domain Name System, UDP/TCP 53) transforme www.epsi.fr en adresse IP.
sequenceDiagram participant PC participant R as Résolveur DNS<br/>(box, 8.8.8.8, Unbound…) participant Racine as Serveur racine "." participant TLD as Serveur ".fr" participant Auto as Serveur faisant autorité "epsi.fr" PC->>R: Quelle IP pour www.epsi.fr ? R->>Racine: www.epsi.fr ? Racine-->>R: Demande aux serveurs de .fr R->>TLD: www.epsi.fr ? TLD-->>R: Demande au serveur de epsi.fr R->>Auto: www.epsi.fr ? Auto-->>R: 1.2.3.4 (TTL 3600 s) R-->>PC: 1.2.3.4 (et le met en cache)
Types d’enregistrements
| Type | Rôle | Exemple |
|---|---|---|
| A | Nom → IPv4 | glpi.sio.lan → 192.168.99.20 |
| AAAA | Nom → IPv6 | www → 2001:db8::1 |
| CNAME | Alias vers un autre nom | intranet → glpi.sio.lan |
| MX | Serveur de mail du domaine | sio.lan → mail.sio.lan (priorité 10) |
| PTR | IP → nom (résolution inverse) | 20.99.168.192.in-addr.arpa → glpi |
| NS | Serveurs DNS du domaine | |
| TXT | Texte libre (SPF, vérifications) | |
| SOA | Infos de la zone (serveur principal, numéro de série) |
Tester
dig www.epsi.fr # Linux (paquet dnsutils sur Debian, bind sur Arch)
dig +short www.epsi.fr
dig -x 8.8.8.8 # résolution inverse
resolvectl status # quel DNS utilise ma machine (systemd-resolved)
nslookup www.epsi.fr # Linux et WindowsResolve-DnsName www.epsi.fr
ipconfig /flushdns # vider le cache DNS WindowsLe fichier
/etc/hosts(Linux) ouC:\Windows\System32\drivers\etc\hosts(Windows) est lu avant le DNS. Pratique pour tester :192.168.99.20 glpi.sio.lan.
3. La table de routage et la route par défaut
Un routeur (ou un PC) consulte sa table de routage pour chaque paquet : il choisit la route la plus précise (le plus long préfixe qui correspond).
| Route | Signification |
|---|---|
192.168.10.0/24 directement connecté | Réseau sur une de mes interfaces |
10.0.0.0/8 via 172.16.0.2 | Pour 10.x.x.x, envoie à 172.16.0.2 |
0.0.0.0/0 via 192.168.1.1 | Route par défaut : pour tout le reste, envoie à 192.168.1.1 |
flowchart LR P["Paquet pour 10.5.5.5"] --> T{"Table de routage<br/>(préfixe le plus long)"} T -->|"10.0.0.0/8 correspond"| A["→ via 172.16.0.2"] T -.->|"sinon"| D["0.0.0.0/0 → via 192.168.1.1"]
Routage statique Cisco
! route vers un réseau
ip route 10.0.0.0 255.0.0.0 172.16.0.2
! route par défaut
ip route 0.0.0.0 0.0.0.0 192.168.1.1
! C = connecté, S = statique, S* = défaut
show ip routeRoutage sous Linux
ip route # afficher (ou "ip r")
sudo ip route add 172.30.12.0/24 via 172.16.118.1 # route statique (comme au projet transversal)
sudo ip route add default via 192.168.1.1 # route par défaut
sudo ip route del 172.30.12.0/24Ces commandes
ip routesont perdues au redémarrage. Pour les rendre permanentes : NetworkManager (nmcli connection modify eth0 +ipv4.routes "172.30.12.0/24 172.16.118.1") ou/etc/network/interfaces(Debian) avec une ligneup ip route add ....
# Windows
route print
route add 10.0.0.0 mask 255.0.0.0 172.16.0.2 -p # -p = permanenteLe retour ! Pour que A joigne B, il faut une route aller sur le chemin de A → B et une route retour de B → A. Oublier la route retour est l'erreur n° 1 en routage statique.