Avec la traduction d’adresse de port (PAT), une seule adresse IP publique est utilisée pour toutes les adresses IP privées internes, mais un port différent est attribué à chaque adresse IP privée. Ce type de NAT est également connu sous le nom de surcharge NAT et est la forme typique de NAT utilisée dans les réseaux actuels. Il est même pris en charge par la plupart des routeurs grand public.
PAT vous permet de prendre en charge de nombreux hôtes avec seulement quelques adresses IP publiques. Il fonctionne en créant un mappage NAT dynamique, dans lequel une adresse IP globale (publique) et un numéro de port unique sont sélectionnés. Le routeur conserve une entrée de table NAT pour chaque combinaison unique de l’adresse IP privée et du port, avec une traduction vers l’adresse globale et un numéro de port unique.
Nous utiliserons l’exemple de réseau suivant pour expliquer les avantages de l’utilisation de PAT:
Comme vous pouvez le voir sur l’image ci-dessus, PAT utilise des numéros de port source uniques sur l’adresse IP globale (publique) interne pour distinguer les traductions. Par exemple, si l’hôte avec l’adresse IP de 10.0.0.101 veut accéder au serveur S1 sur Internet, l’adresse IP privée de l’hôte sera traduite par R1 en 155.4.12.1:1056 et la demande sera envoyée à S1. S1 répondra à 155.4.12.1:1056. R1 recevra cette réponse, consultera dans sa table de traduction NAT et transmettra la demande à l’hôte.
Pour configurer PAT, les commandes suivantes sont requises:
- configurez l’interface interne du routeur à l’aide de la commande ip nat inside.
- configurez l’interface extérieure du routeur à l’aide de la commande ip nat outside.
- configurez une liste d’accès qui inclut une liste des adresses source internes qui doivent être traduites.
- activez PAT avec le nat ip à l’intérieur de la commande de configuration globale de surcharge de TYPE d’interface de la liste de sources ACL_NUMBER.
Voici comment nous configurerions PAT pour l’image réseau ci-dessus.
Tout d’abord, nous définirons les interfaces extérieures et intérieures sur R1:
R1(config)#int Gi0/0 R1(config-if)#ip nat inside R1(config-if)#int Gi0/1 R1(config-if)#ip nat outside
Ensuite, nous définirons une liste d’accès qui comprendra toutes les adresses IP privées que nous souhaiterions traduire:
R1(config-if)#access-list 1 permit 10.0.0.0 0.0.0.255
La liste d’accès définie ci-dessus comprend toutes les adresses IP de la plage 10.0.0.0–10.0.0.255.
Maintenant, nous devons activer NAT et nous référer à l’ACL créée à l’étape précédente et à l’interface dont l’adresse IP sera utilisée pour les traductions:
R1(config)#ip nat inside source list 1 interface Gi0/1 overload
Pour vérifier les traductions NAT, nous pouvons utiliser la commande show ip nat translations après que les hôtes demandent une ressource Web à S1 :
R1#show ip nat translations Pro Inside global Inside local Outside local Outside globaltcp 155.4.12.1:1024 10.0.0.100:1025 155.4.12.5:80 155.4.12.5:80tcp 155.4.12.1:1025 10.0.0.101:1025 155.4.12.5:80 155.4.12.5:80tcp 155.4.12.1:1026 10.0.0.102:1025 155.4.12.5:80 155.4.12.5:80