Contenu

Introduction

Conditions préalables

Conditions requises

Components Used

Conventions

Configuration de NAT

Informations connexes

Discussions connexes de la communauté d’assistance Cisco

Introduction

Dans certaines situations, vous aurez sûrement à configurer les commandes de traduction des adresses réseaux (NAT) statique et dynamique sur un routeur Cisco. Ce document explique la manière de procéder et donne un exemple de scénario.

Conditions préalables

Conditions requises

La connaissance des concepts et des opérations NAT de base est utile.

- Fonctionnement de NAT

- Ordre des opérations NAT

Components Used

Les informations contenues dans ce document sont basées sur les versions de matériel et de logiciel suivantes :

- Routeurs de la gamme Cisco 3600

- Logiciel Cisco IOS® Version 12.3(3)

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.

Conventions

For more information on document conventions, refer to the Cisco Technical Tips Conventions.

Configuration de NAT

Avec un NAT dynamique, les traductions n'existent pas dans la table NAT tant que le routeur ne reçoit pas de trafic pour lequel une traduction est nécessaire. Les traductions dynamiques sont purgées de la table de traduction après une période d'expiration.

Avec la NAT statique, les traductions existent dans la table de traduction NAT dès que vous configurez les commandes NAT statiques, et elles restent dans la table de traduction jusqu'à ce que vous supprimiez les commandes NAT statiques.

Le diagramme de réseau suivant en est un exemple :

Ces commandes sont configurées sur le routeur NAT présenté ci-dessus :

Routeur NAT

version 12.3

ip nat pool test 172.16.131.2 172.16.131.10 netmask 255.255.255.0

!--- Refer to  ip nat pool  for more details on the command.

.

ip nat inside source list 7 pool test

!--- Refer to  ip nat inside source  for more details on the command.

ip nat inside source static 10.10.10.1 172.16.131.1

interface e 0

ip address 10.10.10.254 255.255.255.0

ip nat inside

interface s 0

ip address 172.16.130.2 255.255.255.0

ip nat outside

ip route 192.168.1.0 255.255.255.0 172.16.130.1

access-list 7 permit 10.10.10.0 0.0.0.255

La configuration sur le périphérique OutsideA est la suivante :

Routeur OutsideA

version 12.3

hostname outsideA

!

!

!

interface Serial1/0

ip address 172.16.130.1 255.255.255.0

serial restart-delay 0

clockrate 64000

!

interface FastEthernet2/0

ip address 192.168.1.1 255.255.255.0

speed auto

half-duplex

ip route 172.16.131.0 255.255.255.0 172.16.130.2

La configuration sur le périphérique InsideA est la suivante :

Routeur InsideA

version 12.3

!

interface Ethernet1/0

ip address 10.10.10.1 255.255.255.0

half-duplex

!

ip route 0.0.0.0 0.0.0.0 10.10.10.254

!

!

A l'aide de la commande show ip nat translations, vous pouvez voir le contenu de la table de traduction :

NATrouter#show ip nat translations

Pro Inside global    Inside local    Outside local    Outside global

--- 172.16.131.1     10.10.10.1      ---              ---

Notez que seule la traduction statique est mentionnée dans la table de traduction. Cette entrée renvoie une traduction de l'adresse globale interne à l'adresse locale interne ; ainsi les périphériques du nuage externe peuvent envoyer des paquets à l'adresse globale 172.16.131.1 et atteindre le périphérique du nuage interne à l'adresse locale 10.10.10.1.

Ce processus est représenté ci-dessous :

outsideA#ping 172.16.131.1

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 172.16.131.1, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 32/32/32 ms

NATrouter#debug ip nat

18:12:06: NAT*: s=172.16.130.1, d=172.16.131.1->10.10.10.1 [1005]

18:12:06: NAT: s=10.10.10.1->172.16.131.1, d=172.16.130.1 [1005]

18:12:06: NAT*: s=172.16.130.1, d=172.16.131.1->10.10.10.1 [1006]

18:12:06: NAT*: s=10.10.10.1->172.16.131.1, d=172.16.130.1 [1006]

18:12:06: NAT*: s=172.16.130.1, d=172.16.131.1->10.10.10.1 [1007]

18:12:06: NAT*: s=10.10.10.1->172.16.131.1, d=172.16.130.1 [1007]

18:12:06: NAT*: s=172.16.130.1, d=172.16.131.1->10.10.10.1 [1008]

18:12:06: NAT*: s=10.10.10.1->172.16.131.1, d=172.16.130.1 [1008]

18:12:06: NAT*: s=172.16.130.1, d=172.16.131.1->10.10.10.1 [1009]

18:12:06: NAT*: s=10.10.10.1->172.16.131.1, d=172.16.130.1 [1009]

Aucune autre traduction n'est générée ou entrée dans la table de traduction tant que le routeur ne reçoit pas de paquet sur son interface interne avec une adresse source autorisée par la liste de contrôle d'accès (ACL) 7.

Cependant, puisqu'aucune traduction dynamique n'existe encore, les périphériques externes ne peuvent atteindre aucun des périphériques internes (autres que 10.10.10.1), et ce même s'ils envoient des paquets à une adresse globale (172.16.131.2 via 172.16.131.10). Quand le routeur reçoit un paquet destiné à une de ces adresses globales, il vérifie la table de traduction pour s'assurer qu'une traduction existe. Si aucune traduction n'existe, il modifie le routage du paquet. Ce comportement NAT est traité plus loin dans un exemple de configuration avec la commande ip nat outside source list et un exemple de configuration avec la commande ip nat outside source static.

Dans la topologie ci-dessus, si la communication entre les périphériques réseau internes et externes provient uniquement des périphériques internes, la traduction dynamique s'effectue correctement. Mais que se passe-t-il si un serveur de messagerie est ajouté sur le réseau interne qui doit recevoir des paquets émis depuis l'extérieur ? Vous devez configurer une entrée NAT statique afin que les serveurs de messagerie externes puissent communiquer avec le serveur de messagerie interne. Dans l'exemple ci-dessus, si le serveur de messagerie a l'adresse locale 10.10.10.1, une traduction statique est déjà disponible.

Toutefois, si le nombre d'adresses globales disponibles est limité et que vous devez configurer un seul périphérique de manière statique pour le NAT, vous pouvez utiliser une configuration comme celle ci-dessous :

Routeur NAT

ip nat inside source list 7 interface serial 0 overload

ip nat inside source static tcp 10.10.10.1 25 172.16.130.2 25

!--- Refer to  ip nat inside source  for more details on the command.

interface e 0

ip address 10.10.10.254 255.255.255.0

ip nat inside

!--- For more details the ip nat inside|outside command, !--- please refer to  ip nat inside .

interface s 0

ip address 172.16.130.2 255.255.255.0

ip nat outside

access-list 7 permit 10.10.10.0 0.0.0.255

ip route 0.0.0.0 0.0.0.0 172.16.130.1

Dans l'exemple ci-dessus, le NAT est configuré pour surcharger l'adresse IP de l'interface Serial 0. Cela signifie que plusieurs adresses locales internes peuvent être traduites dynamiquement vers la même adresse globale, dans ce cas, l'adresse attribuée à Serial 0. En outre, la NAT est configurée de manière statique de sorte que les paquets provenant de l'adresse locale 10.10.10.1 avec le port TCP 25 (SMTP) soient traduits en adresse IP Serial 0 du port TCP 25. Puisque qu'il s'agit d'une entrée NAT statique, les serveurs de messagerie externes peuvent émettre des paquets SMTP (port TCP 25) à l'adresse globale 172.16.131.254.

Remarque : Bien qu'il soit possible d'utiliser la même adresse globale pour la NAT dynamique et statique, il est préférable, dans la mesure du possible, d'utiliser différentes adresses globales.

La table de traduction NAT a l'entrée suivante :

NATRouter#show ip nat translations

Pro Inside global    Inside local   Outside local Outside global

tcp 172.16.130.2:25  10.10.10.1:25      ---          ---

La sortie de debug ip nat affiche la traduction NAT lorsque le périphérique OutsideA accède au périphérique InsideA :

04:21:16: NAT: s=192.168.1.3, d=172.16.130.2->10.10.10.1    [9919]

04:21:16: NAT: s=10.10.10.1->172.16.130.2, d=192.168.1.3 [0]

04:21:16: NAT*: s=192.168.1.3, d=172.16.130.2->10.10.10.1 [9922]

04:21:16: NAT*: s=192.168.1.3, d=172.16.130.2->10.10.10.1 [9923]

04:21:16: NAT*: s=10.10.10.1->172.16.130.2, d=192.168.1.3 [1]

04:21:16: NAT*: s=10.10.10.1->172.16.130.2, d=192.168.1.3 [2]

04:21:16: NAT*: s=10.10.10.1->172.16.130.2, d=192.168.1.3 [3]

04:21:16: NAT*: s=192.168.1.3, d=172.16.130.2->10.10.10.1 [9927]

04:21:16: NAT*: s=10.10.10.1->172.16.130.2, d=192.168.1.3 [4]

04:21:16: NAT: s=10.10.10.1->172.16.130.2, d=192.168.1.3 [5]

04:21:16: NAT*: s=192.168.1.3, d=172.16.130.2->10.10.10.1 [9931]

04:21:17: NAT*: s=192.168.1.3, d=172.16.130.2->10.10.10.1 [9934]

04:21:17: NAT: s=192.168.1.3, d=172.16.130.2->10.10.10.1 [9935]

04:21:17: NAT*: s=10.10.10.1->172.16.130.2, d=192.168.1.3 [6]

En résumé, le NAT dynamique exige que les paquets soient commutés par le routeur NAT afin de générer des traductions NAT dans la table de traduction. Si vous utilisez la commande ip nat inside, ces paquets doivent provenir de l'intérieur. Si vous utilisez la commande ip nat outside, ces paquets doivent provenir de l'extérieur.

Le NAT statique ne requiert pas que des paquets soient commutés par le routeur. De plus, les traductions sont entrées de manière statique dans la table de traduction.

Informations connexes

- NAT - Forum aux questions

- Support technique - Cisco Systems