Aller au contenu
Réussir mon BTS SIO

Tape une notion, une commande ou le nom d'une épreuve.

Par exemple

Chapitre 1116 minDébutant

DNS et DHCP : les deux services de base

Par Josselyn C., prof de BTS SIO. Mis à jour le .

À la fin de ce chapitre, tu sauras

  • expliquer l'arborescence des noms de domaine et la résolution d'un nom ;
  • lire les principaux enregistrements DNS et interroger un serveur ;
  • décrire l'échange DORA du DHCP et les paramètres distribués ;
  • gérer le bail, les réservations et le relais DHCP.

5 exercices corrigés1 schéma

Le DNS (Domain Name System) traduit un nom de domaine comme www.sorbier.example en adresse IP, grâce à une base de données répartie et hiérarchique ; le DHCP (Dynamic Host Configuration Protocol) attribue automatiquement à chaque machine son adresse IP, son masque, sa passerelle et ses serveurs DNS, en quatre messages appelés DORA. Ce chapitre explique le fonctionnement des deux services, les enregistrements DNS à connaître, le bail, les réservations et le relais DHCP. Leur installation est traitée dans le cours Services réseau.

À quoi sert le DNS

Les machines communiquent avec des adresses IP ; les humains retiennent des noms. Le DNS fait la traduction. Il permet aussi de changer l'adresse d'un serveur sans prévenir personne : on modifie l'enregistrement, et tous les clients suivent.

Sans DNS qui fonctionne, « Internet ne marche plus » pour l'utilisateur, alors que le réseau va très bien : ping 8.8.8.8 répond, mais aucun site ne s'ouvre. C'est l'une des pannes les plus fréquentes au support.

Les noms de domaine : une arborescence

Les noms sont organisés en arbre, qui se lit de droite à gauche :

text
                          . (racine)
           ┌──────────────┼───────────────┐
           fr            com           example         ← premier niveau (TLD)
           │              │               │
     service-public     google         sorbier         ← second niveau
                          │          ┌────┼─────┐
                         www        www srv-ad intranet ← noms de machines
  • La racine, notée par un point, est gérée par 13 identités de serveurs racine (nommées de a à m), elles-mêmes déployées en plus d'un millier d'instances dans le monde grâce à l'anycast.
  • Les domaines de premier niveau (TLD, Top-Level Domains) : génériques (.com, .org, .net), nationaux (.fr, géré par l'Afnic), et des centaines d'autres.
  • Les domaines sont réservés par les organisations auprès d'un bureau d'enregistrement (registrar).
  • Les sous-domaines et les noms de machines sont créés librement par le propriétaire du domaine.

Un FQDN (Fully Qualified Domain Name) est un nom complet, jusqu'à la racine : srv-ad.sorbier.example. (avec le point final, souvent omis). Le domaine .example est réservé à la documentation, comme les adresses 203.0.113.0/24.

Une zone est la partie de l'arbre dont un serveur a la charge : il est faisant autorité (authoritative) pour elle. Le serveur DNS de Sorbier fait autorité pour sorbier.example ; il ne sait rien de google.com.

La résolution d'un nom, étape par étape

Le poste de Sorbier veut joindre www.exemple.example.

  1. Cache local et fichier hosts. Le système regarde son cache DNS et le fichier hosts (C:\Windows\System32\drivers\etc\hosts ou /etc/hosts). S'il y trouve le nom, il s'arrête là.
  2. Question au résolveur. Sinon, le client DNS du poste (le stub resolver) pose la question au serveur DNS configuré dans ses paramètres réseau : chez Sorbier, srv-ad (192.168.10.177). Il pose une question récursive : « trouve-moi la réponse complète ».
  3. Le résolveur cherche. Si la réponse n'est pas dans son cache, le résolveur interroge un serveur racine : « je ne connais pas ce nom, mais voici les serveurs de .example ».
  4. Il interroge un serveur du TLD : « voici les serveurs qui font autorité pour exemple.example ».
  5. Il interroge le serveur faisant autorité, qui donne la réponse : 198.51.100.80.
  6. Réponse et cache. Le résolveur renvoie l'adresse au poste. Les deux la gardent en cache pendant la durée indiquée par le TTL de l'enregistrement (par exemple 3 600 secondes).

Les étapes 3 à 5 sont des questions itératives : chaque serveur répond avec ce qu'il sait, un renvoi vers le niveau suivant. Les requêtes DNS passent en UDP sur le port 53, et en TCP pour les grosses réponses et les transferts de zone entre serveurs.

Les enregistrements DNS

Une zone contient des enregistrements (resource records), de plusieurs types.

TypeRôleExemple dans la zone sorbier.example
ANom → adresse IPv4srv-gestion IN A 192.168.10.179
AAAANom → adresse IPv6srv-gestion IN AAAA 2001:db8:4a2c:3720::179
CNAMEAlias vers un autre nomintranet IN CNAME srv-gestion.sorbier.example.
MXServeur de messagerie du domaine, avec une priorité@ IN MX 10 mail.sorbier.example.
NSServeur faisant autorité pour la zone@ IN NS srv-ad.sorbier.example.
SOAInformations sur la zone : serveur principal, contact, numéro de série, délaisUn seul par zone, en tête
PTRAdresse → nom (zone inverse)179 IN PTR srv-gestion.sorbier.example.
TXTTexte libre : SPF, DKIM, vérification de propriété d'un domaine@ IN TXT "v=spf1 mx -all"
SRVEmplacement d'un service (port, priorité)_ldap._tcp IN SRV 0 100 389 srv-ad.sorbier.example.

Le symbole @ désigne le domaine lui-même. Un CNAME ne peut pas coexister avec un autre enregistrement du même nom, et un MX doit pointer vers un nom qui a un enregistrement A ou AAAA, jamais vers un CNAME.

La résolution inverse trouve le nom à partir de l'adresse. Elle utilise une zone spéciale où l'adresse est écrite à l'envers : l'adresse 192.168.10.179 correspond au nom 179.10.168.192.in-addr.arpa. Les serveurs de messagerie s'en servent pour vérifier l'expéditeur, les journaux pour afficher des noms au lieu d'adresses.

Active Directory dépend du DNS. Les postes d'un domaine Windows trouvent leurs contrôleurs de domaine grâce aux enregistrements SRV. Un poste du domaine configuré avec un DNS public (comme 8.8.8.8) n'ouvre plus de session réseau correctement. Dans une entreprise, les postes utilisent le DNS interne, qui fait suivre les autres questions vers Internet (redirecteurs). Voir le cours Windows Server.

Interroger le DNS

BesoinWindowsLinux
Résoudre un nomnslookup intranet.sorbier.example ou Resolve-DnsName intranet.sorbier.exampledig intranet.sorbier.example ou host intranet.sorbier.example
Un type précisResolve-DnsName sorbier.example -Type MXdig sorbier.example MX
Interroger un serveur précisnslookup intranet.sorbier.example 192.168.10.177dig @192.168.10.177 intranet.sorbier.example
Résolution inversenslookup 192.168.10.179dig -x 192.168.10.179
Voir ou vider le cacheipconfig /displaydns, ipconfig /flushdnsresolvectl statistics, resolvectl flush-caches (systemd-resolved)

Exemple de réponse :

text
C:\> nslookup intranet.sorbier.example
Serveur :   srv-ad.sorbier.example
Address:  192.168.10.177

Nom :    srv-gestion.sorbier.example
Address:  192.168.10.179
Aliases:  intranet.sorbier.example

Le poste a interrogé srv-ad ; intranet est un alias (CNAME) de srv-gestion, dont l'adresse est 192.168.10.179.

À quoi sert le DHCP

Configurer à la main l'adresse de 50 postes, des téléphones et des visiteurs est long, source d'erreurs (doublons, masque mal saisi) et impossible pour les appareils de passage. Le DHCP centralise : un serveur gère une réserve d'adresses et la distribue. Un changement de serveur DNS se fait en une ligne sur le serveur au lieu d'un passage sur chaque poste.

Le fonctionnement : DORA

Le client n'a pas encore d'adresse et ne connaît pas le serveur : il commence donc en broadcast. Les échanges passent en UDP, du port 68 (client) vers le port 67 (serveur).

Poste qui démarrepas encore d'adressesrv-adserveur DHCP .1771. Discover (diffusion)0.0.0.0 → 255.255.255.255« Y a-t-il un serveur DHCP ? »2. Offer« Je te propose 192.168.10.88, masque /26,passerelle .126, DNS .177, bail de 8 jours »3. Request (diffusion)« J'accepte l'offre de 192.168.10.177 »les autres serveurs savent qu'ils sont refusés4. ACK« C'est confirmé »configure 192.168.10.88/26UDP : client 68, serveur 67
DORA : Discover, Offer, Request, Acknowledge
  1. Discover. Le client diffuse : « Y a-t-il un serveur DHCP ? » Adresse source 0.0.0.0, destination 255.255.255.255, sa propre adresse MAC dans le message.
  2. Offer. Chaque serveur qui l'entend propose une adresse libre et les paramètres associés.
  3. Request. Le client choisit une offre et la demande, en broadcast, pour que les autres serveurs sachent que leur offre est refusée.
  4. Acknowledge (ACK). Le serveur confirme. Le client vérifie souvent que l'adresse n'est pas déjà utilisée (par un ARP), puis configure son interface. Si l'adresse n'est plus disponible, le serveur répond NAK et tout recommence.

Les paramètres distribués

Le serveur fournit l'adresse et le masque, et des options, numérotées :

OptionParamètre
3Passerelle par défaut (router)
6Serveurs DNS
15Nom de domaine (sorbier.example)
42Serveurs NTP
51Durée du bail
66, 67Serveur et fichier de démarrage réseau (PXE, téléphones IP)

Sur le serveur, on configure par réseau une étendue (scope) : la plage d'adresses à distribuer, les exclusions (les adresses fixes à ne jamais distribuer) et les options. Chez Sorbier, l'étendue du VLAN 10 distribue 192.168.10.65 à 192.168.10.115, avec la passerelle 192.168.10.126 et le DNS 192.168.10.177 (plan d'adressage).

Le bail et son renouvellement

L'adresse est prêtée pour une durée limitée, le bail (lease) : 8 jours par défaut sur Windows Server, souvent quelques heures pour un Wi-Fi de visiteurs, où les appareils changent vite.

  • À 50 % du bail, le client demande le renouvellement directement au serveur qui le lui a donné (en unicast).
  • S'il n'obtient pas de réponse, il réessaie à 87,5 % du bail, cette fois auprès de n'importe quel serveur (en broadcast).
  • À l'expiration, il perd son adresse et recommence le DORA. Sous Windows, s'il n'obtient rien, il se donne une adresse APIPA en 169.254.x.x.

Commandes côté client : ipconfig /release puis ipconfig /renew sous Windows ; sous Linux, cela dépend du gestionnaire réseau, par exemple sudo nmcli connection up "<nom de la connexion>" avec NetworkManager ou sudo networkctl renew <interface> avec systemd-networkd.

Réservation, relais et sécurité

La réservation associe une adresse MAC à une adresse fixe : l'imprimante d'étiquettes reçoit toujours 192.168.10.151, mais sa configuration reste centralisée sur le serveur. Attention aux adresses MAC aléatoires des téléphones en Wi-Fi (chapitre 4) : une réservation ne marche que si l'appareil présente toujours la même adresse.

Le relais DHCP. Un broadcast ne traverse pas un routeur. Avec cinq VLAN et un seul serveur DHCP (srv-ad, dans le VLAN 20), comment un poste du VLAN 10 le trouve-t-il ? Le routeur de chaque VLAN (ici le switch de cœur) joue le rôle d'agent de relais : il capte le Discover diffusé et le transmet en unicast au serveur, en indiquant de quel réseau vient la demande. Le serveur choisit alors la bonne étendue. Sur un équipement Cisco, c'est la commande ip helper-address 192.168.10.177 sur l'interface du VLAN.

Le serveur DHCP pirate (rogue DHCP). N'importe quelle machine peut répondre aux Discover : une box branchée par erreur sur le réseau, ou un attaquant qui distribue sa propre adresse comme passerelle et DNS pour intercepter le trafic. Symptôme : des postes reçoivent une adresse d'un autre réseau (souvent 192.168.1.x ou 192.168.0.x). Parade : le DHCP snooping du switch, qui n'accepte les réponses DHCP que depuis les ports déclarés de confiance.

Les serveurs DHCP que tu croiseras : le rôle DHCP de Windows Server, Kea (le successeur de l'ancien serveur ISC DHCP, qui n'est plus maintenu), dnsmasq (petits réseaux, conteneurs), et le service intégré aux pare-feu comme pfSense ou OPNsense. Le cours Linux : services en installe un.

Exercices

Exercice 1 sur 5 Quel enregistrement ? Réussi À revoir

Quel type d'enregistrement DNS faut-il créer pour :

  1. que extranet.sorbier.example mène au même serveur que srv-gestion.sorbier.example ?
  2. que les courriels adressés à @sorbier.example arrivent sur mail.sorbier.example ?
  3. que le nom srv-fichiers corresponde à 192.168.10.178 ?
  4. que l'adresse 192.168.10.178 affiche le nom srv-fichiers dans les journaux ?
  5. qu'un poste en IPv6 trouve l'adresse de srv-gestion ?
Voir la réponseMasquer la réponse de l'exercice 1
  1. CNAME : extranet IN CNAME srv-gestion.sorbier.example.
  2. MX : @ IN MX 10 mail.sorbier.example., avec un enregistrement A pour mail.
  3. A : srv-fichiers IN A 192.168.10.178.
  4. PTR, dans la zone inverse : le nom 178.10.168.192.in-addr.arpa pointe vers srv-fichiers.sorbier.example.
  5. AAAA.

Tu avais trouvé ?

Exercice 2 sur 5 L'ordre de la résolution Réussi À revoir

Remets dans l'ordre les étapes de la résolution de www.exemple.example par un poste dont le cache est vide, puis indique quelles questions sont récursives.

  • a) Le résolveur interroge un serveur de .example.
  • b) Le poste interroge son serveur DNS srv-ad.
  • c) Le serveur faisant autorité pour exemple.example donne l'adresse.
  • d) Le poste consulte son cache et son fichier hosts.
  • e) Le résolveur interroge un serveur racine.
  • f) srv-ad renvoie la réponse au poste et la met en cache.
Voir la réponseMasquer la réponse de l'exercice 2

Ordre : d, b, e, a, c, f. Seule la question du poste à srv-ad (b) est récursive : le poste attend la réponse finale. Les questions de srv-ad aux serveurs racine, TLD et faisant autorité (e, a, c) sont itératives : chacun répond par ce qu'il sait.

Tu avais trouvé ?

Exercice 3 sur 5 Diagnostiquer avec nslookup Réussi À revoir

Un salarié n'arrive pas à ouvrir intranet.sorbier.example. Tu obtiens :

text
C:\> ping 192.168.10.179
Réponse de 192.168.10.179 : octets=32 temps<1ms TTL=63

C:\> nslookup intranet.sorbier.example
Serveur :   dns.google
Address:  8.8.8.8

*** dns.google ne parvient pas à trouver intranet.sorbier.example : Non-existent domain
  1. Le réseau fonctionne-t-il jusqu'au serveur ?
  2. Où est le problème ?
  3. Comment le corriger durablement ?
Voir la réponseMasquer la réponse de l'exercice 3
  1. Oui : le serveur répond au ping. Le TTL de 63 (64 − 1) montre qu'un routeur a été traversé (le switch de cœur, entre le VLAN 10 et le VLAN 20) et que le serveur tourne probablement sous Linux.
  2. Le poste utilise 8.8.8.8, un résolveur public, qui ne connaît pas la zone interne sorbier.example. Le nom n'existe que dans le DNS interne.
  3. Le poste doit utiliser le DNS interne 192.168.10.177. Si sa configuration est manuelle, on la corrige ; si elle vient du DHCP, on vérifie l'option 6 de l'étendue. Le DNS interne fera suivre vers Internet les questions sur les autres domaines.

Tu avais trouvé ?

Exercice 4 sur 5 Configurer une étendue Réussi À revoir

Rédige la configuration DHCP du VLAN 30 (entrepôt) de Sorbier : réseau 192.168.10.128/27, passerelle à la dernière adresse utilisable, adresses .151 à .157 réservées aux imprimantes d'étiquettes, DNS srv-ad, domaine sorbier.example, bail de 12 heures (les terminaux tournent entre les équipes).

Voir la réponseMasquer la réponse de l'exercice 4
ParamètreValeur
Réseau, masque192.168.10.128, 255.255.255.224
Plage distribuée192.168.10.129 à 192.168.10.150 (22 adresses)
Exclusions192.168.10.151 à 192.168.10.157, plus la passerelle .158 si la plage déclarée va jusqu'à .158
Option 3, passerelle192.168.10.158
Option 6, DNS192.168.10.177
Option 15, domainesorbier.example
Durée du bail12 heures

Le serveur étant dans le VLAN 20, il faut aussi configurer le relais DHCP sur l'interface du VLAN 30 du switch de cœur, vers 192.168.10.177.

Tu avais trouvé ?

Exercice 5 sur 5 Le mystère du 192.168.1.x Réussi À revoir

Lundi matin, plusieurs postes du VLAN 10 reçoivent des adresses en 192.168.1.x avec la passerelle 192.168.1.1. Ils n'accèdent plus aux serveurs. D'autres postes fonctionnent normalement.

  1. Quelle est la cause la plus probable ?
  2. Comment la confirmer ?
  3. Comment éviter que cela se reproduise ?
Voir la réponseMasquer la réponse de l'exercice 5
  1. Un serveur DHCP pirate : le plus souvent une box ou un petit routeur Wi-Fi branché par un salarié sur une prise réseau. Il répond plus vite que srv-ad à certains postes.
  2. Sur un poste touché, ipconfig /all affiche l'adresse du serveur DHCP qui a donné le bail : ce n'est pas 192.168.10.177. Une capture Wireshark avec le filtre dhcp montre deux serveurs qui répondent aux Discover. Sur le switch, l'adresse MAC du serveur pirate indique le port où il est branché.
  3. Débrancher l'appareil, puis activer le DHCP snooping sur les switchs, avec seulement le port du lien montant (vers le serveur) déclaré de confiance. Côté organisation : rappeler la charte informatique, qui interdit de brancher du matériel personnel.

Tu avais trouvé ?

Chapitre terminé !

Fais les 5 exercices avant de passer à la suite : c'est en t'entraînant que tout se fixe.

chapitres
–
de série
–
du cours
–
Chapitre suivant : IPv6 en pratique : adresses, SLAAC, DHCPv6 et découpage en /64Revoir le sommaire du cours