Comment Ca Marche - Communauté informatique  
   
Accueil - Encyclopédie informatiqueTélécharger l'encyclopédieContribuer à cet article

Protection - Translation d'adresses (NAT)

NAT - Translation d'adresses Encyclopédie


Principe du NAT

Le mécanisme de translation d'adresses (en anglais Network Address Translation noté NAT) a été mis au point afin de répondre à la pénurie d'adresses IP avec le protocole IPv4 (le protocole IPv6 répondra à terme à ce problème).

En effet, en adressage IPv4 le nombre d'adresses IP routables (donc uniques sur la planète) n'est pas suffisant pour permettre à toutes les machines le nécessitant d'être connectées à internet.

Le principe du NAT consiste donc à utiliser une passerelle de connexion à internet, possédant au moins une interface réseau connectée sur le réseau interne et au moins une interface réseau connectée à Internet (possédant une adresse IP routable), pour connecter l'ensemble des machines du réseau.

Passerelle NAT

Il s'agit de réaliser, au niveau de la passerelle, une translation (littéralement une « traduction ») des paquets provenant du réseau interne vers le réseau externe.

Ainsi, chaque machine du réseau nécessitant d'accéder à internet est configurée pour utiliser la passerelle NAT (en précisant l'adresse IP de la passerelle dans le champ « Gateway » de ses paramètres TCP/IP). Lorsqu'une machine du réseau effectue une requête vers Internet, la passerelle effectue la requête à sa place, reçoit la réponse, puis la transmet à la machine ayant fait la demande.

Principe de la translation d'adresse

Étant donné que la passerelle camoufle complètement l'adressage interne d'un réseau, le mécanisme de translation d'adresses permet d'assurer une fonction de sécurisation. En effet, pour un observateur externe au réseau, toutes les requêtes semblent provenir de l'adresse IP de la passerelle.

Espaces d'adressage

L'organisme gérant l'espace d'adressage public (adresses IP routables) est l'Internet Assigned Number Authority (IANA). La RFC 1918 définit un espace d'adressage privé permettant à toute organisation d'attribuer des adresses IP aux machines de son réseau interne sans risque d'entrer en conflit avec une adresse IP publique allouée par l'IANA. Ces adresses dites non-routables correspondent aux plages d'adresses suivantes :

  • Classe A : plage de 10.0.0.0 à 10.255.255.255 ;
  • Classe B : plage de 172.16.0.0 à 172.31.255.255 ;
  • Classe C : plage de 192.168.0.0 à 192.168.255.55 ;
Toutes les machines d'un réseau interne, connectées à internet par l'intermédiaire d'un routeur et ne possédant pas d'adresse IP publique doivent utiliser une adresse contenue dans l'une de ces plages. Pour les petits réseaux domestiques, la plage d'adresses de 192.168.0.1 à 192.168.0.255 est généralement utilisée.

Translation statique

Le principe du NAT statique consiste à associer une adresse IP publique à une adresse IP privée interne au réseau. Le routeur (ou plus exactement la passerelle) permet donc d'associer à une adresse IP privée (par exemple 192.168.0.1) une adresse IP publique routable sur Internet et de faire la traduction, dans un sens comme dans l'autre, en modifiant l'adresse dans le paquet IP.

La translation d'adresse statique permet ainsi de connecter des machines du réseau interne à internet de manière transparente mais ne résout pas le problème de la pénurie d'adresse dans la mesure où n adresses IP routables sont nécessaires pour connecter n machines du réseau interne.

Translation dynamique

Le NAT dynamique permet de partager une adresse IP routable (ou un nombre réduit d'adresses IP routables) entre plusieurs machines en adressage privé. Ainsi, toutes les machines du réseau interne possèdent virtuellement, vu de l'extérieur, la même adresse IP. C'est la raison pour laquelle le terme de « mascarade IP » (en anglais IP masquerading) est parfois utilisé pour désigner le mécanisme de translation d'adresse dynamique.

Afin de pouvoir « multiplexer » (partager) les différentes adresses IP sur une ou plusieurs adresses IP routables le NAT dynamique utilise le mécanisme de translation de port (PAT - Port Address Translation), c'est-à-dire l'affectation d'un port source différent à chaque requête de telle manière à pouvoir maintenir une correspondance entre les requêtes provenant du réseau interne et les réponses des machines sur Internet, toutes adressées à l'adresse IP du routeur.

Port Forwarding

La translation d'adresse ne permet de relayer que des requêtes provenant du réseau interne vers le réseau externe, ce qu'il signifie qu'il est impossible en tant que tel pour une machine externe d'envoyer un paquet vers une machine du réseau interne. En d'autres termes, les machines du réseau interne ne peuvent pas fonctionner en tant que serveur vis-à-vis de l'extérieur.

Pour cette raison, il existe une extension du NAT appelée « redirection de port » (en anglais Port Forwarding ou Port mapping) consistant à configurer la passerelle pour transmettre à une machine spécifique du réseau interne, tous les paquets réçus sur un port particulier. Ainsi, si l'on souhaite pouvoir accéder de l'extérieur à un serveur web (port 80) fonctionnant sur la machine 192.168.1.2, il sera nécessaire de définir une règle de redirection de port sur la passerelle, redirigeant tous les paquets TCP reçus sur son port 80 vers la machine 192.168.1.2.

Port Triggering

La plupart des applications client-serveur effectuent une requête sur un hôte distant sur un port donné et ouvrent un port en retour pour récupérer les données. Néanmoins, certaine applications utilisent plus d'un port pour échanger des données avec le serveur, c'est le cas par exemple du FTP, pour lequel une connexion est établie par le port 21, mais les données sont transférées par le port 20. Ainsi, avec le mécanisme NAT, après une demande de connexion sur le port 21 d'un serveur FTP distant, la passerelle attend une connexion sur un seul port et refusera la demande de connexion au port 20 du client.

Il existe un mécanisme dérivé du NAT, appelé « déclenchement de port » (en anglais port triggering), permettant d'autoriser la connexion à certains ports (port forwarding) si une condition (requête) est remplie. Il s'agit donc d'une redirection de port conditionnelle, permettant de ne pas laisser ouvert un port en permanence, mais uniquement lorsqu'une application en a besoin.

Plus d'informations

Pour plus d'information il est conseillé de se reporter à à cet autre article, consacré à la translation d'adresse :

Les RFC 1918 et 3022 (en anglais) décrivent en détail le principe d'espace d'adressage interne et de translation d'adresses :

Article écrit par Jean-François PILLOU

Trucs & astuces pertinents trouvés dans la base de connaissances

05/02 17h42 Configurer le mode "Routeur" de la Freebox (Free)
23/01 15h20 Les différents types de réseau VMWare (Logiciels)
NAT Plus d'astuces sur « NAT »

Discussions pertinentes trouvées dans le forum

23/05 10h59 nat switch 3750 NAT sur switch 3750?? Réseaux 31/05 10h56->brupala7
30/10 01h32 jeux reseau via routeur nat Jeux en reseau via un routeur NAT Réseaux 21/02 20h31->jfnoe5
24/01 18h15 nat ip NAT et IP Réseaux 25/01 00h11->brupala5
28/01 11h59 double nat double nat Réseaux 28/01 14h34->brupala3
23/08 16h14 ssid broadcast vpi vci dmz nat upnp SSID broadcast, VPI/VCI, DMZ, NAT, Upnp Logiciels/Pilotes 05/09 16h11->systeme42
08/09 09h29 nat erreur NAT Logiciels/Pilotes 08/09 14h38->Anakyn1
10/01 11h42 partage connexion freebox nat Partage connexion freebox ! Prob NAT Réseaux 13/02 11h43->aimée9
27/10 15h11 utilisation nat serveur web Utilisation de NAT pour serveur WEB Réseaux 01/11 09h46->criscojam15
09/06 20h25 nat routage lan interne NAT routage du lan interne ne marche pas Réseaux 13/06 21h22->patrick10
28/06 16h18 nat vpn nat pour vpn Réseaux 24/11 23h35->andre.h10
Discussion fermée Problème résolu NAT Plus de discussions sur « NAT »

Ce document intitulé « Protection - Translation d'adresses (NAT) » issu de l'encyclopédie informatique Comment Ça Marche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.