La translation d'adresses : la NAT
1. Définition et but de la NAT
NAT (pour Network Address Translation, ou traduction d'adresses réseau en français) est un mécanisme qui permet de modifier l'adresse IP source ou destination d'un paquet réseau lorsqu'il traverse un dispositif (routeur, pare-feu, box Internet, etc.).
L'objectif principal de la NAT est de résoudre le problème du manque d'adresses IPv4 publiques (car l'espace d'adressage IPv4 est limité), tout en permettant à plusieurs machines d'un réseau privé d'accéder à Internet en utilisant une ou quelques adresses IP publiques seulement.
Ce mécanisme est donc systématiquement mis en oeuvre avec nos "box" internets.
Ces dernières recevant une adresse IP publique, doivent effectuer une translation afin que nos machines domestiques puissent recevoir les paquets selon l'adressage non routable (192.168.0.0/24 par exemple).
2. Fonctionnement général
Lorsqu'un paquet sort d'un réseau local (LAN) vers Internet, le dispositif qui opère la NAT va :
- Remplacer l'adresse IP privée source (du poste local) par une adresse IP publique (celle de la box, du routeur NAT, etc.).
- Tenir à jour une table de correspondance (NAT table) qui associe :
- L'adresse IP privée (et le port source)
- À l'adresse IP publique (et le port utilisé en sortie)
Lorsqu'un paquet de réponse revient de l'Internet vers l'adresse IP publique et un port spécifique, le dispositif NAT consulte sa table de correspondance pour retrouver la machine locale concernée et réécrit l'adresse IP de destination pour renvoyer le paquet vers l'adresse privée adéquate.
3. Typologies de NAT
Il existe plusieurs déclinaisons de la NAT en fonction des besoins :
3.1. Static NAT (NAT statique)
- Le routeur NAT mappe une IP privée à une IP publique de manière permanente.
- Utilisé lorsqu'on a besoin qu'un serveur local (web, mail, etc.) soit accessible depuis l'Internet avec une adresse publique dédiée.
- Moins courant que les autres types de NAT, car cela nécessite une IP publique pour chaque machine à rendre accessible.
3.2. Dynamic NAT (NAT dynamique)
- Permet de partager un pool d'adresses publiques entre plusieurs machines privées.
- À chaque nouvelle connexion sortante, le routeur NAT affecte une adresse publique disponible (parmi le pool).
- Lorsque la session se termine, l'adresse redevient disponible pour un autre hôte local.
3.3. PAT (Port Address Translation) ou NAT Overload
- Variante la plus courante de NAT pour la connexion à Internet.
- Permet à de nombreuses machines d'utiliser une seule adresse IP publique en jouant sur les ports.
- Lorsqu'un poste local ouvre une connexion, le routeur NAT substitue l'IP privée + port source par la même IP publique + un port externe unique (généré dynamiquement).
- Grâce à cette traduction d'adresse + port, le routeur NAT sait ensuite réassocier chaque trafic de retour à la machine d'origine.
4. Avantages et inconvénients
4.1. Avantages
- Économie d'adresses IPv4 : Permet de faire transiter plusieurs machines du réseau local à travers une (ou quelques) adresses IP publiques.
- Sécurité basique : Le réseau privé est masqué derrière l'adresse IP publique du routeur. Par défaut, l'extérieur ne peut pas initier de connexions directes vers les machines locales (tant qu'il n'y a pas de règles de redirection de port explicites).
- Administration simplifiée : Simplifie souvent la configuration des réseaux, notamment pour les petits réseaux d'entreprise ou les particuliers.
4.2. Inconvénients
- Complexité pour les services entrant : Rendre un service local accessible depuis l'extérieur implique de configurer des règles de redirection de ports (Port Forwarding - ou DNAT).
- Possibles problèmes de compatibilité : Certaines applications ou protocoles anciens (SIP, FTP passif/actif, etc.) nécessitent des modules ou des réglages spécifiques pour fonctionner derrière un NAT.
- Difficultés de traçabilité : Avec le partage d'IP publiques, il peut être difficile d'attribuer une action réseau à un utilisateur précis, car plusieurs machines utilisent la même adresse publique.
5. NAT et IPv6
Avec l'arrivée d'IPv6 (qui offre un très grand espace d'adressage), l'utilisation de la NAT n'est plus techniquement nécessaire pour pallier le manque d'adresses.
Cependant, certaines organisations continuent de l'utiliser pour des raisons de simplification ou de sécurité "perçue".
On parle également de NAT64 (traduction d'adresses IPv6 vers IPv4) ou de DS-Lite (Dual-Stack Lite), qui sont des mécanismes pour la transition entre IPv4 et IPv6.
6. Cas d'usages et configuration
6.1. Accès Internet pour un réseau local
- Cas le plus courant : tout un réseau local (LAN) doit accéder à Internet.
- Le routeur NAT/passerelle fournit l'adresse IP publique et opère une NAT (souvent du PAT/NAT Overload).
6.2. Hébergement d'un service local
- On dispose d'une machine (serveur web, par exemple) dans un réseau privé.
- On configure une NAT statique ou une redirection de ports (port forwarding) sur la box/routeur pour que la machine soit accessible depuis l'extérieur.
6.3. VPN et NAT
- Les connexions VPN (réseaux privés virtuels) traversent souvent un routeur NAT. On utilise des protocoles comme NAT-T (NAT traversal) pour encapsuler IPsec (par exemple) et passer à travers la traduction d'adresses.
7. Bonnes pratiques
- Utiliser des plages d'adresses privées appropriées : Plages telles que 10.0.0.0/8, 172.16.0.0/12 ou 192.168.0.0/16.
- Séparer services et postes utilisateurs : Par exemple, isoler un serveur local dans une zone DMZ pour renforcer la sécurité.
- Limiter le nombre de règles de port forwarding : N'ouvrir que les ports nécessaires pour les services que l'on souhaite rendre accessibles depuis l'extérieur.
- Tenir le firmware du routeur/pare-feu à jour : Pour corriger d'éventuelles failles de sécurité liées à la NAT et au pare-feu.
8. Conclusion
La NAT (Network Address Translation) est une technologie incontournable dans l'ère de l'IPv4. Elle a permis d'allonger la durée de vie de ce protocole en "cachant" des centaines, voire des milliers de machines derrière une ou quelques adresses IP publiques. Bien que les limitations d'IPv4 et l'essor d'IPv6 puissent progressivement réduire la dépendance à la NAT, ce mécanisme reste largement utilisé dans les réseaux domestiques, d'entreprise, ainsi que pour les services en ligne qui nécessitent des règles de routage et de sécurité particulières.
En résumé, la NAT permet :
- De masquer un réseau privé derrière une adresse IP publique.
- D'économiser les adresses IPv4.
- De renforcer la sécurité basique.
- De nécessiter des configurations particulières pour les services entrants.
Comprendre la NAT et savoir la configurer est essentiel pour tout administrateur réseau, tant pour des petites installations domestiques que pour de grands déploiements d'entreprise.
Pour aller plus loin
- Se familiariser avec la configuration de la NAT sur des équipements Cisco (IOS) ou sur des systèmes pare-feu (pfsense, iptables sous Linux, etc.).
- Approfondir les mécanismes de NAT 64, NAT 46 et DS-Lite pour la transition IPv4/IPv6.
Exercices de NAT à effectuer sur Packet Tracer
Pour aller un peu plus loin sans trop de complexité dans les exercices précédents, on pourra par exemple :
- Ajouter un serveur DHCP sur le LAN, qui distribuera les adresses IP, passerelle et DNS
- Ajouter un serveur DNS en interne, ou bien configurer un DNS externe simulé du côté ISP