Project Oxygen & Ideo-LabIDEO LAB Dashboard 2026

🔄 NAT – Translation d'Adresse (PAT, DNAT & iptables)

Guide complet IDEO-Lab sur la translation d'adresses (Couche 3), pilier d'IPv4.

1.1

Définition & Objectif

Network Address Translation. Épuisement IPv4.

NAT IPv4 Routeur
1.2

IP Privées (RFC 1918)

192.168.0.0/16, 172.16.0.0/12, 10.0.0.0/8.

RFC 1918 IP Privée
1.3

IP Publiques

Uniques, routables sur Internet, assignées par le FAI.

IP Publique WAN
2.1

NAT Statique (1-to-1)

1 IP Publique <-> 1 IP Privée. (Serveurs).

Statique 1-to-1
2.2

NAT Dynamique (Many-to-Many)

Pool d'IP Privées -> Pool d'IP Publiques. (Legacy).

Dynamique Pool
2.3

PAT / NAPT (Overload)

Many-to-One. (99% des usages). Utilise les Ports (L4).

PAT NAPT Masquerading
3.1

Table d'état NAT

Suivi des connexions (IP:Port <-> IP:Port).

Stateful Table NAT
3.2

Port Forwarding (DNAT)

NAT Entrant. (IP Pub:Port -> IP Priv:Port).

Port Forwarding DNAT
3.3

vs. Proxy & VPN

NAT (L3/L4) vs Proxy (L7) vs VPN (Tunnel).

Proxy VPN
4.1

ProblĂšmes (Protocoles)

Rupture End-to-End, ProblĂšmes (FTP, SIP, IPsec AH).

End-to-End FTP SIP
4.2

Solution : ALG

Application Layer Gateway. "NAT intelligent" L7.

ALG Firewall
4.3

Solution : NAT-Traversal

IPsec (UDP 500/4500), STUN/TURN (VoIP/WebRTC).

NAT-T STUN UDP 4500
5.1

Outil : iptables (Linux)

Table `nat` (POSTROUTING, PREROUTING).

iptables Linux Netfilter
5.2

iptables : MASQUERADE

La cible PAT (SNAT) pour IP Publique dynamique (eth0).

MASQUERADE POSTROUTING
5.3

iptables : DNAT

La cible Port Forwarding (PREROUTING).

DNAT PREROUTING
1.1 Définition & Objectif
Le "Traducteur" d'Adresses

NAT (Network Address Translation), ou "Translation d'Adresse RĂ©seau", est une fonction (gĂ©nĂ©ralement exĂ©cutĂ©e par un routeur ou un firewall) qui modifie (réécrit) les informations d'adressage IP (Source ou Destination) dans l'en-tĂȘte d'un paquet IP (Couche 3) lorsqu'il traverse la frontiĂšre entre deux rĂ©seaux (typiquement, le LAN et le WAN).

Il agit comme un traducteur, permettant à des appareils utilisant des adresses IP "privées" (non-routable) de communiquer avec des appareils sur "Internet" (IP publiques).

La Raison d'Être : L'Épuisement d'IPv4

Le protocole IPv4 (ex: 80.1.2.3) utilise des adresses 32 bits, offrant un maximum de ~4.3 milliards d'adresses uniques.

Dans les années 1990, il est devenu évident que ce ne serait pas suffisant pour connecter tous les appareils (PC, téléphones, serveurs) de la planÚte. L'épuisement officiel des blocs a eu lieu dans les années 2010.

Le NAT a été inventé comme une solution (un "pansement") pour permettre à des centaines d'appareils (un LAN d'entreprise) de partager une seule adresse IP publique, économisant ainsi massivement l'espace d'adressage IPv4.

1.2 Adressage : IP Privées (RFC 1918)

Pour que le NAT fonctionne, l'IETF a réservé (dans le RFC 1918) des plages d'adresses spécifiques pour un usage privé (LAN). Ces adresses sont non-routables sur l'Internet public.

Plage (Classe)Préfixe CIDRUsage typique
10.0.0.0 Ă  10.255.255.25510.0.0.0/8 (16.7M adresses)Grandes entreprises (Classe A).
172.16.0.0 Ă  172.31.255.255172.16.0.0/12 (1M adresses)Entreprises (Classe B), AWS VPC.
192.168.0.0 à 192.168.255.255192.168.0.0/16 (65k adresses)Réseaux domestiques, TPE (Classe C).
Adresse Spéciale (Loopback & APIPA)
  • Loopback (127.0.0.1) : "localhost". Fait rĂ©fĂ©rence Ă  votre propre machine.
  • APIPA (169.254.0.0/16) : Adresse d'auto-assignation si un appareil ne parvient pas Ă  contacter un serveur DHCP.
1.3 Adressage : IP Publiques

Une Adresse IP Publique est une adresse qui n'est pas dans les plages RFC 1918. Elle est :

  • Unique au monde (Ă  un instant T).
  • Routable sur l'Internet global.
  • AssignĂ©e par votre FAI (ISP), qui la loue lui-mĂȘme Ă  un RIR (ex: RIPE en Europe).
Statique vs. Dynamique
  • Dynamique : (Particuliers) Le FAI vous assigne une IP (souvent via DHCP) qui peut changer (ex: Ă  chaque redĂ©marrage de la box).
  • Statique (Fixe) : (Entreprises) Le FAI vous garantit une IP qui ne change jamais. C'est obligatoire pour hĂ©berger un serveur (Web, Email, VPN) car les enregistrements DNS doivent pointer vers une adresse stable.
2.1 NAT Statique (1-to-1)

Le NAT Statique crée un mappage permanent (1-to-1) entre une adresse IP publique et une adresse IP privée.

Usage : Hébergement de Serveurs

Utilisé lorsque vous possédez un "bloc" d'IP publiques de votre FAI et que vous souhaitez dédier une IP publique à un serveur interne (ex: serveur de messagerie).

Table de NAT Statique (Exemple)
IP Publique (WAN)IP Privée (DMZ)Service
80.1.2.100172.16.1.10Serveur Web
80.1.2.101172.16.1.11Serveur Mail (MX)
80.1.2.102172.16.1.12Serveur VPN

Le firewall translate automatiquement tout le trafic (tous les ports) Ă  destination de 80.1.2.100 vers 172.16.1.10.

C'est différent du Port Forwarding (DNAT), qui mappe des *ports* spécifiques d'une seule IP publique.

2.2 NAT Dynamique (Many-to-Many)

(Historique / Moins courant) Le NAT Dynamique mappe un pool d'IP privées à un pool (plus petit) d'IP publiques.

Fonctionnement (Premier arrivé, premier servi)
  • Pool PrivĂ© : 192.168.1.0/24 (254 utilisateurs)
  • Pool Public : 80.1.2.100 Ă  80.1.2.150 (51 IP)
  1. User 1 (192.168.1.10) se connecte. Le routeur lui assigne 80.1.2.100.
  2. User 2 (192.168.1.11) se connecte. Le routeur lui assigne 80.1.2.101.
  3. ...
  4. User 52 (192.168.1.61) se connecte. Le routeur n'a plus d'IP publique disponible.
  5. User 52 est bloqué (ne peut pas accéder à Internet).

Ce type de NAT n'est plus utilisé car il est inefficace. Il a été remplacé par le PAT (NAT Overload).

2.3 PAT / NAPT (Surcharge NAT) (Le Standard)

PAT (Port Address Translation) ou NAPT (Network Address Port Translation), aussi appelé NAT Overload ou Masquerading, est le type de NAT utilisé par 99% des réseaux (y compris votre Box Internet).

Il permet à plusieurs (Many) IP privées (ex: 65 000) de partager une seule (One) IP publique.

Le Secret : Les Ports (Couche 4)

Le routeur ne se contente pas de translater l'IP (L3), il translate aussi le Port Source (L4) pour suivre les connexions (sessions).

Exemple de Flux
IP Publique du Routeur : 80.1.2.3

--- 1. RequĂȘte de PC A ---
De: 192.168.1.50:12345 (Port Source aléatoire)
Vers: Google (8.8.8.8):443

--- 2. RequĂȘte de PC B ---
De: 192.168.1.60:54321
Vers: Netflix (52.1.2.3):443

--- 3. Le Routeur (NAT) réécrit et envoie ---
Paquet A:
  De: 80.1.2.3:60001 (Nouveau Port Source)
  Vers: 8.8.8.8:443
Paquet B:
  De: 80.1.2.3:60002 (Nouveau Port Source)
  Vers: 52.1.2.3:443

--- 4. Quand Google répond à 80.1.2.3:60001 ---
Le routeur consulte sa table (voir 3.1) et sait
qu'il doit renvoyer le paquet Ă  192.168.1.50:12345.
3.1 Table d'état NAT (Stateful)

Le PAT (NAT Overload) (voir 2.3) fonctionne car le routeur est Stateful : il mémorise chaque session sortante dans une Table d'état NAT (ou "State Table").

Exemple de Table d'État (SimplifiĂ©e)
Interne (Source)Destination (WAN)Traduction (Source NAT)État
192.168.1.50:123458.8.8.8:44380.1.2.3:60001ESTABLISHED
192.168.1.60:5432152.1.2.3:44380.1.2.3:60002ESTABLISHED
Flux (Entrant)
  1. Un paquet arrive sur le routeur (WAN).
  2. Source : 8.8.8.8:443, Destination : 80.1.2.3:60001
  3. Le routeur consulte sa table d'état.
  4. Match ! Il sait que 80.1.2.3:60001 correspond Ă  192.168.1.50:12345.
  5. Il réécrit l'IP/Port de destination et envoie le paquet sur le LAN.

Si un paquet arrive sur le port 80.1.2.3:55555 (non sollicité), la table n'a pas d'entrée, le paquet est bloqué (Implicit Deny). C'est pour cela que le NAT agit comme un firewall basique.

3.2 Port Forwarding (Destination NAT / DNAT)

Le NAT/PAT (Source NAT) gĂšre le trafic sortant (LAN -> WAN). Mais comment un utilisateur Internet (WAN) peut-il initier une connexion vers un serveur (LAN) ?

Réponse : Port Forwarding (Redirection de Port), aussi appelé DNAT (Destination NAT).

L'Ouverture de Port

C'est une rĂšgle statique configurĂ©e sur le routeur qui dit : "Tout trafic arrivant sur mon IP publique, sur un port spĂ©cifique, doit ĂȘtre réécrit et redirigĂ© vers une IP privĂ©e spĂ©cifique."

Exemple de RĂšgles (Box Internet)
NomProtocolePort Externe (WAN)IP Interne (LAN)Port Interne
Serveur WebTCP80192.168.1.10080
Serveur Web (S)TCP443192.168.1.100443
Jeu (Minecraft)TCP25565192.168.1.5025565
SSH (Admin)TCP2222192.168.1.5022

Dans le dernier exemple (translation de port), l'admin se connecte Ă  80.1.2.3:2222, et le routeur le redirige vers 192.168.1.50:22.

3.3 Distinction : NAT vs. Proxy vs. VPN

Ces trois technologies masquent l'IP, mais sont fondamentalement différentes.

CritĂšreNAT (PAT)Proxy (HTTP)VPN (Tunnel)
Niveau OSICouche 3/4 (Réseau/Transport)Couche 7 (Application)Couche 3/4 (Encapsulation)
FonctionTraducteur (IP/Port)Médiateur (Intermédiaire)Tunnel (Encapsulation)
Conscience (Client)Transparent (Client l'ignore)Conscient (Client doit ĂȘtre configurĂ©)Conscient (Client doit lancer un logiciel)
ProtocoleAgnostique (Tout trafic IP)Spécifique (HTTP, SOCKS)Agnostique (Tout trafic IP)
ChiffrementNon (par défaut)Non (par défaut)Oui (Objectif principal)
4.1 ProblÚmes Causés par le NAT

Le NAT est un "hack" qui casse le principe "end-to-end" d'Internet (l'idée que chaque appareil peut initier une connexion vers un autre).

Un serveur sur Internet ne peut pas initier une connexion vers un PC (192.168.1.50) caché derriÚre un NAT.

Protocoles "Cassés" par le NAT

Le NAT pose problĂšme aux protocoles qui (1) ne sont pas TCP/UDP, ou (2) qui intĂšgrent des informations IP/Port dans leur charge utile (Payload L7).

  • IPsec (AH) : (Voir 3.2 du guide VPN) Le mode AH signe l'en-tĂȘte IP. Le NAT modifie l'en-tĂȘte IP. La signature devient invalide et le paquet est rejetĂ©.
  • FTP (Mode Actif) : Le client (derriĂšre NAT) dit au serveur : "Connecte-toi Ă  moi sur 192.168.1.50, port 5000". Le serveur FTP (sur Internet) ne peut pas router vers cette IP privĂ©e.
  • VoIP (SIP) : Le protocole SIP (initiation d'appel) envoie la "prochaine" adresse de connexion (ex: 192.168.1.50:9000) dans le payload L7. L'autre partie ne peut pas joindre cette IP.
4.2 Solution : ALG (Application Layer Gateway)

Un ALG est une fonction "intelligente" d'un firewall/routeur qui effectue une Inspection Profonde (DPI) pour "réparer" les protocoles cassés par le NAT.

Exemple (ALG pour FTP)
  1. Le firewall (avec ALG) inspecte le trafic FTP (Port 21).
  2. Il détecte la commande "Active Mode" du client : PORT 192.168.1.50:5000.
  3. L'ALG réécrit le paquet à la volée : PORT 80.1.2.3:60003 (son IP publique).
  4. Il crée une rÚgle NAT/ACL temporaire (DNAT) pour autoriser le serveur FTP à se connecter à 80.1.2.3:60003.

ProblÚme : Les ALGs sont complexes et causent souvent plus de problÚmes qu'ils n'en résolvent (surtout avec SIP), et sont inutiles si le trafic est chiffré (le firewall ne peut pas lire le payload).

4.3 Solution : NAT Traversal (NAT-T)

Ce sont des techniques (cÎté client/serveur) pour "traverser" le NAT sans avoir besoin d'un ALG.

NAT-T (IPsec)

ProblÚme : Le protocole ESP (IP 50) est bloqué par les PATs.

Solution : Les deux extrémités du VPN (lors de IKE sur UDP 500) détectent qu'il y a un NAT. Elles décident alors d'encapsuler tout le trafic ESP (normalement L3) à l'intérieur de paquets UDP (Port 4500).

Le routeur NAT ne voit que du trafic UDP normal (80.1.2.3:4500) et le laisse passer.

STUN / TURN (VoIP, WebRTC)

Utilisé par les applications (Zoom, Teams, jeux) pour gérer le NAT.

  • STUN : Un protocole simple. Le client (PC A) contacte un serveur STUN sur Internet. Le serveur STUN rĂ©pond : "Voici l'IP:Port publique (80.1.2.3:60001) que je vois, c'est ton adresse NATĂ©e." PC A peut alors envoyer cette IP publique Ă  PC B.
  • TURN : (Plan B si STUN Ă©choue, ex: NAT SymĂ©trique). Le trafic est relayĂ©. PC A envoie Ă  TURN, TURN envoie Ă  PC B. (CoĂ»teux en bande passante).
5.1 Outil : iptables (Linux)

Sur Linux, le NAT est géré par Netfilter (le framework firewall du noyau). On le configure avec l'outil iptables et sa table spécifique : -t nat.

La Table nat

Cette table contient des "chaßnes" (chains) qui s'appliquent à différents moments du traitement d'un paquet.

ChaĂźneMomentUsage
PREROUTINGDÚs réception (Avant Routage)DNAT (Port Forwarding). (Modifier la destination).
POSTROUTINGJuste avant de sortir (AprĂšs Routage)SNAT / MASQUERADE (Modifier la source).
OUTPUTTrafic généré localement(Usage rare).
5.2 iptables : PAT / Masquerading (Sortant)

C'est la rĂšgle pour transformer un PC Linux en "Routeur Internet" (PAT / NAT Overload).

Cible : MASQUERADE

Utilise la chaĂźne POSTROUTING (car on modifie la source *aprĂšs* avoir dĂ©cidĂ© d'oĂč le paquet sort).

# Activer le routage (IP Forwarding)
sysctl -w net.ipv4.ip_forward=1

# Configurer la rĂšgle de NAT (PAT)
# -t nat : Utilise la table NAT
# -A POSTROUTING : Ajoute Ă  la chaĂźne POSTROUTING
# -o eth0 : S'applique au trafic sortant sur l'interface WAN (eth0)
# -j MASQUERADE : Cible = "Masque" le trafic avec l'IP de eth0
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

MASQUERADE est idéal pour les IP publiques dynamiques (FAI).

Cible : SNAT

Si vous avez une IP publique statique (ex: 80.1.2.3), utilisez SNAT (plus efficace) :

iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 80.1.2.3
5.3 iptables : Port Forwarding (Entrant)

C'est la rĂšgle de DNAT (Destination NAT). Elle utilise la chaĂźne PREROUTING (car on modifie la destination *avant* que le routeur ne dĂ©cide oĂč l'envoyer).

Cible : DNAT
# Activer le routage
sysctl -w net.ipv4.ip_forward=1

# 1. RĂšgle DNAT (Rediriger le port 80 vers un serveur web interne)
# -i eth0 : Trafic entrant sur l'interface WAN
# -p tcp --dport 80 : Port 80
# -j DNAT --to-destination 192.168.1.100:80
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 \
         -j DNAT --to-destination 192.168.1.100:80

# 2. RĂšgle Firewall (OBLIGATOIRE)
# (Autoriser ce trafic (maintenant destiné à 192.168.1.100)
#  Ă  ĂȘtre "forwardĂ©" (routĂ©) vers le LAN)
iptables -A FORWARD -i eth0 -o eth1 -p tcp --dport 80 \
         -d 192.168.1.100 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
Cheat-sheet : Comparatif des types de NAT
TypeNom TechniqueDirectionRatio (Public:Privé)Usage
PAT (Overload)Source NAT (SNAT) / MasqueradingSortant (LAN -> WAN)1-to-Many99% des usages (Box Internet, Entreprise). Permet au LAN d'accéder à Internet.
Static NATStatic NATEntrant / Sortant1-to-1Héberger un serveur (ex: Mail) qui nécessite sa propre IP publique dédiée.
Port ForwardingDestination NAT (DNAT)Entrant (WAN -> LAN)1 (Port) to 1 (Port)Héberger un service (Jeu, Web) quand on n'a qu'une seule IP publique.
Dynamic NATDynamic NATSortantMany-to-Many (Pool)(ObsolĂšte) Partage d'un pool d'IP (plus petit que le LAN).