NAT statique ou dynamique, quelle différence ?

I. Présentation

Dans ce tutoriel, nous allons voir la différence entre les termes NAT statique et NAT dynamique, je ne reviendrais pas sur ce qu'est le NAT car c'est une notion déjà largement documentée sur le net, le site technet de Microsoft l'explique par exemple très bien : http://technet.microsoft.com/fr-fr/library/cc753373%28v=ws.10%29.aspx


II. NAT statique

On va parler de NAT ou de translation d'adresse statique quand il s'agit d'effectuer une conversion des paquets d'un point à un autre de façon constante et systématique. Un point peut être une IP, on va alors dire au routeur que tous les paquets arrivant sur une IP externe donnée seront à traduire pour être transmis à une IP interne. On peut également identifier un point comme étant une IP et un ou plusieurs port(s) préci(s). Certains paquets avec pour port de destination un certain port vont alors être redirigés vers une certaine IP interne et les paquets avec un autre port ne seront pas redirigés ou alors vers une autre machine.

Note : Techniquement, le routeur va, à la réception d'un paquet depuis l'extérieur, modifier le champ "IP destination" qui va passer de l'IP externe du routeur à l'IP du serveur en interne, c'est ici qu'agit la translation d'adresse. On peut également parler de NAT de destination.

On effectue donc une association entre une IP dite publique (externe) et une IP privée (interne) pour tout ou partie des ports sur lesquels arrivent les paquets sur l'interface "publique" ou externe du routeur. Voici l'illustration d'un routage statique "un à un", c'est à dire une association IP à IP de tous les ports du routeur coté public vers une IP privée :

NATSD01

Le NAT statique permet donc de rendre une machine présente dans un LAN ou une DMZ disponible depuis internet. Cela ne va pas dans le sens premier de la création du NAT qui est d'économiser des adresses IPv4 car l'association d'une IP publique vers une IP privée est en un à un. On parle également de redirection de port lorsque l'on va rediriger uniquement un port de l'IP externe vers un port (le même ou un autre) d'une IP interne. Si l'on décide de faire une redirection du port 80 vers notre serveur web en DMZ, on va dire au routeur que toutes les requêtes ayant pour port destination le port 80 (HTTP) seront à réécrire pour aller vers l'IP de notre serveur web qui est en interne.

III. NAT dynamique

La translation d'adresse dynamique fonctionne elle dans l'autre sens et c'est le but premier de la création du NAT. Il permet de mettre, aux yeux des éléments qui sont du coté de l'interface externe, un ensemble de machine derrière une ou plusieurs IPs. Si l'on dispose par exemple d'une plage IP de 8 adresses comme 100.0.0.0/29 sur internet mais que l'on a 500 machines dans notre LAN, nous ne pourrons pas les rendre toutes disponibles sur internet en même temps car à force il n'y aurait plus assez d'adresses IPv4 (il n'en reste déjà plus !). Le NAT dynamique va alors nous permettre de traduire les 500 adresses IP internes dans le lot des 8 adresses que nous avons sur internet. Cela est dit "dynamique" car le routeur vont utiliser dynamiquement différentes correspondances IP:ports pour faire suivre les paquets et les échanges qui transitent sur les translations interne <-> externe.

Note : Le NAT dynamique dans son utilisation courante peut également être appelé NAT de source car on va effectuer une translation d'adresse (un changement d'information dans les paquets IP) de l'adresse source des paquets, les faisant passer des IPs internes vers l'IP externe du routeur.

Le routeur va alors avoir une table de translation qui va être générée via un mécanisme de PAT (Port Address Translation), on va affecter un échange depuis une IP interne vers externe à un port sur l'interface externe. Nous allons prendre un exemple avec une seule adresse IP externe et trois postes situés dans le LAN. Si les trois postes décident d'aller sur internet. Le routeur va enregistrer que l'IP interne 192.168.10.3 va être translatée en 100.0.0.1:9001 (par exemple), le second échange sera translaté en 100.0.0.1:9002 pour les ports sources coté internet. Ainsi, quand la réponse d'internet reviendra sur le port 100.0.0.1:9001, le routeur saura qu'il faut renvoyer ces paquets vers 192.168.10.3. C'est une affectation, qu'elle soit par port ou par IP+port, qui est dynamique et éphémère car générée sur demande jusqu'à la fin d'un échange de paquet ou d'une connexion :

NATSD02

Nous avons donc bien un fonctionnement qui nous permet d'avoir plusieurs postes "se faisant passer" pour une seule IP coté internet, une correspondance IP_externe:port <--> IP interne est faite pour chaque requête à l'inverse du NAT statique ou une correspondance IP à IP ou IP:port à IP:port est faite de façon automatique et constante.

Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Partager sur Google+ Envoyer par mail

Mickael Dorigny

Fondateur d'IT-Connect.fr et d'Information-security.fr. Auditeur sécurité chez Amossys.

    mickael has 478 posts and counting.See all posts by mickael

    3 pensées sur “NAT statique ou dynamique, quelle différence ?

    • Je pense que lorsque vous parlez NAT dynamique, il s’agit en faite plutôt de NAT overload ou de PAT.

      Répondre
    • Exact le NAT dynamique est différent du PAT en réalité. Le NAT dynamique utilise un pool d’adresses publiques et les attribue selon la méthode du premier arrivé, premier servi.

      Répondre
    • bonjours à tous et merci et bonne journée

      Répondre

    Laisser un commentaire

    Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

     

    Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.