Accueil/Réseaux, Systèmes & Cybersécurité /Chapitre 15 /Exercices corrigés

Projet TechShop — exercices

Refaire le projet, puis le casser exprès pour apprendre à le réparer.

🎯

La règle du jeu

Chaque exercice se fait dans Packet Tracer, pas sur le papier. Tapez la commande, lisez la sortie, comparez-la à ce que vous attendiez. Les exercices de dépannage (§8) sont les plus formateurs : c'est exactement la situation de l'épreuve pratique, où l'on vous donne une maquette cassée.

01Le plan d'adressage

1Compléter le tableau Facile

Pour chaque zone de TechShop, donnez l'adresse réseau, le masque décimal, l'adresse de broadcast et la plage d'adresses machines.

  • VLAN 10 VENTE — 192.168.10.0/24
  • Liaison WAN siège ↔ entrepôt — 10.0.0.0/30
✅ Correction
VLAN 10Liaison WAN
Réseau192.168.10.010.0.0.0
Masque255.255.255.0255.255.255.252
Broadcast192.168.10.25510.0.0.3
Plage machines.1 à .254 10.0.0.1 et 10.0.0.2
Nombre d'hôtes2⁸ − 2 = 254 2² − 2 = 2

Le calcul du /30 : 30 bits de réseau, il reste 2 bits pour les hôtes, soit 4 combinaisons — moins l'adresse réseau et l'adresse de broadcast.

hôtes = 2(32 − préfixe) − 2

Retenez le /30 tel quel : c'est le masque des liaisons entre deux routeurs, et il tombe à chaque examen.

2Où s'arrête le DHCP ? Facile

Le plan réserve .1 à .20 à l'adressage fixe. Le serveur DHCP annonce 234 adresses disponibles par VLAN. Vérifiez ce chiffre, puis dites ce qui occupe la plage réservée dans le VLAN 20.

✅ Correction
de .21 à .254  →  254 − 21 + 1 = 234

Le « + 1 » compte l'adresse de départ elle-même : c'est l'erreur classique, qui donne 233.

Dans le VLAN 20 :

192.168.20.1passerelle — sous-interface g0/0.20 de R-STICK
192.168.20.10serveur de fichiers
192.168.20.11serveur DHCP / DNS
.2 – .9, .12 – .20 libres, réservées à la croissance

Garder de la marge est délibéré : la prochaine imprimante réseau ou le prochain point d'accès Wi-Fi y trouveront une adresse fixe sans avoir à retoucher le plan.

3Le plan au plus juste Difficile

TechShop passe en adressage public et doit économiser chaque adresse. On dispose de 198.51.100.0/24. Découpez-le en VLSM pour : TECH (20 postes + 1 serveur), VENTE (8 postes), ADMIN (6 postes + 2 serveurs), et la liaison WAN. Chaque réseau a besoin d'une passerelle en plus.

✅ Correction

Règle du VLSM : on sert le plus gros besoin en premier, sinon on fragmente l'espace et le gros bloc ne rentre plus.

OrdreZoneBesoin + passerellePréfixe HôtesSous-réseauPlage
1TECH21 + 1 = 22/27 2⁵ − 2 = 30198.51.100.0/27.1 – .30
2VENTE8 + 1 = 9/28 2⁴ − 2 = 14198.51.100.32/28.33 – .46
3ADMIN10 + 1 = 11/28 2⁴ − 2 = 14198.51.100.48/28.49 – .62
4WAN2/30 2² − 2 = 2198.51.100.64/30.65 – .66

Vérification des frontières — chaque sous-réseau doit commencer là où le précédent finit :

  • TECH /27 occupe 32 adresses : .0 à .31, broadcast .31. Le suivant démarre donc à .32.
  • VENTE /28 occupe 16 adresses : .32 à .47, broadcast .47. Suivant à .48.
  • ADMIN /28 : .48 à .63, broadcast .63. Suivant à .64.
  • WAN /30 : .64 à .67, broadcast .67.
Total consommé : 68 adresses sur 256
il reste 198.51.100.68 à .255

Piège classique : traiter VENTE (8 postes) avant TECH parce qu'il est cité en premier dans le sujet. On perd alors l'alignement des blocs et l'on finit par chevaucher deux sous-réseaux. Du plus grand au plus petit, toujours.

02VLAN et trunks

4Configurer SW-2 de bout en bout Moyen

SW-2 dessert les pôles VENTE et ADMIN. Écrivez la configuration : les VLAN, fa0/6-15 en VENTE, fa0/16-24 en ADMIN, et fa0/1 en trunk vers SW-COEUR avec le VLAN natif 99.

✅ Correction
Cisco IOS — SW-2
enable
configure terminal
 hostname SW-2
 no ip domain-lookup

vlan 10
 name VENTE
vlan 20
 name ADMIN
vlan 99
 name native
 exit

interface range fa0/6-15
 switchport mode access
 switchport access vlan 10
 exit

interface range fa0/16-24
 switchport mode access
 switchport access vlan 20
 exit

interface fa0/1
 switchport mode trunk
 switchport trunk native vlan 99
 switchport trunk allowed vlan 10,20,99
 exit
end
copy running-config startup-config
⚠️ Le VLAN 30 n'a rien à faire ici

Aucun poste TECH n'est branché sur SW-2 : ni le VLAN 30 dans la liste allowed, ni même sa création. C'est le pruning — un VLAN qui ne circule pas sur un lien ne peut pas y être capturé.

Et le VLAN 99 doit figurer dans la liste, bien qu'il ne porte aucune donnée : c'est le VLAN natif, il doit être déclaré identique aux deux bouts.

copy running-config startup-config n'est pas décoratif : sans lui, tout est perdu au redémarrage. Le jour de l'épreuve, c'est le genre d'oubli qui efface une heure de travail.

5Lire show interfaces trunk Difficile

Cisco IOS
SW-COEUR#show interfaces trunk

Port    Mode  Encapsulation  Status     Native vlan
Fa0/2   on    802.1q         trunking   99

Port    Vlans allowed on trunk
Fa0/2   30,99

Port    Vlans in spanning tree forwarding state and not pruned
Fa0/2   30

Le VLAN 99 est autorisé mais n'apparaît pas dans le dernier bloc. Que s'est-il passé, et quelles en sont les conséquences réelles ?

✅ Correction

Le VLAN 99 n'est pas autorisé à l'autre extrémité. Sur SW-1, le port fa0/1 déclare switchport trunk allowed vlan 30 — sans le 99. Un VLAN n'est réellement transporté que si les deux bouts l'acceptent ; ici il est élagué.

Conséquence immédiate : aucune. Le VLAN 99 a été choisi comme VLAN natif précisément parce qu'il est vide — aucun port d'accès, aucune interface virtuelle, aucune donnée. Rien à transporter, donc rien à perdre. Le lien est trunking, les postes TECH communiquent, tous les tests passent.

Conséquence différée : le jour où le VLAN 99 sert à quelque chose — une adresse d'administration sur les commutateurs, du trafic de supervision — il ne traversera pas ce lien. La panne apparaîtra des mois après la ligne fautive, et personne ne fera le rapprochement.

Cisco IOS — correction
SW-1(config)# interface fa0/1
SW-1(config-if)# switchport trunk allowed vlan 30,99

Et surtout : prenez l'habitude de lire le troisième bloc. Le deuxième dit ce que vous avez demandé, le troisième ce que le réseau fait. En dépannage, seul le troisième compte.

6Sécuriser les ports inutilisés Moyen

Sur SW-1, les postes TECH occupent fa0/6 à fa0/24 et le trunk est sur fa0/1. Que faire de fa0/2 à fa0/5 et des deux ports gigabit ? Écrivez la configuration et justifiez-la.

✅ Correction
Cisco IOS — SW-1
vlan 999
 name PARKING
 exit

interface range fa0/2-5 , gig0/1-2
 switchport mode access
 switchport access vlan 999     ← un VLAN qui ne mène nulle part
 shutdown                       ← et le port est coupé
 exit

Pourquoi les deux mesures, et pas une seule :

  • shutdown seul — un port éteint peut être rallumé par quiconque obtient un accès à la console. La ceinture sans les bretelles.
  • VLAN 999 seul — un port actif, même isolé, reste un point d'entrée : un attaquant y observe au moins le trafic de diffusion du VLAN 999 et peut tenter de négocier un trunk.
  • Les deux — le port est mort et, s'il revit, il ne mène nulle part.
⚠️ Ne jamais laisser un port dans le VLAN 1

Un port non configuré est dans le VLAN 1, qui est aussi, par défaut, le VLAN natif des trunks et le VLAN d'administration. Une prise libre dans un magasin ouvert au public devient alors une porte d'entrée directe.

C'est un point que le projet annonçait dans sa partie sécurité sans l'appliquer sur SW-1 : show vlan brief y montrait Fa0/2, Fa0/3, Gig0/1, Gig0/2 restés dans VLAN 1 default. Annoncer une mesure qu'on n'a pas prise est pire que de ne rien annoncer — on se croit protégé.

03Router-on-a-Stick

7Ajouter un quatrième VLAN Moyen

TechShop ouvre un pôle SAV : VLAN 40, réseau 192.168.40.0/24, 5 postes sur SW-2 (fa0/2-5). Listez toutes les modifications nécessaires, équipement par équipement.

✅ Correction

Quatre équipements sont concernés. En oublier un suffit à tout casser.

Cisco IOS — 1. SW-2 (où sont les postes)
vlan 40
 name SAV
 exit
interface range fa0/2-5
 switchport mode access
 switchport access vlan 40
 exit
interface fa0/1
 switchport trunk allowed vlan 10,20,40,99   ← le trunk doit accepter le 40
Cisco IOS — 2. SW-COEUR (le VLAN transite)
vlan 40
 name SAV
 exit
interface fa0/3                                ← vers SW-2
 switchport trunk allowed vlan 10,20,40,99
 exit
interface fa0/1                                ← vers R-STICK
 switchport trunk allowed vlan 10,20,30,40,99
Cisco IOS — 3. R-STICK (la passerelle)
interface g0/0.40
 encapsulation dot1q 40
 ip address 192.168.40.1 255.255.255.0
 ip helper-address 192.168.20.11             ← sinon pas de DHCP
 ip nat inside                                ← sinon pas de NAT depuis ce VLAN
 exit

4. Le serveur DHCP : créer le pool VLAN40_SAV — passerelle 192.168.40.1, DNS 192.168.20.11, début 192.168.40.21.

🧰 La check-list « nouveau VLAN », à apprendre par cœur
  1. créer le VLAN sur chaque commutateur qu'il traverse ;
  2. affecter les ports d'accès ;
  3. l'ajouter à la liste allowed de tous les trunks du chemin — c'est l'oubli numéro un ;
  4. créer la sous-interface sur le routeur (encapsulation dot1q + IP) ;
  5. reporter les options de la sous-interface : ip helper-address, ip nat inside, ACL éventuelle ;
  6. créer le pool DHCP.

Le symptôme d'un trunk oublié est déroutant : les postes du nouveau VLAN se voient entre eux — ils sont sur le même commutateur — mais ne joignent ni la passerelle ni quoi que ce soit d'autre.

8Trois configurations, une seule bonne Moyen

Laquelle fonctionne ? Pour les deux autres, dites ce qui se passe exactement.

Cisco IOS — A
interface g0/0.20
 encapsulation dot1q 20
 ip address 192.168.20.1 255.255.255.0
Cisco IOS — B
interface g0/0
 shutdown
interface g0/0.20
 encapsulation dot1q 20
 ip address 192.168.20.1 255.255.255.0
Cisco IOS — C
interface g0/0.20
 ip address 192.168.20.1 255.255.255.0
✅ Correction

A fonctionne — à condition que g0/0 ait été allumée auparavant, et que le port du commutateur en face soit en trunk.

B ne fonctionne pas. L'interface physique est éteinte, donc toutes ses sous-interfaces le sont aussi. Elles apparaissent en administratively down dans show ip interface brief, et le réseau 192.168.20.0/24 n'apparaît même pas dans show ip route : un réseau connecté n'y figure que si son interface est active. C'est le meilleur indice.

C ne fonctionne pas. Sans encapsulation dot1q 20, la sous-interface ne sait pas quelle étiquette 802.1Q lui est destinée. Elle porte une adresse IP mais ne reçoit aucune trame étiquetée : les postes du VLAN 20 ne joignent pas leur passerelle.

Sous-interface = une adresse IP + une encapsulation
et l'interface physique allumée

04Le relais DHCP

9Où poser ip helper-address ? Moyen

Le serveur DHCP est en 192.168.20.11, dans le VLAN 20. Sur quelles sous-interfaces de R-STICK faut-il poser la commande, et pourquoi pas sur les autres ?

✅ Correction
Cisco IOS — R-STICK
interface g0/0.10
 ip helper-address 192.168.20.11     ← VENTE : le serveur est ailleurs
 exit
interface g0/0.30
 ip helper-address 192.168.20.11     ← TECH : idem
 exit
                                      ← g0/0.20 : RIEN

Sur g0/0.10 et g0/0.30 : leurs postes sont dans un autre domaine de broadcast que le serveur. Leur DHCPDISCOVER, émis vers 255.255.255.255, s'arrête au routeur — qui bloque les broadcasts par construction. Le relais le convertit en unicast vers le serveur.

Pas sur g0/0.20 : le serveur est dans le VLAN 20. Les postes ADMIN et lui partagent le même domaine de broadcast, l'appel lui arrive directement. La commande serait au mieux inutile, au pire génératrice de doublons — le serveur recevrait la même demande deux fois.

Le relais se pose sur les VLAN sans serveur DHCP

Et le relais fait une seconde chose, souvent ignorée : il inscrit l'adresse de la sous-interface (192.168.10.1) dans le champ giaddr du paquet. C'est ce champ qui indique au serveur dans quel pool puiser. Sans lui, le serveur ne saurait pas distinguer une demande de VENTE d'une demande de TECH.

10Trois postes, trois symptômes Difficile

Diagnostiquez chaque cas.

PosteVLAN attenduAdresse obtenue
PC-A10 VENTE169.254.7.33
PC-B30 TECH192.168.10.24
PC-C20 ADMIN192.168.20.7
✅ Correction

PC-A — aucune réponse DHCP. 169.254.x.x est la plage APIPA, que le système s'attribue quand rien ne répond. Les causes, dans l'ordre : port dans le mauvais VLAN (show vlan brief), ip helper-address absent de g0/0.10, ou serveur DHCP arrêté.

PC-B — le poste est physiquement dans le mauvais VLAN. Il a bien reçu un bail, valide, mais du mauvais pool : son port du commutateur est en access vlan 10 au lieu de 30. Le DHCP fonctionne parfaitement — c'est la couche 2 qui est en cause. Une adresse cohérente mais du mauvais réseau désigne toujours le port d'accès, jamais le serveur.

PC-C — adresse dans la plage réservée. .7 est inférieur à .21 : soit le poste a été configuré en statique à la main, soit la plage du pool a été mal saisie sur le serveur. Le risque est le conflit : .10 et .11 sont les serveurs, et rien ne garantit qu'un prochain bail ne tombera pas dessus.

Pas d'adresse → DHCP injoignable
Mauvais réseau → mauvais VLAN sur le port
Hors plage → pool mal borné, ou saisie manuelle

11Le no de trop Moyen

Cisco IOS
no ip dhcp excluded-address 192.168.10.1 192.168.10.11
   ip dhcp excluded-address 192.168.20.1 192.168.20.11
   ip dhcp excluded-address 192.168.30.1 192.168.30.11

Que produit la première ligne ? Décrivez la panne, et le symptôme que verra l'utilisateur.

✅ Correction

En IOS, no devant une commande la supprime. Cette ligne n'exclut donc rien : elle retire l'exclusion (ou, si elle n'existait pas, ne fait rien). Le pool VLAN 10 peut distribuer toute la plage, y compris 192.168.10.1 — l'adresse de la passerelle — et 192.168.10.11.

Le symptôme, vu de l'utilisateur : un poste du pôle VENTE démarre, reçoit 192.168.10.1, et à partir de cet instant plus rien ne sort du VLAN 10 pour personne — deux machines répondent à l'adresse de la passerelle. Le poste suivant démarre normalement. On obtient une panne intermittente et généralisée, déclenchée par un poste au hasard : le pire cas de figure à diagnostiquer.

L'indice qui trahit : le journal du commutateur ou du routeur signale un conflit d'adresse, et arp -a sur un poste montre deux adresses MAC différentes pour 192.168.10.1 selon le moment.

Cisco IOS — corrigé et vérifié
ip dhcp excluded-address 192.168.10.1 192.168.10.11

! puis on VÉRIFIE, systématiquement
show running-config | include excluded

Cette faute vient presque toujours d'un copier-coller depuis une session où l'on avait défait une configuration. L'œil relit la commande et saute le préfixe. Le show running-config | include est la seule parade fiable.

05Le routage

12Les deux routes du projet Facile

Écrivez la route de R-STICK vers l'entrepôt, puis celle de R-ENTREPOT vers le reste du monde. Expliquez pourquoi elles ne sont pas de même nature.

✅ Correction
Cisco IOS
R-STICK(config)#    ip route 192.168.50.0 255.255.255.0 10.0.0.2
R-ENTREPOT(config)# ip route 0.0.0.0 0.0.0.0 10.0.0.1

R-ENTREPOT est un réseau d'extrémité (stub) : un seul câble vers le monde. Énumérer les destinations serait absurde — il faudrait ajouter une ligne à chaque VLAN créé au siège. Une route par défaut couvre tout, définitivement.

R-STICK a deux sorties : le lien WAN et le lien Internet. Une route par défaut vers 10.0.0.2 enverrait aussi le trafic Internet dans l'entrepôt. Il faut donc nommer précisément le réseau concerné.

Une seule sortie → route par défaut
Plusieurs sorties → routes précises

13Le ping qui ne revient pas Moyen

La route de R-STICK vers l'entrepôt est posée et correcte. Celle de R-ENTREPOT a été oubliée. Un poste du siège pingue un poste de l'entrepôt. Que se passe-t-il exactement, paquet par paquet ?

✅ Correction
  1. Le poste siège (192.168.10.24) envoie l'écho à sa passerelle 192.168.10.1.
  2. R-STICK consulte sa table, trouve S 192.168.50.0/24 via 10.0.0.2 et transmet. L'aller réussit.
  3. R-ENTREPOT reçoit, voit que 192.168.50.0/24 est directement connecté et livre au poste. La demande arrive.
  4. Le poste entrepôt fabrique la réponse vers 192.168.10.24 et l'envoie à sa passerelle 192.168.50.1.
  5. R-ENTREPOT cherche 192.168.10.0/24 dans sa table. Il ne connaît que son propre réseau. Aucune route par défaut. Il jette le paquet.

Résultat affiché : Request timed out — quatre fois. Rien n'indique que la demande est pourtant bien arrivée à destination.

🧰 Localiser la coupure sans deviner

Deux commandes, et l'on sait de quel côté chercher :

  • tracert 192.168.50.12 depuis le siège : les sauts s'affichent jusqu'à R-ENTREPOT puis s'arrêtent — donc l'aller passe.
  • show ip route sur R-ENTREPOT : aucune ligne pour 192.168.10.0/24, ni S*. Le coupable est là.
Une route ne vaut que si la route de retour existe

Le réflexe à prendre : après chaque route écrite, se demander à voix haute « et pour revenir ? ».

14Lire une table de routage Moyen

Cisco IOS
R-STICK#show ip route
Gateway of last resort is not set

C    192.168.10.0/24 is directly connected, GigabitEthernet0/0.10
L    192.168.10.1/32 is directly connected, GigabitEthernet0/0.10
C    192.168.30.0/24 is directly connected, GigabitEthernet0/0.30
S    192.168.50.0/24 [1/0] via 10.0.0.2

Que signifient C, L, S et [1/0] ? Un réseau du projet manque : lequel, et qu'en déduisez-vous ?

✅ Correction
CConnected — réseau branché sur une interface active
LLocal — l'adresse du routeur lui-même, en /32. Générée automatiquement
SStatic — une route écrite à la main
[1/0]distance administrative 1, métrique 0. 1 = route statique ; le direct vaut 0, RIP 120

Le réseau manquant est 192.168.20.0/24 — le VLAN ADMIN. Or un réseau directement connecté apparaît toujours dans la table… tant que son interface est active.

Donc g0/0.20 est éteinte, ou n'a pas d'adresse IP, ou n'a jamais été créée. Conséquence en cascade : plus de passerelle pour ADMIN, plus de serveur de fichiers, plus de serveur DHCP/DNS joignable — et donc plus de DHCP du tout, pour les trois VLAN, puisque le relais pointe vers 192.168.20.11.

Une ligne absente d'une table de routage en dit plus long qu'une ligne présente. Prenez l'habitude de compter : quatre réseaux au siège, il doit y avoir quatre C.

06Le NAT

15Publier le serveur d'inventaire Facile

Le serveur d'inventaire porte 192.168.30.10 et doit être joignable depuis Internet en 203.0.113.20. L'interface publique de R-STICK est g0/1. Écrivez la configuration complète.

✅ Correction
Cisco IOS — R-STICK
! 1. la règle de traduction
ip nat inside source static 192.168.30.10 203.0.113.20

! 2. l'interface tournée vers l'extérieur
interface g0/1
 ip address 203.0.113.10 255.255.255.0
 ip nat outside
 no shutdown
 exit

! 3. les interfaces tournées vers l'intérieur — TOUTES les sous-interfaces
interface g0/0.10
 ip nat inside
interface g0/0.20
 ip nat inside
interface g0/0.30
 ip nat inside
 end

Les trois blocs sont indissociables. La règle seule ne fait rien : sans inside et outside, le routeur ignore dans quel sens traduire et laisse passer les paquets tels quels.

règle + inside + outside
les trois, ou rien

La panne est silencieuse : show running-config montre bien la ligne ip nat inside source static, tout paraît configuré, et rien ne marche.

16Prouver que le NAT fonctionne Moyen

Quelles commandes lancez-vous, dans quel ordre, pour démontrer le troisième critère d'acceptation ? Que doit montrer chacune ?

✅ Correction

1. Vérifier que les rôles sont posés — c'est la cause d'échec numéro un :

Cisco IOS
R-STICK#show ip nat statistics
Total translations: 1 (1 static, 0 dynamic, 0 extended)
Outside Interfaces: GigabitEthernet0/1
Inside Interfaces: GigabitEthernet0/0.10 , GigabitEthernet0/0.20 , GigabitEthernet0/0.30

Si l'une des deux lignes Interfaces est vide, inutile d'aller plus loin.

2. Capturer la table AVANT tout trafic — la traduction statique existe en permanence, seule :

Cisco IOS — avant
Pro  Inside global   Inside local    Outside local   Outside global
---  203.0.113.20    192.168.30.10   ---             ---

3. Générer du trafic depuis Internet : depuis l'hôte 203.0.113.30, ping 203.0.113.20. Les réponses doivent arriver.

4. Recapturer la table APRÈS — les sessions ICMP apparaissent :

Cisco IOS — après
Pro   Inside global     Inside local       Outside local     Outside global
icmp  203.0.113.20:18   192.168.30.10:18   203.0.113.30:18   203.0.113.30:18
icmp  203.0.113.20:19   192.168.30.10:19   203.0.113.30:19   203.0.113.30:19
---   203.0.113.20      192.168.30.10      ---               ---
⚠️ Une seule des deux captures ne prouve rien

La capture « avant » seule montre une règle écrite, pas une règle qui fonctionne. La capture « après » seule ne permet pas de distinguer ce qui préexistait de ce que le trafic a créé. C'est la différence entre les deux qui démontre.

Les quatre colonnes : Inside local = l'adresse privée réelle · Inside global = la façade publique · Outside local/global = le correspondant, identiques ici faute d'un second NAT en face.

17Faire sortir tout le monde Difficile

La direction veut que tous les postes du siège accèdent à Internet, sans acheter d'adresses publiques supplémentaires. Que faut-il ajouter ? Et quelle autre commande, absente du projet, devient alors indispensable ?

✅ Correction

Il faut du NAT dynamique avec surcharge — le PAT : tous les postes derrière la même adresse publique, distingués par le numéro de port.

Cisco IOS — R-STICK
! 1. désigner qui a le droit de sortir
access-list 1 permit 192.168.0.0 0.0.255.255

! 2. les traduire derrière l'adresse de l'interface publique
ip nat inside source list 1 interface g0/1 overload

La commande manquante : la route par défaut. La table de routage de R-STICK affiche Gateway of last resort is not set. Le routeur jette donc tout paquet dont la destination ne figure pas dans sa table — c'est-à-dire tout Internet. Traduire un paquet qu'on va jeter ne sert à rien.

Cisco IOS
ip route 0.0.0.0 0.0.0.0 203.0.113.1     ← le routeur du FAI

Dans la maquette cela ne se voyait pas : le réseau « Internet » (203.0.113.0/24) est directement branché sur g0/1, donc connu du routeur. Le manque n'apparaît qu'à la première destination réellement distante.

NAT statiquePAT (surcharge)
Correspondance1 privée ↔ 1 publiqueN privées → 1 publique
Sens d'usageentrant : publier un serveur sortant : faire sortir des clients
Duréepermanentele temps de la session
Distinctionpar l'adressepar le numéro de port

Le cahier des charges ne demandait que le flux entrant. Savoir énoncer la limite — « aucun poste ne sort sur Internet aujourd'hui, il faudrait du PAT et une route par défaut » — vaut mieux que de laisser croire que tout fonctionne déjà.

07Les ACL

18Écrire PROTECT_ADMIN Moyen

VENTE (192.168.10.0/24) doit atteindre le serveur de fichiers 192.168.20.10 et le serveur DHCP/DNS 192.168.20.11, mais aucun autre équipement du VLAN ADMIN. Tous les autres flux du réseau restent libres. Écrivez l'ACL et posez-la.

✅ Correction
Cisco IOS — R-STICK
ip access-list extended PROTECT_ADMIN
 permit ip 192.168.10.0 0.0.0.255 host 192.168.20.10      ← exception 1
 permit ip 192.168.10.0 0.0.0.255 host 192.168.20.11      ← exception 2
 deny   ip 192.168.10.0 0.0.0.255 192.168.20.0 0.0.0.255  ← le refus
 permit ip any any                                        ← contre le deny implicite
 exit

interface g0/0.20
 ip access-group PROTECT_ADMIN out
 exit

L'ordre est la règle entière. Une ACL se lit de haut en bas et s'arrête à la première correspondance. Placez le deny avant les permit : il englobe 192.168.20.10, le paquet vers le serveur de fichiers est refusé avant d'avoir rencontré son autorisation — et VENTE perd le partage alors que la ligne qui l'autorise est bien là, juste en dessous.

Du plus précis au plus général
les host d'abord, les réseaux ensuite

La quatrième ligne n'est pas décorative. Toute ACL se termine par un deny any any invisible. Sans permit ip any any, l'ACL posée en sortie de g0/0.20 bloquerait tout ce qui entre dans le VLAN ADMIN : le pôle TECH, l'entrepôt, les réponses du serveur DHCP. Le réseau paraîtrait cassé au hasard.

out sur g0/0.20 : on filtre ce qui part vers ADMIN, quelle qu'en soit l'origine. C'est le bon choix quand on protège une ressource. Filtrer in sur g0/0.10 serait plus efficace — le paquet est jeté avant routage — mais il faudrait répéter l'ACL sur chaque VLAN source le jour où d'autres pôles sont concernés.

19Les masques génériques Moyen

Traduisez en masque générique, puis écrivez la ligne d'ACL correspondante :

  1. tout le réseau 192.168.30.0/24
  2. la seule machine 192.168.20.10
  3. le réseau 192.168.40.0/26
  4. n'importe quelle source
✅ Correction
PortéeMasque réseauGénériqueÉcriture
/24255.255.255.00.0.0.255 192.168.30.0 0.0.0.255
une machine255.255.255.2550.0.0.0 host 192.168.20.10
/26255.255.255.1920.0.0.63 192.168.40.0 0.0.0.63
n'importe qui0.0.0.0255.255.255.255 any
générique = 255.255.255.255 − masque réseau

Vérification du /26 : 255 − 192 = 63. Et c'est cohérent — un /26 contient 64 adresses, donc les valeurs 0 à 63 du dernier octet sont « libres ».

Lecture bit à bit : 0 = ce bit doit correspondre, 1 = ce bit est libre. C'est exactement l'inverse d'un masque de sous-réseau — d'où le nom de masque inverse. Les raccourcis host et any évitent la faute d'inattention : préférez-les partout où ils s'appliquent.

20Lire le résultat d'un test Moyen

Invite de commandes — PC VENTE
C:\>ping 192.168.20.21

Reply from 192.168.10.1: Destination host unreachable.
Reply from 192.168.10.1: Destination host unreachable.
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss)

Qui répond, et qu'est-ce que cela prouve ? Quel second test faut-il impérativement joindre au compte rendu ?

✅ Correction

C'est 192.168.10.1 qui répond — la passerelle, pas la destination. Le routeur a reçu le paquet, l'a refusé au titre de l'ACL, et l'annonce par un ICMP destination unreachable. C'est la signature d'un blocage volontaire et actif.

MessageQui répondDiagnostic
Destination host unreachable la passerelle un routeur refuse, ou ne sait pas router
Request timed outpersonne le paquet se perd, ou la réponse ne revient pas
Reply from <la cible>la destination le chemin fonctionne dans les deux sens

Le second test, indispensable : depuis le même poste VENTE, ping 192.168.20.10 — le serveur de fichiers — doit réussir.

Invite de commandes — la contre-épreuve
C:\>ping 192.168.20.10
Reply from 192.168.20.10: bytes=32 time<1ms TTL=127
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss)

Sans elle, rien ne distingue une ACL bien écrite d'une ACL qui coupe tout — ou d'un câble débranché. Une preuve de refus n'a de valeur qu'accompagnée d'une preuve d'autorisation.

08Dépannage

Six pannes, toutes tirées de fautes réellement commises sur ce projet. Pour chacune : l'hypothèse la plus probable, et la commande qui tranche.

21Un seul VLAN fonctionne Moyen

Les postes du VLAN 10 joignent leur passerelle et se pinguent entre eux. Ceux des VLAN 20 et 30 ne joignent rien du tout, pas même leur passerelle. Les sous-interfaces du routeur sont correctement configurées.

✅ Correction

Le port du commutateur vers le routeur est en mode access, pas trunk. Un port d'accès ne livre qu'un seul VLAN, sans étiquette : les sous-interfaces g0/0.20 et g0/0.30 ne reçoivent jamais de trame portant leur étiquette.

Le symptôme est déroutant parce qu'un VLAN marche — celui qui correspond au VLAN d'accès du port — et donne l'impression que le routeur va bien.

Cisco IOS — la commande qui tranche
SW-COEUR#show interfaces fa0/1 switchport
Name: Fa0/1
Switchport: Enabled
Administrative Mode: static access        ← ✘ devrait être « trunk »
Operational Mode: static access
Access Mode VLAN: 10 (VENTE)
Cisco IOS — correction
interface fa0/1
 switchport mode trunk
 switchport trunk native vlan 99
 switchport trunk allowed vlan 10,20,30,99
Un seul VLAN fonctionne
→ regarder le MODE du port en face

22Le VLAN 40 isolé Moyen

Un VLAN 40 vient d'être créé. Ses postes se voient entre eux mais ne joignent ni leur passerelle, ni aucun autre VLAN. La sous-interface g0/0.40 existe, est allumée, porte la bonne adresse et la bonne encapsulation.

✅ Correction

Le VLAN 40 n'a pas été ajouté à la liste allowed d'un trunk du chemin. C'est l'oubli numéro un lors de l'ajout d'un VLAN, et le symptôme le désigne précisément : les postes se voient entre eux — ils sont sur le même commutateur, la commutation locale fonctionne — mais rien ne sort de ce commutateur.

Cisco IOS
SW-2#show interfaces trunk

Port    Vlans allowed on trunk
Fa0/1   10,20,99                    ← ✘ le 40 manque

Et il faut vérifier tous les trunks traversés, pas seulement le premier : SW-2 → SW-COEUR, puis SW-COEUR → R-STICK. Un seul maillon suffit à couper.

Cisco IOS — correction, des deux côtés de chaque lien
SW-2(config-if)#     switchport trunk allowed vlan 10,20,40,99
SW-COEUR(config-if)# switchport trunk allowed vlan 10,20,40,99      ! fa0/3
SW-COEUR(config-if)# switchport trunk allowed vlan 10,20,30,40,99   ! fa0/1

Pensez aussi à créer le VLAN sur chaque commutateur traversé : un VLAN autorisé sur un trunk mais inexistant dans la base du commutateur ne transporte rien.

23Le serveur inaccessible par intermittence Difficile

Le serveur de fichiers 192.168.20.10 est injoignable certains jours, puis fonctionne de nouveau. Son adresse est fixe et n'a jamais été modifiée. Que se passe-t-il, et comment le confirmer ?

✅ Correction

Un conflit d'adresse. L'adresse du serveur n'a pas été exclue de la plage DHCP : le serveur DHCP l'attribue à un poste qui démarre, et deux machines répondent alors à 192.168.20.10. L'intermittence s'explique toute seule — elle dépend de quel poste s'allume et quand son bail expire.

La confirmation, depuis un poste du VLAN 20 :

Invite de commandes
C:\>arp -a
  Internet Address    Physical Address      Type
  192.168.20.10       00e0.f7a1.3b22        dynamic     ← relevé ce matin
  192.168.20.10       0060.7041.c1d4        dynamic     ← relevé cet après-midi

Deux adresses MAC différentes pour une même adresse IP : le diagnostic est fait. Côté serveur DHCP, la table des baux montre l'attribution fautive.

La correction, en deux temps :

  1. exclure la plage réservée du pool (.1 à .20) ;
  2. libérer le bail fautif, puis ipconfig /release et /renew sur le poste concerné pour qu'il reprenne une adresse correcte.
Adresse fixe sur le serveur ET exclusion du pool
les deux, toujours

Exclure sans fixer, ou fixer sans exclure, laisse la porte ouverte. C'est exactement le scénario qu'aurait produit le no ip dhcp excluded-address de l'exercice 11 — à ceci près qu'il visait la passerelle, ce qui est encore pire.

24Les noms ne résolvent plus Moyen

Les postes du VLAN 20 joignent serveurfichiers.techshop.local sans problème. Ceux des VLAN 10 et 30 doivent taper l'adresse IP : le nom ne marche pas. Toutes les adresses IP se pinguent correctement entre les trois VLAN.

✅ Correction

Les pools DHCP des VLAN 10 et 30 annoncent un serveur DNS qui n'existe pas. C'est précisément la faute de la version intermédiaire du projet : dns-server 192.168.10.11 pour VENTE et 192.168.30.11 pour TECH, alors que l'unique serveur DNS est 192.168.20.11.

Le VLAN 20 fonctionne parce que son pool, lui, annonce la bonne adresse — par coïncidence : 192.168.20.11 est le serveur.

Invite de commandes — la vérification
C:\>ipconfig /all
   DNS Servers . . . . . . : 192.168.10.11     ← ✘ personne à cette adresse

C:\>ping 192.168.10.11
Request timed out.                              ← confirmation

Correction : tous les pools annoncent le même et unique serveur DNS.

Cisco IOS
ip dhcp pool VLAN10_VENTE
 dns-server 192.168.20.11
ip dhcp pool VLAN30_TECH
 dns-server 192.168.20.11

Cette panne était invisible dans le compte rendu : tous les tests visaient des adresses IP, aucun un nom. Un seul ping serveurfichiers.techshop.local l'aurait révélée. La ligne [192.168.20.10] entre crochets dans la réponse est la preuve que le DNS fonctionne.

25Le NAT configuré qui ne traduit pas Moyen

La règle ip nat inside source static 192.168.30.10 203.0.113.20 figure bien dans show running-config. Depuis Internet, ping 203.0.113.20 ne donne rien. La table de traduction reste vide après le test.

✅ Correction

Les rôles inside / outside ne sont pas posés sur les interfaces. Le routeur ne sait pas de quel côté est le dedans : il ne traduit rien et laisse passer les paquets tels quels.

Cisco IOS — la commande qui tranche
R-STICK#show ip nat statistics
Total translations: 1 (1 static, 0 dynamic, 0 extended)
Outside Interfaces:                       ← ✘ vide
Inside Interfaces:                        ← ✘ vide
Hits: 0  Misses: 0
Cisco IOS — correction
interface g0/1
 ip nat outside
interface g0/0.30
 ip nat inside

C'est la panne la plus silencieuse du projet : la configuration paraît complète, la règle est visible, et show running-config ne montre rien d'anormal. Seul show ip nat statistics révèle le manque. Prenez l'habitude de le lancer après chaque configuration de NAT.

26ADMIN coupé du monde Difficile

Après la pose de l'ACL, plus rien n'entre dans le VLAN 20 : ni le pôle TECH, ni l'entrepôt, et les postes ADMIN eux-mêmes ne reçoivent plus d'adresse DHCP. Voici l'ACL posée en sortie de g0/0.20 :

Cisco IOS
ip access-list extended PROTECT_ADMIN
 permit ip 192.168.10.0 0.0.0.255 host 192.168.20.10
 permit ip 192.168.10.0 0.0.0.255 host 192.168.20.11
 deny   ip 192.168.10.0 0.0.0.255 192.168.20.0 0.0.0.255
✅ Correction

Le permit ip any any final manque. Toute ACL se termine par un deny any any implicite, que l'on ne voit nulle part dans la configuration.

Résultat : le trafic venu du VLAN 30, de l'entrepôt ou d'Internet ne correspond à aucune des trois règles écrites — et tombe donc sur le refus implicite. Tout est bloqué sauf les deux exceptions accordées à VENTE.

Pourquoi le DHCP tombe aussi : les réponses du serveur 192.168.20.11 vers les postes ADMIN ne traversent pas cette sous-interface — mais le relais DHCP, lui, fait entrer dans le VLAN 20 les demandes venues de VENTE et de TECH. Celles de TECH (192.168.30.x) ne correspondent à aucune règle : elles sont jetées.

Cisco IOS — correction
ip access-list extended PROTECT_ADMIN
 permit ip any any                  ← ajouté en dernier
⚠️ Vérifier qu'une règle est bien la dernière

Dans une ACL nommée, une nouvelle ligne saisie sans numéro s'ajoute à la fin — c'est ce qu'on veut ici. Contrôlez toujours le résultat :

Cisco IOS
R-STICK#show access-lists PROTECT_ADMIN
Extended IP access list PROTECT_ADMIN
    10 permit ip 192.168.10.0 0.0.0.255 host 192.168.20.10
    20 permit ip 192.168.10.0 0.0.0.255 host 192.168.20.11
    30 deny ip 192.168.10.0 0.0.0.255 192.168.20.0 0.0.0.255
    40 permit ip any any                          ← bien en dernier

Les numéros de séquence (10, 20, 30, 40) donnent l'ordre réel d'évaluation. Ils permettent aussi d'insérer une règle à une position précise sans tout réécrire.

Une ACL qui n'autorise rien à la fin interdit tout. On l'oublie une fois — jamais deux.

09Préparer l'oral

27Les six questions qui tombent Moyen

Préparez une réponse de trois phrases à chacune. Une réponse complète contient toujours le quoi, le pourquoi, et la limite.

  1. Pourquoi des VLAN plutôt que trois réseaux physiques séparés ?
  2. Pourquoi le VLAN natif en 99 ?
  3. Pourquoi ip helper-address ?
  4. Pourquoi une route par défaut à l'entrepôt et une route précise au siège ?
  5. Pourquoi un NAT statique et pas du PAT ?
  6. Quelle est la faiblesse de votre architecture ?
✅ Correction

1. VLAN plutôt que réseaux physiques. Trois réseaux séparés demanderaient trois jeux de commutateurs et de câbles. Les VLAN obtiennent la même isolation logique sur un seul matériel, et une réaffectation de poste se fait par commande au lieu d'un recâblage. Limite : l'isolation dépend de la configuration — une erreur de port suffit à la percer, là où un réseau physique resterait séparé.

2. VLAN natif en 99. Le trafic du VLAN natif circule sans étiquette sur un trunk. Laissé au VLAN 1 par défaut — celui où atterrissent tous les ports non configurés — il ouvre la porte au VLAN hopping par double étiquetage. Un VLAN 99 dédié et vide garantit qu'aucune donnée utile ne voyage sans étiquette.

3. ip helper-address. Un poste sans adresse émet son DHCPDISCOVER en broadcast, et un routeur bloque les broadcasts. Le serveur étant dans le VLAN 20, les demandes de VENTE et de TECH mourraient sur la sous-interface. Le relais les convertit en unicast et inscrit l'adresse de la sous-interface dans le champ giaddr, ce qui indique au serveur dans quel pool puiser.

4. Les deux types de routes. L'entrepôt est un réseau d'extrémité : une seule sortie, donc une route par défaut qui couvre toutes les destinations, y compris futures. Le siège a deux sorties — le WAN et Internet — et une route par défaut vers l'entrepôt y enverrait aussi le trafic Internet.

5. NAT statique et non PAT. Le besoin est entrant : rendre un serveur joignable de l'extérieur à une adresse stable. Le PAT traduit des sessions sortantes et ne permet pas d'initier une connexion depuis Internet. Limite assumée : avec cette seule règle, aucun poste du siège ne sort sur Internet — il faudrait ajouter du PAT et une route par défaut.

6. La faiblesse. Le commutateur cœur est un point de défaillance unique : s'il tombe, tout le siège tombe. En production je doublerais le lien en EtherChannel et la passerelle en HSRP. Second point, le lien unique vers l'entrepôt : aucune redondance, et aucun chiffrement du trafic entre les deux sites.

Quoi · Pourquoi · Limite
c'est la troisième qui fait la différence

28La relecture finale Facile

Le rapport est écrit, la maquette est finie. Que vérifiez-vous avant de rendre ?

✅ Correction

Une seule chose, mais sérieusement : que le rapport décrive la maquette livrée. Document ouvert d'un côté, Packet Tracer de l'autre, ligne par ligne.

À confronterComment
Noms des équipementsle hostname réel, pas celui d'une version précédente
Noms d'interfacesshow ip interface brief — Se0/0/0 ou Se0/0/1 ?
Blocs de configurationcollés depuis show running-config, jamais retapés
Adresses et plagesle début de plage DHCP annoncé est-il celui du serveur ?
Mesures de sécuritéchaque mesure annoncée doit exister : show vlan brief, show access-lists
Capturesproviennent-elles de la version finale, ou d'une maquette d'il y a trois semaines ?

Le piège vécu sur ce projet : la maquette a été améliorée après l'écriture du rapport — DHCP passé du routeur à un serveur dédié, équipements renommés, ACL ajoutée. Le rapport décrivait donc une version antérieure, moins bonne que celle livrée. Le travail était meilleur que le document qui le présentait.

Un jury qui tape show running-config et lit R-STICK là où le rapport annonce S1-Coeur se pose une question gênante — et la pose à voix haute. Le rapport se met à jour en dernier, après le dernier changement de la maquette.

Sources exploitées

  • « Présentation de l'entreprise TECHSHOP — Mission 1 : Segmentation en VLAN » (sujet)
  • Compte rendu TechShop de l'élève et rapport du binôme, juin 2026
  • Fichiers config-*.ios et commandes-v1 à v16.ios
  • Captures de validation de la maquette Packet Tracer
  • Le cours du chapitre : Projet TechShop