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
NotionDéfinition
Étendue / poolPlage d’adresses distribuables
ExclusionAdresses retirées du pool (passerelle, serveurs, switchs)
RéservationIP toujours donnée à la même MAC (imprimante, serveur)
Bail (lease)Durée de validité de l’adresse
Relais DHCPFait 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 pool

Relais DHCP (serveur dans un autre réseau)

interface g0/0.20
 ! IP du serveur DHCP
 ip helper-address 192.168.99.10

Cô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 /renew

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

TypeRôleExemple
ANom → IPv4glpi.sio.lan → 192.168.99.20
AAAANom → IPv6www → 2001:db8::1
CNAMEAlias vers un autre nomintranet → glpi.sio.lan
MXServeur de mail du domainesio.lan → mail.sio.lan (priorité 10)
PTRIP → nom (résolution inverse)20.99.168.192.in-addr.arpa → glpi
NSServeurs DNS du domaine
TXTTexte libre (SPF, vérifications)
SOAInfos 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 Windows
Resolve-DnsName www.epsi.fr
ipconfig /flushdns             # vider le cache DNS Windows

Le fichier /etc/hosts (Linux) ou C:\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).

RouteSignification
192.168.10.0/24 directement connectéRéseau sur une de mes interfaces
10.0.0.0/8 via 172.16.0.2Pour 10.x.x.x, envoie à 172.16.0.2
0.0.0.0/0 via 192.168.1.1Route 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 route

Routage 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/24

Ces commandes ip route sont 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 ligne up ip route add ....

# Windows
route print
route add 10.0.0.0 mask 255.0.0.0 172.16.0.2 -p     # -p = permanente

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

Voir aussi