Tutoriel sur la surcharge de la traduction d'adresses réseau (NAT)
Au cours des deux premières décennies d'Internet, les ordinateurs d'un réseau privé se connectaient à Internet en attribuant à chacun d'eux une adresse IP publique unique, puis en indiquant à chaque ordinateur du réseau privé l'adresse IP de la passerelle par défaut. Toutes les adresses IP utilisées dans cette configuration étaient des adresses IP publiques. Cette configuration classique présente au moins deux gros problèmes :
- Faille de sécurité :Les adresses IP étant publiques, n’importe qui peut facilement accéder au réseau dit privé.
- Épuisement des adresses IP :À mesure qu’Internet devenait plus vaste et plus rapide que quiconque ne pourrait l’imaginer, les adresses IP s’épuisaient très rapidement.
Afin de résoudre ces problèmes, une technique connue entre autres sous le nom de traduction d'adresses réseau (NAT) a été introduite. La traduction d'adresses réseau permet aux hôtes d'un réseau local (LAN) de communiquer de manière transparente avec les hôtes d'un réseau externe et vice versa. Il permet de mapper les adresses IP d’un domaine d’adresse à un autre. Avec NAT, plusieurs appareils du réseau privé peuvent partager une seule adresse IPv4 publique pour communiquer avec d'autres appareils du réseau public.

Le besoin de traduction d’adresses IP survient lorsque les adresses IP privées internes d’un réseau ne peuvent pas être utilisées en dehors du réseau, principalement parce qu’elles sont allouées à un usage privé et donc impropres à la communication externe. L'objectif principal du NAT, tout comme le routage inter-domaine sans classe (CIDR) et le masque de sous-réseau à longueur variable (VLSM), était de ralentir l'épuisement de l'espace d'adressage IP disponible en permettant à de nombreuses adresses IP privées d'être représentées par un plus petit nombre d'adresses IP publiques. . NAT est également très utile dans les situations où une organisation passe à un nouveau fournisseur de services Internet (FAI) et souhaite toujours conserver son schéma d'adresse interne, ou lorsque deux entreprises ayant des schémas d'adressage internes identiques fusionnent. Le tableau ci-dessous met en évidence les avantages et les inconvénients de l'utilisation de NAT.
Avantages | Les inconvénients |
Préserve les adresses IP publiques IPv4 | La traduction d'adresse IP introduit des retards dans les voies de commutation |
Augmente la flexibilité lors de la connexion à Internet | Certaines applications ne fonctionneront pas avec NAT activé |
Élimine la renumérotation des adresses le réseau change et réduit l'occurrence de chevauchement d'adresses | Perte de traçabilité IP de bout en bout |
Améliore la sécurité et aide à maintenir la confidentialité du réseau local | Cela mine le principe de bout en bout de la conception Internet et pose donc un problème pour les applications Internet conçues sur la base de ce principe. |
Types de mise en œuvre de NAT
NAT peut être implémenté de quatre manières différentes :
NAT statique : Ce type d'implémentation NAT est conçu pour permettre un mappage un à un des adresses IP privées internes vers des adresses IP publiques externes. Autrement dit, lors du passage par un routeur, l'adresse IP interne de l'ordinateur passe de 192.168.4.2 à 197.210.84.100 et vice versa. Mais gardez à l’esprit que le NAT statique nécessite que vous ayez une adresse IP publique pour chaque hôte de votre réseau.

NAT dynamique : Ce type d'implémentation NAT est conçu pour mapper une adresse IP privée interne à une adresse IP publique externe à partir d'un pool d'adresses IP publiques. Vous n'avez pas besoin de configurer statiquement votre routeur pour mapper une adresse interne à une adresse externe comme vous le feriez avec le NAT statique. Cependant, le NAT dynamique nécessite que vous disposiez de suffisamment d'adresses IP publiques pour chaque hôte souhaitant communiquer avec le monde extérieur ; sinon, le nombre d'hôtes pouvant communiquer simultanément avec le monde extérieur sera limité par le nombre d'adresses IP publiques disponibles.

Redirection de port : La redirection de port est une implémentation de NAT qui transmet une demande de communication d'une combinaison d'adresse et de numéro de port à une autre pendant que les paquets traversent une passerelle réseau, telle qu'un routeur ou un pare-feu. Cette technique est le plus souvent utilisée pour rendre les services d'application exécutés sur un hôte sur un réseau privé disponibles pour les hôtes sur un réseau public tel qu'Internet. Tout comme un appareil a besoin d'une adresse IP pour être identifié dans un réseau, les services exécutés sur l'appareil, tels que SMTP ou FTP, doivent également être identifiés pour permettre la communication externe. Les numéros de port aident à identifier ces services, et la redirection de port est la technique qui rend le service disponible aux hôtes sur un réseau public. Chaque fois qu'un service a besoin de communiquer, le numéro de port permet d'identifier la bonne destination/source sur l'appareil et facilite un transfert de données approprié.

Surcharge NAT : La surcharge NAT, également connue sous le nom de traduction d'adresses de port (PAT), est conçue pour mapper plusieurs adresses IP privées à une seule adresse IP publique (plusieurs-à-un) en utilisant différents ports. Autrement dit, une seule adresse IP publique peut être utilisée pour plusieurs adresses IP privées internes, d’où le terme de surcharge. Il est intéressant de noter qu’il s’agit de la forme la plus prédominante et la forme par défaut de mise en œuvre de NAT dans les réseaux actuels. Pourquoi est-ce si prédominant ? Eh bien, la réponse est simple : c’est parce qu’en utilisant la surcharge NAT, des milliers d’utilisateurs peuvent se connecter à Internet en utilisant une seule véritable adresse IP publique. La surcharge NAT est l'une des principales raisons pour lesquelles l'espace d'adressage IPv4 a duré aussi longtemps. Nous allons expliquer en détail comment fonctionne la surcharge NAT et comment vous pouvez la configurer sur votre routeur Cisco.

Comment fonctionne la surcharge NAT
La surcharge NAT permet à plusieurs appareils d'un réseau local d'utiliser la même adresse IP publique pour communiquer simultanément avec le monde extérieur. En règle générale, les paquets passant du réseau privé (LAN) au réseau public (Internet) verront leur adresse IP source modifiée, tandis que les paquets passant du réseau public au réseau privé verront leur adresse de destination modifiée.
Étant donné que les adresses IP privées ne sont pas routables sur Internet, la seule façon pour les appareils clients d'un réseau local de communiquer avec le monde extérieur est de les diriger vers un routeur doté d'une adresse IP publique et de permettre au routeur d'assurer la médiation entre eux et le réseau public. En cas de surcharge NAT, le routeur réalise cette médiation en échangeant les adresses IP privées et les numéros de port des périphériques clients avec sa propre adresse IP publique et son numéro de port disponible. Cette technique fonctionne principalement en tirant parti des numéros de port TCP et UDP. À mesure que le trafic passe du réseau local vers Internet, l'adresse source de chaque paquet est automatiquement traduite d'une adresse privée en une adresse publique. Cela apparaît aux serveurs sur Internet comme la principale source du paquet de données. Le routeur suit l'adresse de destination et le numéro de port de chaque connexion active en fonction des entrées de la table NAT. Lorsque le routeur reçoit une réponse, il utilise les données de suivi de connexion capturées dans la table NAT pendant la phase sortante pour déterminer l'adresse IP privée sur le réseau local à laquelle transmettre la réponse. Voici une illustration pour plus de précisions :
Imaginez un réseau local avec l'ID de réseau 192.168.4.0/26 et la plage d'hôtes utilisable 192.168.4.1 à 192.168.4.63, ainsi qu'un routeur de passerelle par défaut attribué à l'adresse IP privée 192.168.4.1 et à l'adresse IP publique 197.210.84.100. Désormais, si un ordinateur du réseau local souhaite communiquer avec le monde extérieur, voici ce qui se passe :

Supposons qu'un ordinateur avec l'adresse IP interne 192.168.4.2 et le numéro de port 1030 souhaite télécharger des données à partir d'un serveur Internet avec l'adresse IP publique 98.137.246.6 sur le port 443. L'ordinateur transmet cette demande de téléchargement au routeur avec les informations suivantes : Le périphérique client 192.168.4.2 souhaite établir une connexion sur le port 1030 avec le serveur Internet 98.137.246.6 sur le port 443. Afin de traiter cette demande, le routeur doit remplacer l'adresse IP source et le numéro de port du périphérique LAN par sa propre adresse IP. l'adresse et le numéro de port correspondant ou disponible. Ainsi, 192.168.4.2:1030 est traduit en 197.210.84.100:2040, comme le montre la figure 6.0 ci-dessus. Toutes les informations pertinentes sont stockées dans la table NAT du routeur, comme indiqué dans le schéma.
TCP | 192.168.4.2:1030 | 197.210.84.100:1030 | 98.137.246.6:443 |
Une fois que le serveur Internet reçoit la demande, il répond avec le paquet de données demandé qui est ensuite transmis au périphérique demandeur via le routeur en fonction des informations de connexion figurant sur la table NAT. En plus des adresses IP et des numéros de port, le routeur capture également le délai d'inactivité associé à chaque connexion dans la table NAT. Chaque fois qu'un nouveau trafic est reçu pour un client, son délai d'attente est réinitialisé. Lorsque le délai d'attente expire, l'entrée est supprimée de la table NAT. Cela garantit que la table NAT reste à une taille raisonnable et que les ports ne restent pas perpétuellement ouverts pendant l'inactivité et ne deviennent pas une porte d'entrée pour les cyberattaques.
Comment configurer la surcharge NAT sur un routeur Cisco
Afin de configurer la surcharge NAT sur un routeur Cisco, les étapes suivantes sont requises :
- Configurez l'interface interne du routeur à l'aide du IP Nat à l'intérieur commande
- Configurez l'interface externe du routeur à l'aide du ip nat dehors commande
- Configurer liste d'accès qui comprend une liste des adresses sources internes qui nécessitent une traduction
Activez la surcharge NAT avec le ip nat dans la liste des sources ACL_NUMBER interface TYPE surcharge commande de configuration globale
Définir l'interface interne sur le routeur | Routeur (config)#int fa0/0 |
Configurer le routeur avec le NAT dans une commande | Routeur (config-if) #ip nat à l'intérieur |
Définir l'interface externe sur le routeur | Routeur (config-if)#int s0/1 |
Configurer le routeur avec la commande NAT outside | Routeur (config-if)#ip nat à l'extérieur |
Définir une liste d'accès qui comprend toutes les adresses IP privées que nous souhaitons traduire | Routeur (config-if) #access-list 1 permis 192.168.0.0 0.255.255.255 |
Activez NAT et référez-vous à l'ACL ci-dessus et à l'interface dont l'adresse IP sera utilisée pour les traductions | Routeur (config) #ip nat dans la liste des sources 1, surcharge de l'interface s0/1 |
Une fois que vous avez configuré la surcharge NAT sur votre routeur, vous devez pouvoir vérifier la configuration. Afin de vérifier les traductions NAT, nous pouvons utiliser les commandes suivantes :
Afficher les informations de traduction de base de l'adresse IP | Routeur#afficher la traduction ip nat |
Afficher l'adresse d'envoi, la traduction et l'adresse de destination sur chaque ligne de débogage | Routeur#debug ip nat |
Alors qu'Internet continue de se développer à un rythme exponentiel, la surcharge NAT est devenue la norme de facto permettant aux appareils d'un réseau privé dotés d'adresses IPv4 d'accéder au réseau public, tout en ralentissant l'épuisement de l'espace d'adressage IPv4. Celui-ci a réussi à conserver l'adresse IPv4 au cours des 30 dernières années. Mais en novembre 2019, Centre de coordination du réseau RIPE a annoncé qu'il était officiellement à court d'adresses IPv4. Une solution à plus long terme à l’épuisement éventuel de l’espace d’adressage IPv4 32 bits est le protocole IPv6 64 bits.
Cependant, le NAT n'est pas couramment utilisé dans les réseaux IPv6. Le vaste espace d’adressage d’IPv6 exclut la nécessité de sa conservation, car chaque appareil peut potentiellement se voir attribuer une adresse IP publique unique. Au lieu des 4,3 milliards d’adresses IPv4, il existe désormais potentiellement 3,4 duodécillions d’adresses IPv6 disponibles pour connecter des appareils à Internet. Cela rend fondamentalement inutile la mise en œuvre de NAT dans IPv6. Néanmoins, NAT peut toujours être utilisé pour protéger la confidentialité des réseaux privés IPv6 par rapport aux réseaux publics. Mais pour l’instant, tant qu’IPv4 sera encore utilisé, la surcharge NAT continuera à permettre à plusieurs appareils des réseaux privés de partager une seule adresse IPv4 publique pour communiquer avec d’autres appareils du réseau public.
FAQ sur la traduction d’adresses réseau
Quelle fonction de surcharge NAT correspond à la commande access-list 1 permit 10.1.1.0 0.0.0.255 ?
Une commande de routeur qui inclut la commande access-list configure la liste de contrôle d'accès (ACL pour les adresses IP sur le réseau local. L'adresse 0.0.0.255 est un caractère générique.
Qu'est-ce que la surcharge NAT utilise pour suivre plusieurs hôtes internes qui utilisent une seule adresse globale interne ?
La surcharge NAT utilise des numéros de port pour identifier chaque hôte local. C'est pourquoi la technique est également appelée traduction d'adresses de port (PAT).
Comment la surcharge NAT fournit-elle une traduction d'adresses un-vers-plusieurs ?
Le système NAT attribue un port TCP/UDP unique à chaque session. Les numéros de port utilisés par le système doivent être distincts des numéros de port bien connus qui pourraient déjà figurer sur la communication avec une destination extérieure.