NAT : qu’est-ce que c’est et comment agit-il sur notre réseau

Pour accéder à Internet, une adresse IP publique est nécessaire, bien que nous puissions également utiliser une adresse IP privée sur notre propre réseau privé. Ceci est réalisé par la traduction d’une adresse IP privée en une adresse IP publique, en s’appuyant sur un traducteur d’adresses IP ou Network Address Translator (NAT).

Fonctionnement de NAT

Sa fonction est de permettre à plusieurs appareils (PC, tablettes, ordinateurs portables, téléphones portables, serveurs, etc.) d’accéder à Internet via une même adresse publique en traduisant un ensemble d’adresses IP, généralement internes, afin qu’elles soient comprises par un autre ensemble d’adresses, généralement externes (Internet) et vice versa.

Cela permet à un certain nombre d’appareils connectés à un réseau local d’utiliser la même adresse IP externe pour l’utilisation d’Internet.

Comme nous l’avons déjà mentionné, via NAT, une ou plusieurs adresses IP locales sont traduites en une ou plusieurs adresses IP globales et vice versa pour donner accès à Internet ; mais la traduction des numéros de port est également effectuée. C’est-à-dire que le numéro de port de l’hôte est masqué avec un autre numéro de port dans le paquet de données qui sera acheminé vers la destination. Ensuite, il effectue les entrées correspondantes d’adresse IP et de numéro de port dans la table NAT, qui fonctionne généralement sur un routeur ou un pare-feu.

Pour être plus clair, le routeur périphérique est normalement configuré pour NAT, avec une interface sur le réseau local (interne) et une interface sur le réseau global (externe). Lorsqu’un paquet traverse en dehors du réseau local (interne), NAT convertit cette adresse IP locale (privée) en une adresse IP globale (publique). Lorsqu’un paquet entre dans le réseau local, l’adresse IP globale (publique) devient une adresse IP locale (privée).

Une fois cela compris, il faut parler de masquage : supposons qu’il y ait deux hôtes (A et B) connectés sur un réseau et que les deux demandent la même destination, sur le même numéro de port (disons 1000), côté hôte, en même temps. Si NAT ne traduit que des adresses IP, lorsque les paquets atteignent NAT, les deux adresses IP sont masquées par l’adresse IP publique du réseau et envoyées à la destination. La destination enverra des réponses à l’adresse IP publique du routeur. Par conséquent, à la réception d’une réponse, NAT ne saura pas quelle réponse appartient à quel hôte (car les numéros de port source pour A et B sont les mêmes). Par conséquent, pour éviter ce problème, NAT masque également le numéro de port source et effectue une entrée dans la table NAT.

Avec cela, on voit que NAT remplit deux fonctions de base : l’attribution d’une ou plusieurs adresses IP publiques pour le réseau local et la simplification de l’adressage par le masquage d’adresses IP privées.

Types de NAT

En raison de sa configuration, il existe trois types différents de NAT avec des fonctions différentes :

1. NAT statique où une association fixe et permanente est établie entre une adresse IP privée sur le réseau local et une adresse IP publique spécifique. Il est généralement utilisé pour l’hébergement Web, pas pour les organisations où il y a plusieurs appareils, car chaque appareil nécessiterait une adresse publique, ce qui serait très coûteux et difficile à gérer.

2. NAT dynamique où un ensemble d’adresses IP publiques disponibles est établi pour qu’un périphérique du réseau local demande un accès à Internet et que celui-ci lui attribue temporairement une adresse IP publique disponible. Si l’adresse IP du groupe n’est pas libre, le paquet sera écarté, car seul un nombre fixe d’adresses IP privées peuvent être traduites en adresses publiques. Comprenant cela, ce type de NAT peut également être très coûteux car l’organisation doit acheter de nombreuses adresses IP mondiales pour créer un groupe.

3. NAT PAT (Port Address Translation) où une association est établie entre les périphériques de réseau local et une IP publique unique, en différenciant sur chaque périphérique un port qui lui est attribué pour recevoir le trafic réseau correspondant pour chaque périphérique. PAT cherche à conserver le port d’origine initial. Dans le cas où le port source initial est déjà utilisé, le port suivant disponible est attribué, dans un processus continu, jusqu’à ce qu’il n’y ait plus d’adresses IP externes ou de ports disponibles.

Ce type de NAT est le plus fréquemment utilisé car il est le plus rentable, car des milliers d’utilisateurs peuvent se connecter à Internet en utilisant uniquement une adresse IP globale (publique) réelle.

Sécurité NAT

Actuellement, de nombreux ingénieurs réseau utilisent le NAT pour protéger leurs appareils sur le réseau contre les cyberattaques, car il agit comme une couche de sécurité supplémentaire entre les appareils d’un réseau privé et Internet. C’est parce que le routeur NAT ou le pare-feu NAT peut trier et vérifier les données au fur et à mesure qu’elles sont envoyées à un appareil, en cachant les adresses IP internes, les laissant inaccessibles depuis Internet. Cela peut aider à prévenir les attaques telles que les analyses de ports, qui permettent d’identifier les vulnérabilités dans les périphériques du réseau.
NAT permet également l’intégration avec les pare-feu des routeurs et des appareils du réseau, améliorant ainsi la mise en œuvre des politiques de sécurité.
Un autre aspect important de la sécurité est que NAT contribue à prévenir l’épuisement de l’IP privée, car l’utilisation d’une seule adresse IP publique pour plusieurs périphériques sur un réseau contribue également à garantir que l’attribution d’IP publiques est aussi efficace que possible.

Il est à noter que les adresses privées ne peuvent garantir une sécurité totale. Sans aucun doute, vous devriez également utiliser le cryptage et d’autres outils de sécurité. Les appareils doivent également être conservés sur une adresse IP locale comme une bonne mesure de sécurité supplémentaire.

Avantages et inconvénients des NAT

Parmi les avantages des NAT, nous avons les suivants :

  • NAT fournit une couche de sécurité sur le réseau, car les réseaux privés n’annoncent pas leurs adresses ni leur topologie interne, de sorte qu’ils sont sécurisés en contrôlant l’accès externe, bien qu’il ne remplace pas les pare-feu.
  • Augmente la flexibilité des connexions au réseau public, en plus de la compatibilité avec les protocoles Internet Version 4 (IPv4). Des ensembles et des ensembles de sauvegarde/ équilibrage de charge peuvent être mis en œuvre pour assurer des connexions de réseau public fiables.
  • En cas de surcharge, les hôtes internes peuvent partager une seule adresse IPv4 publique pour toutes les communications externes. Très peu d’adresses externes sont nécessaires pour prendre en charge plusieurs hôtes internes, ce qui implique également moins de gestion et de coûts.
  • Cohérence avec les schémas d’adressage de réseau interne. Si vous souhaitez modifier le schéma d’adresses IPv4 publiques sur un réseau sans adresses IPv4 privées ni NAT, tous les hôtes du réseau existant doivent être redirigés. NAT permet de conserver les adresses IPv4 privées, tout en accélérant le passage à un nouveau schéma d’adressage public.

Le revers de la médaille, ce sont les inconvénients en partant du fait que les hôtes sur Internet communiquent avec l’appareil avec NAT et non avec l’hôte réel, ce qui implique :

  • Augmentation du retard ou de la latence dans la communication réseau, car la traduction de chaque adresse IPv4 dans les en-têtes du paquet de données prend du temps.
  • Détérioration possible de la fonctionnalité de bout en bout. De nombreux protocoles et applications Internet dépendent de l’adressage, de la source à la destination. Par exemple, certaines applications de sécurité (signature numérique) échouent car l’adresse IPv4 source a changé avant d’atteindre sa destination.
  • Perte de traçabilité IPv4 lors du suivi des paquets sur le réseau. C’est parce que les paquets subissent plusieurs changements d’adresse à plusieurs sauts de NAT, ce qui rend leur suivi difficile. Cela a un impact sur la résolution de problèmes.
  • Plus grande complexité dans la configuration et la maintenance, principalement lors de l’établissement de règles de traduction d’adresses IP et de ports pour des applications spécifiques. Par exemple, NAT modifie les valeurs dans les en-têtes qui interfèrent avec les vérifications d’intégrité effectuées par IPsec et d’autres protocoles de tunneling.
  • Interruptions possibles des connexions du protocole de contrôle de transmission (Transmission Control Protocol, TCP). Les services nécessitant une connexion TCP à partir d’un réseau externe ou de « protocoles » sans état peuvent être interrompus. À moins que le routeur NAT ne soit configuré pour prendre en charge ces protocoles, les paquets entrants peuvent ne pas atteindre leur destination.

Impact sur la performance

NAT aide à réduire la charge sur le réseau en permettant à plusieurs appareils de partager une seule adresse IP publique. Cela peut être utile lorsque vous avez peu ou une seule adresse IP publique disponible, fournissant également une couche de sécurité en empêchant la non-identification et l’accès direct aux périphériques internes du réseau.

Cependant, il peut également générer des limitations de bande passante et d’éventuels problèmes de connectivité dans des environnements réseau avec un grand nombre d’appareils et un trafic réseau intense. Dans les environnements avec NAT PAT, une congestion peut se produire s’il y a beaucoup de connexions simultanées à partir de plusieurs appareils, ce qui peut ajouter une latence supplémentaire dans la communication réseau affectant négativement l’expérience utilisateur.

Carrier Grade NAT (CG-NAT)


Carrier Grade NAT
(CG-NAT), également connu sous le nom de NAT massif ou à grande échelle (Large-Scale NAT ou LSN), est une implémentation de NAT à grande échelle généralement utilisée par les fournisseurs de services Internet (FAI) pour gérer et tenter de conserver les adresses IPv4 publiques sur leurs réseaux.

Sa fonction principale est de fournir une connectivité Internet à plusieurs clients en utilisant une seule plage d’adresse IP publique (par exemple 100.64.0.0/10) via une gestion centralisée, en effectuant une traduction d’adresse à grande échelle. Il en résulte une solution temporaire pour atténuer la pénurie d’adresses IPv4 publiques jusqu’à la mise en œuvre complète de la mise à jour d’IPv4 dans IPv6— en gardant à l’esprit qu’IPv4 permet 4 294 967 296 d’adresses de différents appareils, ce qui est inférieur à la population mondiale et donc inférieur au volume total des appareils.

Parmi les considérations à prendre en compte, CG-NAT ne résout pas le problème de l’épuisement des adresses IPv4 lorsqu’une adresse IP publique est nécessaire, comme dans l’hébergement Web. Vous pouvez également créer un goulot d’étranglement en termes de performances qui limite son évolutivité.

Vérification d’utilisation de CG-NAT

Pour vérifier si CG-NAT est utilisé sur un réseau, il est nécessaire d’accéder au routeur fourni par le fournisseur de services Internet (ISP) et de vérifier dans sa configuration si des options ou des paramètres liés à CG-NAT se trouvent dans la section NAT. Cela peut être vu dans les options de configuration NAT elles-mêmes comme dans une section différente, appelée « Carrier Grade NAT » ou « CG-NAT », où vous pouvez vérifier son état et sa configuration.

Sur les systèmes d’exploitation Windows, nous pouvons vérifier si nous appartenons à un CG-NAT en exécutant la commande tracert et en pointant vers notre adresse IP publique. Si le résultat est d’un seul hop (ou saut), cela signifie que nous n’appartenons pas à une CG-NAT, si le résultat est de 2 hops ou plus alors nous appartenons à une CG-NAT :

Sur les systèmes d’exploitation Linux, la même procédure peut être effectuée avec la commande traceroute.

Impact de CG-NAT sur les utilisateurs

CG-NAT peut avoir des impacts différents, en fonction du type d’utilisateur qui contrôle le réseau.

  • Dans les utilisateurs avancés, CG-NAT peut entraîner des complications lors de la mise en œuvre de configurations de transferts de ports, de tunnels IPv6 ou d’applications d’accès à distance complexes.
  • Dans les utilisateurs standard, le problème peut se présenter principalement dans le mode de travail à distance (ou télétravail), dans lequel ils peuvent être affectés lors de l’établissement de connexions VPN vers l’entreprise, certaines applications de vidéoconférence et certaines applications d’accès à distance qui dépendent de connexions entrantes à partir d’Internet.
  • Dans les utilisateurs récréatifs, par exemple, dans un jeu vidéo, des connexions directes entre les joueurs sont nécessaires, ou bien elles dépendent du renvoi de ports pour des performances optimales. CG-NAT peut également causer dans ces cas des problèmes de latence, avec un impact direct sur l’expérience utilisateur.

NAT dans les jeux vidéo

NAT peut affecter de manière significative l’expérience de jeu en ligne si l’utilisateur n’a pas les connaissances nécessaires pour configurer correctement ce mécanisme de réseau. De nombreux jeux vidéo en ligne utilisent des connexions peer-to-peer entre les joueurs pour faciliter l’interaction en temps réel ; par conséquent, si le NAT n’est pas correctement configuré, l’utilisateur peut être affecté, avec des problèmes de connectivité, des latences et une expérience de jeu moins fluide ou interrompue.

Pour ces cas, il existe plusieurs solutions pour améliorer le classement NAT et optimiser l’expérience de jeu. Sur PC, le transfert de ports doit être configuré sur le routeur, ce qui peut aider à ouvrir des ports spécifiques utilisés par le jeu vidéo. Cela facilite la connexion directe entre les joueurs, réduisant les problèmes de connectivité et améliorant le classement NAT.

Sur les consoles, l’utilisation du protocole UPnP (Universal Plug and Play) peut aider à ouvrir et rediriger automatiquement les ports nécessaires à une meilleure connectivité.

Dans d’autres cas, la mise à jour du micrologiciel du routeur ou même l’achat d’un routeur plus moderne et plus compatible peut résoudre les problèmes liés au NAT et améliorer l’expérience de jeu.

Conclusion

En conclusion, NAT joue un rôle important dans la connectivité actuelle des réseaux informatiques, notamment dans les environnements IPv4, où les adresses IP publiques sont limitées. Il est clair que les stratèges en sécurité doivent également tenir compte de leurs considérations et de leurs inconvénients potentiels en termes de latence et de traçabilité. En ce sens, la configuration et la maintenance correctes des protocoles et du port sont nécessaires pour rendre les IP publiques disponibles pour l’utilisation et la fourniture de services, tout en économisant de l’argent et en ajoutant une couche de sécurité supplémentaire, qui renforce également les politiques de sécurité en intégrant des pare-feu de routeurs et d’appareils.

Un seul outil peut-il avoir une visibilité mondiale ?