NAT (Network Address Translation)

Le NAT est un mécanisme réseau qui traduit les adresses IP (et parfois les ports) lors du passage d’un paquet d’un réseau à un autre. Il permet à des machines avec des adresses IP privées de communiquer avec Internet via une adresse IP publique partagée.

Problème résolu par le NAT

Les adresses IPv4 privées (RFC 1918) ne sont pas routables sur Internet :

Plage privéeTaille
10.0.0.0/816 millions d’adresses
172.16.0.0/121 million d’adresses
192.168.0.0/1665 000 adresses

Sans NAT, ces machines seraient isolées d’Internet. Le NAT fait office de traducteur entre le réseau privé et le monde extérieur.

Types de NAT

TypeDescriptionUsage typique
NAT Statique (1:1)Une adresse privée ↔ une adresse publique fixeServeurs exposés sur Internet (web, mail)
NAT DynamiquePool d’adresses publiques attribuées dynamiquement à la demandeEntreprises avec plusieurs IPs publiques
PAT / NAT OverloadPlusieurs adresses privées → 1 adresse publique, différenciées par le port sourceRésidences, PME, cloud (le plus courant)

Comment fonctionne le PAT (le cas le plus courant)

  1. La machine 192.168.1.10:5000 envoie une requête vers 8.8.8.8:53.
  2. Le routeur NAT traduit la source : 192.168.1.10:5000203.0.113.1:10500 (IP publique + port unique alloué).
  3. Il mémorise la correspondance dans sa table NAT (connexion suivie).
  4. La réponse arrive sur 203.0.113.1:10500 → le routeur retraduit vers 192.168.1.10:5000.

Le trafic initié depuis l’extérieur vers une IP privée est bloqué par défaut (pas d’entrée dans la table NAT) — c’est un effet de sécurité secondaire du NAT.

NAT dans le cloud AWS

ComposantRôleDirectionSous-réseau
NAT GatewayPermet aux instances privées d’accéder à InternetSortant uniquement (privé → Internet)Déployé dans le subnet public
NAT InstanceEC2 configurée comme NAT (legacy)Sortant uniquementSubnet public, géré manuellement
Internet Gateway (IGW)Accès Internet bidirectionnelEntrant + SortantSubnet public uniquement

Règle : un subnet privé → route 0.0.0.0/0 vers le NAT Gateway.
Un subnet public → route 0.0.0.0/0 vers l’IGW.

Exemple de configuration AWS

[Subnet privé 10.0.2.0/24]
  → Table de routage : 0.0.0.0/0 → nat-0abc123 (NAT Gateway dans subnet public)

[Subnet public 10.0.1.0/24]
  → Table de routage : 0.0.0.0/0 → igw-0xyz456 (Internet Gateway)
  → NAT Gateway déployé ici avec Elastic IP

En relation avec

  • Internet Gateway (IGW) — le NAT Gateway sort sur Internet via l’IGW ; ils sont complémentaires
  • Table de Routage — la route 0.0.0.0/0 → nat-gateway-id dans le subnet privé active le NAT
  • Forward Proxy vs NAT — comparaison détaillée entre ces deux mécanismes de masquage d’IP