NAT Statique

1. Introduction à la NAT Statique

Le NAT statique (Network Address Translation) est la première méthode de traduction d’adresses IP que vous découvrirez.

Dans votre réseau interne, vous utilisez des adresses IP privées définies par la RFC 1918.
Ces adresses ne sont valables que localement et ne peuvent pas être acheminées sur l’internet.

NAT statique Schéma Cisco montrant une IP privée 192.168.1.5 traduite en IP publique pour l'accès à l'internet
Figure 1 – Static NAT lets a private IP communicate with the internet using a fixed public IP

Pour qu’un hôte privé puisse communiquer avec le monde extérieur, il a besoin d’une IP publique pour communiquer avec les appareils situés en dehors de votre réseau interne.

2. Pourquoi utiliser la NAT statique ?

Le NAT statique est utilisé lorsque vous souhaitez établir une correspondance 1 à 1 entre une adresse IP privée et une adresse IP publique.

Prenons un exemple :
Un serveur de votre réseau local possède l’adresse 192.168.1.5.
Il souhaite contacter le serveur DNS de Google : 8.8.8.8.

Lorsque le paquet atteint le routeur, il est bloqué.

Un paquet provenant de 192.168.1.5 est bloqué au niveau du routeur lorsqu'il tente d'atteindre 8.8.8.8, ce qui illustre la nécessité d'un NAT statique Cisco.
Figure 2 – Without NAT, the private IP 192.168.1.5 is blocked

Pourquoi ? Parce que l’adresse source est privée et ne peut donc pas être acheminée sur l’internet.
Le routeur doit donc appliquer la traduction d’adresse (NAT) pour permettre la communication.

Pour résoudre ce problème, nous mettons en œuvre une règle de NAT statique :

L’adresse privée 192.168.1.5 est associée à l’adresse publique 37.5.55.103.

Exemple de NAT statique Cisco montrant une IP privée 192.168.1.5 mappée à une IP publique 37.5.55.103 dans la table NAT
Figure 3 – Static NAT creates a 1-to-1 mapping between a private IP and a public IP

Comme le montre ce diagramme, le routeur configure une table NAT statique avec :

  • Inside Local : 192.168.1.5 (l’adresse IP privée interne)
  • Inside Global : 37.5.55.103 (l’adresse IP publique utilisée sur Internet)

Passons à la suite et voyons ce qui se passe en pratique lors d’une transmission !

3. NAT statique en action

Supposons que la NAT statique soit déjà configurée.

Lorsque le paquet est envoyé du serveur 192.168.1.5 au serveur DNS 8.8.8.8, il se produit ce qui suit :

Processus de NAT statique Cisco montrant l'IP 192.168.1.5 traduit en 37.5.55.103 avant d'atteindre 8.8.8.8
Figure 4 – The router uses a static NAT table to link 192.168.1.5 with 37.5.55.103
  • Le routeur identifie l’adresse source comme étant 192.168.1.5 (adresse privée).
  • Il applique la règle de NAT statique configurée.
  • Il remplace cette adresse par l’adresse publique 37.5.55.103.
  • Le paquet est ensuite transmis sur l’internet.

Lorsque le serveur DNS répond, le routeur effectue l’opération inverse :
il remplace l’adresse de destination 37.5.55.103 par 192.168.1.5, et le paquet retourne correctement à l’expéditeur initial.

4. Configurer le NAT statique

Voyons maintenant, étape par étape, comment configurer la NAT statique.

Définition des interfaces Inside et Outside

Première étape : vous devez indiquer au routeur les interfaces qui correspondent au réseau interne (privé) et celles qui correspondent au réseau externe (Internet).

NAT statique Configuration Cisco montrant ip nat inside sur l'interface G0/0 et ip nat outside sur l'interface G0/1
Figure 5 – The router must define which interface is inside and which is outside
  • Utilisez la commande ip nat inside sur l’interface connectée au réseau local.
  • Et la commande ip nat outside sur l’interface connectée à Internet.

Ces commandes permettent au routeur de faire la distinction entre le trafic privé et le trafic public, ce qui est une condition préalable au fonctionnement du NAT.

Configurer la règle de traduction

Une fois les interfaces configurées, la règle de traduction d’adresse peut être créée.

Explication de la commande ip nat inside source static avec les paramètres inside local et inside global
Figure 6 – The ip nat inside source static command maps a private IP to a public IP one-to-one

Prenez le temps de comprendre cette commande, et nous allons voir un exemple pratique ci-dessous.

Mise en pratique

Dans notre cas :

  • 192.168.1.5 est l’adresse IP privée du serveur interne (Inside Local)
  • 37.5.55.103 est l’adresse IP publique utilisée pour la traduction (Inside Global)
Exemple de traduction NAT statique montrant ip nat inside source static 192.168.1.5 37.5.55.103 appliqué au trafic sortant
Figure 7 – The router uses static NAT to replace 192.168.1.5 with 37.5.55.103 before sending the packet

Lorsque la réponse revient, le routeur effectue la traduction inverse à l’aide de sa table statique.

Traduction inverse NAT statique où l'IP de destination 37.5.55.103 est renvoyée à 192.168.1.5.
Figure 8 – When the reply comes back, the router maps 37.5.55.103 back to 192.168.1.5

Il reconnaît que l’adresse 37.5.55.103 est liée à 192.168.1.5 et modifie la destination IP pour transmettre le trafic à la bonne machine dans le réseau privé.

5. Vérifier la traduction NAT

Pour vous assurer que la NAT statique est en place et fonctionne correctement, vous pouvez utiliser la commande suivante sur le routeur :

Static NAT example showing a private IP 192.168.1.5 translated to public IP 37.5.55.103 accessing 8.8.8.8:80 through a router
Figure 9 – The show ip nat translations command displays current active and static NAT mappings.

Comme vous pouvez le voir dans l’image ci-dessus, le routeur affiche les traductions NAT actuellement actives.

  • La première ligne montre une session TCP active :
    L’IP privée 192.168.1.5 est traduite en IP publique 37.5.55.103 et communique avec 8.8.8.8 sur le port 80.
  • La deuxième ligne correspond à une règle statique persistante :
    Tout le trafic provenant de 192.168.1.5 est toujours traduit en 37.5.55.103, quel que soit le protocole.

Comprendre les 4 types d’adresses NAT

Pour bien comprendre la commande show ip nat translations, il est essentiel de connaître les quatre types d’adresses utilisés par le NAT.

Examinons l’exemple ci-dessous :

Diagramme expliquant les quatre types d'adresses NAT : local interne, global interne, local externe et global externe
Figure 10 – NAT uses four address types: inside local, inside global, outside global, and outside local

Voici ce que signifient ces 4 termes :

  • Inside Local
    Il s’agit de l’adresse IP privée de l’équipement sur votre réseau interne.
    → Dans notre exemple, il s’agit de 192.168.1.5.
  • Inside Global
    Il s’agit de l’adresse IP publique que le routeur utilise pour représenter l’hôte interne sur Internet.
    → Ici, le routeur traduit 192.168.1.5 en 37.5.55.103.
  • Outside Global
    Il s’agit de l’adresse IP réelle de la ressource distante sur Internet.
    → Dans ce cas, il s’agit du serveur Google : 8.8.8.8.
  • Outside Local
    Il s’agit de l’adresse que le routeur utilise pour représenter la ressource distante du point de vue du réseau interne.
    → Elle est très rarement utilisée dans des cas simples comme ici, mais peut apparaître dans des environnements d’entreprise plus complexes.
    Vous pouvez l’ignorer pour l’instant si vous débutez.

6. Les limites de la NAT statique

La NAT statique est utile dans deux cas courants :

  • Lorsqu’une adresse IP privée doit accéder à l’internet via une adresse IP publique fixe.
  • Lorsqu’un serveur interne, tel qu’un serveur web, doit être accessible de l’extérieur.

Cette solution présente toutefois plusieurs limites :

  • Elle nécessite une adresse IP publique pour chaque hôte interne, ce qui n’est pas viable à grande échelle.
  • Il ne peut pas être utilisé pour partager une adresse IP publique entre plusieurs appareils internes.

Quelle est la prochaine étape ? Vers un NAT dynamique

Pour surmonter ces limitations, la NAT dynamique offre une approche plus souple. Il traduit plusieurs adresses privées en un ensemble d’adresses publiques, en fonction des connexions actives.

In the next lesson, you’ll learn in detail how Dynamic NAT works