Accueil/Réseaux & Systèmes /Chapitre 12 /Exercices corrigés

NAT et PAT — exercices

Les trois configurations à savoir écrire de tête, et les pannes qu'on rencontre en TP.

🎯

Les deux réflexes du chapitre

1. Toute configuration NAT comporte obligatoirement ip nat inside et ip nat outside. Si vous les oubliez, rien ne fonctionne et rien ne le signale.
2. Devant un problème, la première commande est show ip nat translations. Une table vide et une table pleine mènent à des diagnostics opposés.

01Le vocabulaire

1Nommer les quatre adresses Facile

Un PC en 192.168.1.20 consulte un serveur web situé à 192.31.7.1. Le routeur NAT le fait sortir avec l'adresse publique 209.165.200.225.

Nommez chacune de ces quatre adresses selon la terminologie NAT, et indiquez laquelle la NAT traduit réellement.

✅ Correction
AdresseTermePourquoi
192.168.1.20Inside Local Inside = mon réseau · Local = adresse privée
209.165.200.225Inside Global Inside = c'est toujours ma machine · Global = mais vue avec une adresse publique
192.31.7.1 vue de l'intérieurOutside Local Outside = l'autre côté · Local = telle que mon réseau la voit
192.31.7.1 réelleOutside Global Son adresse véritable sur Internet

La NAT traduit Inside Local → Inside Global, c'est-à-dire 192.168.1.20 → 209.165.200.225. Les deux adresses Outside sont ici identiques, ce qui est le cas le plus courant.

🧰 La grille à deux axes
Local
(adresse privée)
Global
(adresse publique)
Inside
(mon réseau)
Inside Local
192.168.1.20
Inside Global
209.165.200.225
Outside
(Internet)
Outside Local
192.31.7.1
Outside Global
192.31.7.1

Reconstruire cette grille prend dix secondes en épreuve et évite toute confusion.

02Choisir le bon type

2Quatre situations Moyen

Statique, dynamique ou PAT ? Justifiez.

  1. Un serveur web interne doit être accessible depuis Internet à une adresse fixe.
  2. Une PME de 80 postes dispose d'une seule adresse publique.
  3. Une entreprise a 15 adresses publiques et 12 serveurs qui sortent régulièrement, sans jamais être contactés depuis l'extérieur.
  4. Un particulier avec sa box, une trentaine d'appareils connectés.
✅ Correction
CasChoixJustification
1 — Serveur web joignableNAT statique C'est le cas d'usage typique : mappage permanent, l'entrée existe même sans trafic, et l'adresse publique ne change jamais — les clients externes doivent pouvoir l'atteindre
2 — 80 postes, 1 adressePAT Seule solution possible : plusieurs pour une, distingués par les ports
3 — 15 adresses, 12 serveurs sortantsNAT dynamique Assez d'adresses pour tout le monde, et personne ne doit être contacté de l'extérieur. La PAT fonctionnerait aussi, mais la dynamique préserve une correspondance 1 pour 1 pendant la session — utile pour les journaux
4 — Box particulierPAT C'est exactement ce que fait toute box : une adresse publique, des dizaines d'appareils
⚠️ Le critère qui tranche vraiment

Posez-vous une seule question : « quelqu'un doit-il pouvoir contacter cette machine depuis Internet, à son initiative ? »

  • Oui → NAT statique, obligatoirement. Une entrée dynamique n'existe que si la machine a d'abord émis.
  • Non → dynamique ou PAT, selon le nombre d'adresses disponibles.

03Les trois configurations

3Écrire les trois de tête Moyen

Sur R2, dont fa0/0 est côté LAN (192.168.10.0/24) et s0/1/0 côté Internet, écrivez :

  1. Une NAT statique exposant le serveur 192.168.10.254 sous l'adresse publique 209.165.201.5.
  2. Une NAT dynamique avec le pool 209.165.200.226 → 209.165.200.240, masque 255.255.255.224, pour tout le réseau 192.168.0.0/16.
  3. Une PAT utilisant l'adresse de l'interface s0/1/0.
✅ Correction

1 — NAT statique

Cisco IOS
R2(config)# ip nat inside source static 192.168.10.254 209.165.201.5

R2(config)# interface fa0/0
R2(config-if)# ip nat inside
R2(config-if)# exit
R2(config)# interface s0/1/0
R2(config-if)# ip nat outside

2 — NAT dynamique

Cisco IOS
R2(config)# ip nat pool NAT-POOL1 209.165.200.226 209.165.200.240 netmask 255.255.255.224
R2(config)# access-list 1 permit 192.168.0.0 0.0.255.255
R2(config)# ip nat inside source list 1 pool NAT-POOL1

R2(config)# interface fa0/0
R2(config-if)# ip nat inside
R2(config-if)# exit
R2(config)# interface s0/1/0
R2(config-if)# ip nat outside

3 — PAT sur l'interface

Cisco IOS
R2(config)# access-list 1 permit 192.168.0.0 0.0.255.255
R2(config)# ip nat inside source list 1 interface s0/1/0 overload
!                                                        └── le mot-clé PAT

R2(config)# interface fa0/0
R2(config-if)# ip nat inside
R2(config-if)# exit
R2(config)# interface s0/1/0
R2(config-if)# ip nat outside
🧰 Ce qui est commun aux trois

Les deux déclarations d'interface sont identiques dans les trois cas, et obligatoires. Seule la première partie change :

TypeCommande caractéristique
Statiqueip nat inside source static <privée> <publique>
Dynamiqueip nat inside source list 1 pool NOM
PATidem + overload, ou interface X overload
⚠️ Trois détails qui coûtent des points
  • Le masque générique de l'ACL : 0.0.255.255, et non 255.255.0.0. C'est le complément — 0 signifie « doit correspondre », 1 signifie « peu importe ».
  • Le nom du pool est sensible à la casse. NAT-POOL1 et nat-pool1 sont deux pools distincts, et le second n'existe pas.
  • netmask dans ip nat pool — sans lui, IOS refuse la commande.

04Lire une table de traduction

4Décoder chaque ligne Moyen

R2# show ip nat translations

Pro   Inside global          Inside local         Outside local    Outside global
---   209.165.201.5          192.168.10.254       ---              ---
tcp   209.165.200.225:1444   192.168.1.10:1444    192.31.7.1:80    192.31.7.1:80
tcp   209.165.200.225:1445   192.168.1.11:1444    192.31.7.1:80    192.31.7.1:80
udp   209.165.200.225:1520   192.168.1.12:1520    8.8.8.8:53       8.8.8.8:53
  1. Quelle ligne correspond à une NAT statique, et comment le voit-on ?
  2. Pourquoi les lignes 2 et 3 ont-elles des ports Inside global différents alors que les ports Inside local sont identiques ?
  3. Quel service la dernière ligne concerne-t-elle ?
  4. Combien d'adresses publiques cette entreprise utilise-t-elle ?
✅ Correction

1. La première ligne. Deux indices concordants :

  • la colonne Pro vaut --- : aucun protocole, donc aucune session en cours ;
  • les colonnes Outside sont vides : personne ne communique.

C'est la marque de la NAT statique : l'entrée existe en permanence, même sans trafic. Une entrée dynamique n'apparaît que pendant une session active.

2. C'est le cœur de la PAT. Les postes 192.168.1.10 et 192.168.1.11 ont tous deux choisi le port source 1444 — un pur hasard, mais fréquent. Comme les deux sessions doivent partager la même adresse publique, la PAT incrémente le port du second en 1445, afin que chaque entrée reste unique.

C'est précisément ce port qui permettra, au retour, de savoir à quel poste interne remettre la réponse.

3. Le port de destination 53 en UDP vers 8.8.8.8 : c'est une requête DNS.

4. Deux : 209.165.201.5 pour le serveur en statique, et 209.165.200.225 partagée par tous les postes en PAT.

🧰 Les ports courants à reconnaître
80 / TCPHTTP 53 / UDPDNS
443 / TCPHTTPS 67-68 / UDPDHCP
22 / TCPSSH 25 / TCPSMTP
23 / TCPTelnet 21 / TCPFTP

Lire une table NAT, c'est aussi lire l'activité du réseau : on voit qui fait quoi.

05Dépannage

5Quatre pannes Exigeant

  1. La configuration semble complète, mais show ip nat translations reste vide et aucun poste ne sort.
  2. La table se remplit, mais seuls trois postes sur quarante accèdent à Internet.
  3. Le serveur web interne est joignable depuis le LAN, mais pas depuis Internet.
  4. Tout fonctionnait ; après une modification, show ip nat statistics affiche des misses qui augmentent et zéro hit.
✅ Correction

1 — Table vide

Cause : ip nat inside ou ip nat outside est manquant — ou, plus vicieux, les deux sont inversés.

Cisco IOS
R2# show ip nat statistics

Outside interfaces:  Serial0/1/0        ← doit être l'interface vers INTERNET
Inside interfaces:   FastEthernet0/0    ← doit être l'interface vers le LAN

Si ces deux lignes sont vides ou échangées, le routeur ne sait pas dans quel sens traduire, et n'applique rien. Aucun message d'erreur n'est produit.

2 — Trois postes sur quarante

Cause : NAT dynamique avec un pool de trois adresses, et le mot-clé overload manquant. Chaque poste monopolise une adresse publique pour toute la durée de sa session.

Cisco IOS
R2(config)# no ip nat inside source list 1 pool NAT-POOL1
R2(config)# ip nat inside source list 1 pool NAT-POOL1 overload
R2# clear ip nat translation *

3 — Serveur injoignable depuis Internet

Cause : il n'y a pas de NAT statique pour ce serveur — seulement de la PAT pour le trafic sortant.

La PAT ne crée une entrée que lorsqu'une machine interne émet. Un client externe qui contacte l'adresse publique arrive sur un routeur qui n'a aucune entrée correspondante : il ne sait pas à qui remettre le paquet et le rejette.

Cisco IOS
! exposer le serveur avec une adresse publique dédiée
R2(config)# ip nat inside source static 192.168.10.254 209.165.201.5

! ou, si l'on n'a qu'une adresse publique : rediriger un seul port
R2(config)# ip nat inside source static tcp 192.168.10.254 80 209.165.200.225 80
🌍 C'est la « redirection de port » de votre box

La seconde commande est exactement ce que fait l'interface d'une box quand on « ouvre un port » pour héberger un serveur de jeu ou un NAS. On dit au routeur : « tout ce qui arrive sur le port 80 de mon adresse publique, envoie-le à cette machine-là ».

C'est aussi l'illustration concrète de l'inconvénient « perte de la fonctionnalité de bout en bout » : sans cette configuration manuelle, une machine derrière une NAT est invisible depuis Internet.

4 — Des misses, aucun hit

Cause : l'ACL ne sélectionne plus le trafic, ou le nom du pool ne correspond plus — souvent une différence de casse introduite lors de la modification.

Cisco IOS
R2# show access-lists
    10 matches            ← si le compteur reste à 0, l'ACL ne voit pas le trafic

R2# show running-config | include nat
    ip nat pool NAT-POOL1 ...
    ip nat inside source list 1 pool nat-pool1     ← ⚠ casse différente !
🧰 Hits et misses, ce que ça veut dire
  • Hit — un paquet a été traduit avec succès.
  • Miss — un paquet aurait dû être traduit, mais aucune traduction n'a pu être créée : plus d'adresse dans le pool, ou pool introuvable.

Des misses qui grimpent sans aucun hit désignent presque toujours un pool inaccessible. Des misses avec beaucoup de hits désignent un pool épuisé — il manque overload.

⚡ Les erreurs qui coûtent le plus de points

  • Oublier ip nat inside / ip nat outside, ou les inverser.
  • Oublier overload — le pool s'épuise et tout le monde attend.
  • Se tromper de casse sur le nom du pool.
  • Écrire un masque de sous-réseau dans l'ACL au lieu du masque générique.
  • Croire qu'une PAT rend un serveur joignable — il faut une NAT statique ou une redirection de port.
  • Oublier netmask dans ip nat pool.

Sources exploitées

  • 5-cours_NAT.pdf — le professeur
  • 5-1-TP-Config Dynamic and Static NAT.pdf
  • 5-2-packet-tracer — configure PAT
  • 5-3-Packet Tracer — Verifying and Troubleshooting NAT Configurations