Le NAT (Network Address Translation) pour partager une connexion internet

Bloqueur de pub détectée - Vous bloquez l'affichage des publicités.
Pour soutenir le site, merci de bien vouloir laisser les publicités s'afficher
Plus d'informations : Comment désactiver les bloqueurs de publicité sur un site internet

Le NAT (Network Adress Translation) permet de partager une connexion internet entre plusieurs ordinateurs sur un réseau local.
On parle alors de translation d'adresse.
Les routeurs ou box utilisent le NAT pour délivrer la connexion à internet à tous les équipements du réseaux LAN (PC, Smartphone, console jeu).

En effet, les PC sur un réseau local ont des IP locales qui ne sont pas routables sur internet.
De ce fait, le NAT est né afin de permettre à tous les PC d'un réseau de se connecter à internet.

Le NAT est notamment utiliser par les routeurs. Nous allons voir ici le principe et comment il fonctionne.

Le NAT (Network Address Translation) pour partager une connexion internet

Réseau LAN et partage de connexion internet

Dans un réseau LAN grand public, le routeur se charge de partager la connexion internet à tous les équipements du LAN.
Ainsi chaque hôte du réseau est connecté au routeur soit directement, soit via un switch.

Mais comment un routeur ou box parvient à partager la connexion internet ?

L'établissement d'une connexion réseau et sockets

Avant de rentrer dans le vif du sujet, il faut comprendre comment fonctionne les connexions client/serveur.
Nous ne rentrerons pas dans les détails, toutefois voici les informations nécessaires pour comprendre la suite de l'article.

Lorsqu'un client se connecte au serveur, il :

  • ouvre un port local sur l'hôte, on peut aussi parler de port source. Ce port est situé entre 1024 et 5000. Ce port restera ouvert en attente de réponse du serveur.
  • envoie un paquet à destination du serveur vers un port de destination.

Le paquet contient entre ces informations : l'IP du client, le port source et le port de destination.
Plus de détails suivre ce lien :

Exemple d'établissement de connexion et socket

Le serveur reçoit alors le paquet envoyé par le client peut lui répond avec le chemin inverse :

  • Le port de destination du serveur devient le port source dans la réponse.
  • Le port source devient le port de destination
  • Bien entendu, on inverse les adresses IP dans la réponse puisque le paquet repart dans l'autre sens.

En pratique cela donne, si on prend un utilisateur avec une IP 82.125.12.15 qui se connecte au site WEB de Google (216.239.59.99).

  • Un paquet source est envoyé par le routeur
    • avec IP source 82.125.12.15
    • port source 1052 et donc son IP 82.125.12.15
  • Il est à destination de Google
    • IP de destination 216.239.59.99 (Google)
    • Port de destination 443 (HTTPs)
L'établissement d'une connexion réseau et sockets

Google va recevoir le paquet et y répondre :

  • IP source 216.239.59.99 et port source 443
  • IP de destination 82.125.12.15 et port de destination 1052 qui sera restée ouvert en attente de réponse de la part de Google.

Jusque là rien d'extraordinaire.
Dans cet exemple, c'est le routeur qui émet la connexion.
Seulement en temps normal, la connexion provient d'un appareil dans le LAN (un PC, un Smartphone ou une console de jeu).
Comment le routeur parvient alors à partager la connexion et s'y retrouver avec les différents équipements connectés.
IL utilise alors le NAT (Network Adress Translation).

Principe du NAT (Network Adress Translation)

Le NAT joue sur les IP local et public afin de pouvoir router ces derniers.
On parle aussi de traduction d'adresse.
Il existe deux type de NAT : le NAT statique et le NAT Dynamique.

Dans les deux cas, la translation d'adresse consiste à modifier les informations des paquets IP afin de modifier les adresses sources ou de destination ainsi que les ports.

NAT Statique

Le NAT Statique (très peu utilisé) permet de faire correspondre à n IP locales du réseau n IP publiques.
La correspondance se fera bien sûr dans les deux sens et dites statique car elle reste fixe.

En somme on peut résumer le NAT statique par l'égalité suivante : 1 adresse Privé = 1 adresse Public.

Le principe du NAT Statique

Comme vous pouvez l'imaginer, cela nécessite autant d'IP publiques qu'il y a IP locales.
A l'heure où les IP publiques se font rares sur internet, il a fallu avoir recours à une autre système, c'est là que le NAT dynamique est né.

Ainsi le NAT statique n'est pas utilisé par les routeurs et box pour partager la connexion internet.

En réalité, on distingue trois types de NAT statiques :

  • NAT statique unidirectionnel : On ne transfert uniquement les connexions de l'extérieur vers l'intérieur.
  • NAT statique bidirectionnel : Le transfert des connexions dans les deux sens.
  • NAT statique PAT (Port Address Translation du port serveur). On parle de port forwarding. Il associe un port côté internet à un hôte internet. Cela permet de rendre un service internet dans le LAN depuis internet, ce qui peut poser des problèmes de sécurité.

Le NAT dynamique

La différence entre le NAT statique et le NAT dynamique est la prise en compte des ports sources. Le principe reste le même.

  • Le routeur va remplacer l'IP locale par une IP publique
  • MAIS AUSSI il va remplacer le port source de l'hôte par un port a lui (généralement des ports hauts > 65000)

Enfin le routeur note dans une table de routage ses informations afin de pouvoir traduire la réponse.
Ainsi lors de la réponse du serveur, le routeur regarde dans sa table de routage pour savoir à quelle machine du réseau locale et à quel port source, il doit renvoyer le paquet IP.

Exemple de NAT Dynamique

Voici le schéma avec :

  • Un PC dans le LAN avec une adresse IP 192.168.1.50
  • IP de la connexion internet : 82.125.12.15
  • Destination Google en 216.239.59.99

Voici ce qui se passe lors d'un NAT dynamique :

  • Le PC émet une connexion vers Google, port source 1052 et port de destination 443. La passerelle de l'interface du PC est le routeur et donc le paquet passe par ce dernier
  • Le routeur remplace alors :
    • l'IP source par l'IP de la connexion internet ici 82.125.12.15
    • le port source par un port plus haut, par exemple 52455
  • Le paquet IP devient alors routable sur internet et est envoyé à Google
Le principe du NAT dynamique
  • Google le reçoit puis répond : IP de destination 82.125.12.15 et port 52455
  • Le routeur reçoit le paquet et regarde dans sa table de routage. Oui j'ai j'avais envoyé un paquet sur ce port pour le PC 192.168.1.50
  • Il remet l'IP de destination 192.168.1.50 et port de destination 1052
  • Le PC reçoit le paquet IP et traite la réponse

Ainsi à partir d'une adresse IP, on peut permettre à plusieurs machines d'un réseau local d’accéder à internet.
Il suffit d'avoir assez de ports réseaux disponibles.

Il est important de noter qu'en terme de sécurité, le routeur qui fait du NAT, n'accepte que les connexions entrants que si elles ont été initialisées par un hôte du réseau local.
n effet, si le routeur ne retrouve pas dans sa table de routage vers quelle machine il doit envoyer la connexion, cette dernière sera détruit (drop).

Le routeur fait donc en quelque sort office de firewall pour le réseau local.
Cependant, nous verrons que cela peut poser problème, si vous possédez des services sur le réseau local.

Le transfert de Port ou forward de port réseau

On vient de voir que le routeur n'accepte que les connexions entrantes provenant d'une réponse à une connexion initialisée par un hôte du LAN.
Ceci peut poser problème, si vous possédez des serveurs sur le réseau local, tels qu'un serveur WEB, FTP et autres.
En effet, lors des transferts de fichiers votre machine se transforme temporairement en serveur de fichiers avec la personne avec laquelle vous désirez envoyer des fichiers.

Comment faire pour que les services du réseau interne sous accessibles depuis l'internet ?

Il faut établir un transfert de ports que l'on configure sur le routeur ou box.
On donne un port à transférer par exemple le port 21 dans le cas d'un serveur FTP et l'adresse de l'hôte de destination dans le LAN.
Toutes les connexions entrantes en direction du port 21 seront alors transférées vers cet hôte.

Le transfert de Port ou forward de port réseau

La page suivant vous guide en cela :

Note que le transfert de port peut-être automatique via le service UPnP.
Il faut que le programme qui fait office de serveur le gère, c'est notamment le cas de MSN lors des conversations vidéos ou transferts de fichiers.
Toutefois des applications de sécurité sont à prendre en compte avec UPnP, lire : 

Liens autour des routeurs

Les liens du site autour des routeurs internet.

Vous avez trouvé cet article utile et interressant, n'hésitez pas à le partager...

Trouver la solution sur le forum d'aide

Vous êtes arrivé au terme de l'article Le NAT (Network Address Translation) pour partager une connexion internet mais vous n'avez pas trouvé la solution à votre problème...
Suivez ces articles du forum pour trouver une réponse ou demandez à votre tour de l'aide sur le forum