Contexte et besoins
Cet atelier prolonge la série HSRP → DHCP → DNS mise en place sur la même topologie de PME. À ce stade, les postes des VLAN COMPTA et INFO ont une passerelle redondée et reçoivent automatiquement leur configuration IP. Reste un dernier point d’inconfort : pour atteindre l’intranet, la messagerie ou le NAS, les utilisateurs doivent taper l’adresse IP du serveur correspondant.
Le besoin remonté par le support était simple : « On veut que les gens tapent intranet.lab.local au lieu de 192.168.20.200. » L’objectif est donc de mettre en place un serveur DNS interne capable de résoudre les noms des services de la PME, et de le coupler au DHCP pour qu’aucun poste n’ait à être reconfiguré à la main.
Rappel théorique sur DNS
Le DNS (Domain Name System) est défini par les RFC 1034 et RFC 1035 . Il sert à traduire un nom en adresse IP (et inversement). Il fonctionne sur le port 53 UDP pour la majorité des requêtes, et bascule en 53 TCP pour les réponses volumineuses ou les transferts de zone entre serveurs.
Hiérarchie des zones
Le DNS est organisé en arbre. La racine (notée .) est implicite à la fin de chaque nom complet (FQDN).
Sur l’arbre, la résolution se fait de haut en bas : on part de la racine, on descend vers le TLD com, puis vers le domaine example, puis vers l’enregistrement www. Cette même hiérarchie se relit de droite à gauche dans la forme textuelle d’un FQDN comme www.example.com., c’est la même chose, simplement projetée sur une ligne.
Note
Le TLD .local est réservé aux usages privés (RFC 6762). Il ne sera jamais attribué sur Internet, ce qui le rend sûr pour un domaine interne comme lab.local.
Comment se passe une résolution
Quand un poste cherche intranet.lab.local, il interroge son résolveur (le DNS qu’il a reçu par DHCP). Si le résolveur connaît la réponse (zone hébergée localement ou en cache), il répond immédiatement. Sinon, il interroge en cascade les serveurs publics jusqu’à trouver le serveur autoritatif du domaine cible.
Sur un petit LAN, le résolveur héberge directement la zone interne, donc la cascade ne sert que pour les noms publics (google.com etc.).
Principaux types d’enregistrements
| Type | Rôle | Exemple |
|---|---|---|
| A | Nom → IPv4 | intranet.lab.local. IN A 192.168.20.200 |
| AAAA | Nom → IPv6 | nas.lab.local. IN AAAA 2001:db8::20 |
| CNAME | Alias d’un autre nom | www.lab.local. IN CNAME intranet.lab.local. |
| NS | Serveur autoritatif d’une zone | lab.local. IN NS dns1.lab.local. |
| MX | Serveur de messagerie | lab.local. IN MX 10 mail.lab.local. |
| PTR | IP → Nom (reverse DNS) | 200.20.168.192.in-addr.arpa. IN PTR intranet.lab.local. |
| SOA | Métadonnées de la zone (numéro de série, durées) | une seule par zone |
Note
Un CNAME ne pointe jamais vers une IP, toujours vers un autre nom. Cela permet de changer l’IP d’un service en un seul endroit (l’enregistrement A cible) au lieu de modifier tous les alias.
TTL et cache
Chaque réponse DNS contient un TTL (Time To Live) en secondes. Tant qu’il n’a pas expiré, les résolveurs et les clients gardent la réponse en cache. Une valeur typique est 3600 s (1 h) pour un enregistrement stable. Avant un changement prévu, on descend à 60-300 s pour accélérer la propagation, puis on remonte une fois la migration terminée.
Topologie de laboratoire
On reprend la topologie HSRP/DHCP, en y ajoutant un serveur générique Packet Tracer qui jouera le rôle de DNS interne pour la zone lab.local.
Le serveur DNS est placé dans le VLAN INFO, où se trouvent déjà les autres services internes. Sa résolution est rendue accessible aux postes COMPTA via le routage inter-VLAN assuré par R1/R2.
Plan d’adressage et zone DNS
| Service | FQDN | IP | Type d’enregistrement |
|---|---|---|---|
| Serveur DNS | dns1.lab.local | 192.168.20.200 | A |
| Intranet | intranet.lab.local | 192.168.20.201 | A |
| Site web (alias) | www.lab.local | → intranet | CNAME |
| Messagerie | mail.lab.local | 192.168.20.202 | A + MX |
| NAS Synology | nas.lab.local | 192.168.20.203 | A |
| Routeur R1 | r1.lab.local | 192.168.10.253 | A |
| Routeur R2 | r2.lab.local | 192.168.10.252 | A |
| Passerelle virtuelle COMPTA | gw-compta.lab.local | 192.168.10.254 | A |
| Passerelle virtuelle INFO | gw-info.lab.local | 192.168.20.254 | A |
Configuration du serveur DNS dans Packet Tracer
L’objet Server-PT de Packet Tracer ne propose pas un BIND complet, mais il sait gérer une zone à plat avec les types A, CNAME, NS, SOA et MX. C’est largement suffisant pour valider la chaîne de résolution.
1. Adressage de l’interface
Dans Config → FastEthernet0 :
IP Address : 192.168.20.200
Subnet Mask : 255.255.255.0
Default Gateway : 192.168.20.254 # VIP HSRP2. Activation du service et création des enregistrements
Dans Services → DNS :
- Passer DNS Service sur ON.
- Ajouter ligne par ligne les enregistrements :
| Name | Type | Address / Target |
|---|---|---|
dns1.lab.local | A Record | 192.168.20.200 |
intranet.lab.local | A Record | 192.168.20.201 |
www.lab.local | CNAME | intranet.lab.local |
mail.lab.local | A Record | 192.168.20.202 |
nas.lab.local | A Record | 192.168.20.203 |
r1.lab.local | A Record | 192.168.10.253 |
r2.lab.local | A Record | 192.168.10.252 |
gw-compta.lab.local | A Record | 192.168.10.254 |
gw-info.lab.local | A Record | 192.168.20.254 |
Pour chaque ligne, cliquer sur Add pour valider. Une faute de frappe est fréquente : un point oublié ou un suffixe .local mal copié casse silencieusement la résolution. Toujours relire la table avant de quitter l’écran.
Astuce
Packet Tracer ne sait pas gérer les zones reverse (in-addr.arpa). Pour tester un PTR, il faut passer sur GNS3 ou un vrai serveur BIND.
Distribution automatique du DNS via DHCP
Plutôt que de configurer 30 postes à la main, on enrichit les pools DHCP créés à l’atelier précédent pour que l’IP du serveur DNS interne soit poussée à chaque renouvellement de bail.
R1# configure terminal
R1(config)# ip dhcp pool POOL_COMPTA
R1(dhcp-config)# dns-server 192.168.20.200 1.1.1.1
R1(dhcp-config)# domain-name lab.local
R1(dhcp-config)# exit
R1(config)# ip dhcp pool POOL_INFO
R1(dhcp-config)# dns-server 192.168.20.200 1.1.1.1
R1(dhcp-config)# domain-name lab.local
R1(dhcp-config)# end
R1# write memoryExplications ligne par ligne :
dns-server 192.168.20.200 1.1.1.1: le poste reçoit deux DNS dans cet ordre. Le premier (interne) résout les noms*.lab.local. Si le serveur interne tombe, le poste bascule sur Cloudflare pour les noms publics. Les noms internes deviennent inaccessibles, mais Internet reste joignable.domain-name lab.local: suffixe DNS poussé via l’option DHCP 15. Permet aux postes de taperintranettout court : le système rajoute automatiquement.lab.localavant la requête.
Pour propager le changement sans attendre l’expiration des baux : clear ip dhcp binding * côté routeur, puis ipconfig /release && ipconfig /renew côté Windows.
Prudence
Mettre un DNS public avant le DNS interne est une erreur fréquente : les postes envoient toutes leurs requêtes (y compris les noms internes) vers Cloudflare, qui ne saura pas répondre. L’ordre est important.
Le routeur en client DNS
Le routeur Cisco peut aussi résoudre des noms (utile pour ping intranet.lab.local directement depuis IOS, ou pour des ACL avec FQDN). Il suffit de le configurer comme client DNS :
R1(config)# ip name-server 192.168.20.200 1.1.1.1
R1(config)# ip domain-name lab.local
R1(config)# ip domain-lookupAstuce
En production, beaucoup d’admins désactivent au contraire la résolution avec no ip domain-lookup. Sans ça, une faute de frappe en CLI déclenche une requête DNS qui peut bloquer la console pendant 30 secondes.
Tests de résolution
Sur un poste du VLAN COMPTA, ouvrir Command Prompt :
> ipconfig /all
...
DNS Servers . . . . . . . . . . . : 192.168.20.200
1.1.1.1
Connection-specific DNS Suffix . : lab.local
> nslookup intranet.lab.local
Server: dns1.lab.local
Address: 192.168.20.200
Name: intranet.lab.local
Address: 192.168.20.201
> nslookup www.lab.local
Server: dns1.lab.local
Address: 192.168.20.200
Name: www.lab.local
Aliases: intranet.lab.local
Address: 192.168.20.201
> ping nas
Pinging nas.lab.local [192.168.20.203] with 32 bytes of data:
Reply from 192.168.20.203: bytes=32 time=2ms TTL=128Le dernier exemple est intéressant : le poste a tapé ping nas, le système a appliqué le suffixe lab.local pour reconstruire nas.lab.local, puis interrogé 192.168.20.200 qui a renvoyé l’IP. Tout cela sans intervention manuelle sur le poste.
Notions de sécurité
Le DNS est un service critique et historiquement peu protégé. Trois points à connaître :
- Cache poisoning : un attaquant injecte de fausses réponses dans le cache du résolveur pour rediriger les utilisateurs. Atténué par la randomisation du port source (RFC 5452).
- DNSSEC (RFC 4033) : signe cryptographiquement les enregistrements, ce qui permet au résolveur de vérifier qu’une réponse n’a pas été falsifiée. Il ne chiffre pas les requêtes, il garantit seulement l’authenticité.
- DoT / DoH (DNS over TLS / over HTTPS) : chiffrent le transport des requêtes pour la confidentialité. DoT utilise le port 853, DoH se confond avec du HTTPS classique sur le port 443.
En production, l’ANSSI recommande d’activer DNSSEC sur les zones publiques, de séparer strictement les résolveurs internes et externes, et de journaliser le trafic DNS (90 % des malwares utilisent le DNS pour leur communication avec leur serveur de contrôle).
Problèmes rencontrés et solutions
| Symptôme | Cause probable | Correction |
|---|---|---|
nslookup intranet.lab.local échoue avec « DNS request timed out » | Le poste utilise un DNS externe au lieu du DNS interne | Vérifier ipconfig /all, recharger le bail DHCP |
ping intranet échoue mais ping intranet.lab.local réussit | Suffixe DNS manquant côté client | Ajouter domain-name lab.local dans le pool DHCP |
| L’enregistrement existe sur le serveur mais le client ne le résout pas | Cache négatif côté client (NXDOMAIN) | ipconfig /flushdns (Windows) ou resolvectl flush-caches (Linux) |
Réponse OK pour les noms internes mais pas pour google.com | Pas de DNS public dans la liste poussée | Ajouter 1.1.1.1 côté DHCP |
| Le serveur DNS répond depuis 127.0.0.1 mais pas depuis le LAN | Service non démarré ou ACL bloquante | Vérifier DNS Service: ON, contrôler les ACL inter-VLAN |
| Les CNAME bouclent | CNAME pointant vers un autre CNAME pointant vers le premier | N’enchaîner que CNAME → A, jamais CNAME → CNAME → CNAME |
Bonnes pratiques retenues
- Une seule source de vérité : tout nom interne doit exister dans la zone DNS, pas dans des fichiers
hostséparpillés sur les postes. - TTL bas avant migration : descendre à 60 s 24 h avant un changement d’IP, le remonter à 3600 s après.
- Redondance : prévoir au moins deux serveurs DNS internes en production (Packet Tracer ne le simule pas, mais c’est la règle).
- DNS public en second : le résolveur local doit toujours être interrogé en priorité, sinon les noms internes ne se résolvent plus.
- Surveillance : monitorer le port 53 et le service. Une panne DNS se manifeste par « Internet est cassé » côté utilisateurs alors que le routage fonctionne.
Compétences du bloc 1 mobilisées
| Compétence officielle | Mobilisation concrète |
|---|---|
| Recenser et identifier les ressources numériques | Inventaire des services internes consignés dans la zone lab.local : intranet, NAS, messagerie. Chaque enregistrement A est associé à un équipement et à une IP fixe documentée. |
| Exploiter des référentiels, normes et standards | Conception de la zone alignée sur les RFC 1034/1035 (concepts et format des messages), règles de TTL et de redondance reprises du guide ANSSI Bonnes pratiques pour l’acquisition et l’exploitation de noms de domaine. |
| Déployer un service | Mise en service d’un serveur DNS interne dans la maquette Packet Tracer, intégré à la chaîne HSRP + DHCP : les postes reçoivent l’adresse du résolveur via DHCP et résolvent les noms internes sans configuration manuelle. |
| Réaliser les tests d’intégration et d’acceptation d’un service | Validation par nslookup depuis les postes COMPTA et INFO sur tous les enregistrements de la zone, plus tests d’erreur (nom inexistant, serveur DNS coupé) pour vérifier les remontées d’erreur attendues. |
Bilan
À l’issue de l’atelier, les postes COMPTA et INFO reçoivent automatiquement leur DNS interne via DHCP, et résolvent l’ensemble des services nommés *.lab.local. La trilogie HSRP + DHCP + DNS est complète : un nouveau collaborateur branché sur le réseau obtient une IP, une passerelle redondée et la résolution des services internes sans qu’aucun paramètre ne soit saisi à la main. C’est exactement ce qu’on attend d’un réseau de PME prêt pour la production.
Au-delà de la configuration, l’atelier a surtout permis de comprendre comment ces trois protocoles s’articulent : DHCP distribue ce que DNS résout, et HSRP garantit que la passerelle distribuée par DHCP reste joignable.
Sources
- RFC 1034 — Domain Names: Concepts and Facilities , IETF, 1987.
- RFC 1035 — Domain Names: Implementation and Specification , IETF, 1987.
- RFC 4033 — DNS Security Introduction and Requirements (DNSSEC) , IETF, 2005.
- Cisco — Configuring DNS on Cisco Routers .
- CCNA 200-301 Official Cert Guide (Volume 1), Wendell Odom, Cisco Press, 2019 , chapitre sur DNS.
- ANSSI — Bonnes pratiques pour l’acquisition et l’exploitation de noms de domaine , ANSSI.
Fichier Packet Tracer
Le fichier .pkt correspondant à cette configuration est disponible ici.