Introduction
Ce document décrit une configuration qui utilise la commande ip nat outside source static et les paquets IP résultent du processus NAT.
Conditions préalables
Exigences
Cisco recommande que vous ayez une connaissance de ce sujet :
Composants utilisés
Les informations contenues dans ce document sont basées sur les routeurs Cisco exécutant la version du logiciel Cisco IOS®.
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. Si votre réseau est en ligne, assurez-vous de bien comprendre l’incidence possible des commandes.
Informations générales
Ce document fournit un exemple de configuration avec l'utilisation de la commande ip nat outside source static et comporte une brève description de ce qui arrive au paquet IP pendant le processus NAT. Considérez la topologie de réseau dans ce document comme un exemple.
Configurer
Diagramme du réseau
Ce document utilise cette configuration du réseau.
Diagramme du réseau
Lorsque vous émettez une requête ping provenant de l'interface Loopback1 du routeur R1 destinée à l'interface Loopback0 du routeur R2, voici ce qui se produit :
- Sur l'interface externe (Gi0/0) du routeur NAT, le paquet ping apparaît avec une adresse source (SA) de 172.16.89.32 et une adresse de destination (DA) de 172.31.1.1.
- La NAT traduit la SA en Outside Local Address 172.31.16.5 (correspondant à la commande ip nat outside source static configurée sur le routeur NAT).
- Le routeur NAT recherche ensuite dans sa table de routage une route vers 172.31.1.1.
- Si la route n'existe pas, le routeur NAT abandonne le paquet. Toutefois, dans ce cas, le routeur NAT dispose d’une route vers 172.31.1.1 via la route statique configurée vers le sous-réseau 172.31.1.0/24. Il transmet le paquet à la destination.
- Le routeur R2 reçoit le paquet sur son interface entrante (Gi0/0), maintenant avec une SA de 172.31.16.5 et un DA de 172.31.1.1.
- Pour répondre, R2 envoie une réponse d’écho ICMP (Internet Control Message Protocol) à 172.31.16.5 (l’adresse NATted).
- Si R2 n’a pas de route, il abandonne le paquet. Cependant, dans ce cas, il a une route par défaut vers le routeur NAT.
- Par conséquent, il envoie un paquet de réponse au routeur NAT, avec une SA de 172.31.1.1 et un DA de 172.31.16.5.
- Le routeur NAT voit le paquet et recherche une route vers l'adresse 172.31.16.5.
- S'il n'en a pas, il répond avec une réponse d'ICMP inaccessible.
- Dans ce cas, une route statique configurée vers le sous-réseau 172.31.16.0/24 pointe vers R1.
- Il retraduit le paquet en adresse 172.16.89.32 et le transfère à son interface externe (Gi0/0).
Configurations
Ce document utilise les configurations suivantes :
Routeur R1 |
hostname R1
!
!--- Output suppressed.
!
interface Loopback1
ip address 172.16.89.32 255.255.255.0
!
interface GigabitEthernet0/0
ip address 172.16.191.254 255.255.255.252
duplex auto
speed auto
!
interface GigabitEthernet0/1
no ip address
shutdown
! !--- Output suppressed.
ip route 0.0.0.0 0.0.0.0 172.16.191.253
!--- Default route to forward packets to NAT-Router. !--- Output suppressed. |
Routeur NAT-Router |
hostname NAT-Router
!
!--- Output suppressed.
!
interface GigabitEthernet0/0
ip address 172.16.191.253 255.255.255.252
ip nat outside
ip virtual-reassembly in
duplex auto
speed auto
!
interface GigabitEthernet0/1
ip address 172.31.192.202 255.255.255.0
ip nat inside
ip virtual-reassembly in
duplex auto
speed auto
!
!--- ip nat command defines GigabitEthernet0/1 as a NAT inside interface and GigabitEthernet0/0 as a NAT outside interface.
!--- Output suppressed.
!
no ip http server
no ip http secure-server
ip nat outside source static 172.16.89.32 172.31.16.5
ip route 172.31.1.0 255.255.255.0 172.31.192.201
ip route 172.31.16.0 255.255.255.0 172.16.191.254
!
!--- Outside local address is defined as 172.31.16.5.
!--- Static routes for reaching the loopback interfaces on R2 and subnet 172.31.16.0 towards R1. |
Remarque : dans ce scénario particulier, une route statique pointant vers Loopback1 sur R1 n'est pas nécessaire. En effet, lorsque la réponse ICMP entre dans le routeur NAT, la table de routage est d’abord vérifiée pour la destination, puis la traduction d’adresse est effectuée.
Routeur R2 |
hostname R2
!
!--- Output suppressed.
!
interface Loopback0
ip address 172.31.1.1 255.255.255.0
!
interface GigabitEthernet0/0
ip address 172.31.192.201 255.255.255.0
duplex auto
speed auto
!
!--- Output suppressed.
ip route 0.0.0.0 0.0.0.0 172.31.192.202
!--- Default route to forward packets to NAT-Router. !--- Output suppressed. |
Vérification
Utilisez la commande show ip nat translations pour vérifier les entrées de traduction, comme le montre ce résultat :
NAT-Router#show ip nat translations
Pro Inside global Inside local Outside local Outside global
--- --- --- 172.31.16.5 172.16.89.32
icmp 172.31.1.1:21 172.31.1.1:21 172.31.16.5:21 172.16.89.32:21
NAT-Router#
Dépannage
Cet exemple utilise le débogage de traduction NAT et le débogage de paquets IP pour démontrer le processus NAT.
Attention : les commandes debug générant une quantité importante de résultats, utilisez-les uniquement lorsque le trafic sur le réseau IP est faible afin que les autres activités sur le système ne soient pas affectées négativement.
Remarque : ces résultats de débogage ont été obtenus à partir de routeurs exécutant le logiciel Cisco IOS. La collection de ces sorties de débogage peut varier en fonction de la plate-forme utilisée.
Remarque : Consulter les renseignements importants sur les commandes de débogage avant d’utiliser les commandes de débogage.
Ce résultat est le résultat de l'utilisation des commandes debug ip packet et debug ip nat simultanément sur le routeur NAT, tout en envoyant une requête ping à partir de l'adresse d'interface de bouclage R1 (172.16.89.32) vers l'adresse d'interface de bouclage R2 (172.31.1.1).
Ce résultat montre le premier paquet qui arrive sur l'interface externe du routeur NAT. L'adresse source 172.16.89.32 est traduite vers l'adresse 172.31.16.5. Le paquet ICMP est transféré vers la destination via l’interface GigabitEthernet0/1.
*Sep 19 15:34:39.925: NAT: s=172.16.89.32->172.31.16.5, d=172.31.1.1 [100]
*Sep 19 15:34:39.925: IP: s=172.31.16.5 (GigabitEthernet0/0), d=172.31.1.1 (GigabitEthernet0/1), len 100, output feature, NAT Inside(8), rtype 1, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*Sep 19 15:34:39.926: IP: s=172.31.16.5 (GigabitEthernet0/0), d=172.31.1.1 (GigabitEthernet0/1), len 100, output feature, Common Flow Table(29), rtype 1, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*Sep 19 15:34:39.926: IP: s=172.31.16.5 (GigabitEthernet0/0), d=172.31.1.1 (GigabitEthernet0/1), len 100, output feature, Stateful Inspection(30), rtype 1, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*Sep 19 15:34:39.927: IP: s=172.31.16.5 (GigabitEthernet0/0), d=172.31.1.1 (GigabitEthernet0/1), len 100, output feature, NAT ALG proxy(63), rtype 1, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*Sep 19 15:34:39.927: IP: s=172.31.16.5 (GigabitEthernet0/0), d=172.31.1.1 (GigabitEthernet0/1), g=172.31.192.201, len 100, forward
*Sep 19 15:34:39.928: IP: s=172.31.16.5 (GigabitEthernet0/0), d=172.31.1.1 (GigabitEthernet0/1), len 100, sending full packet
Cette sortie montre le paquet de retour provenant de 172.31.1.1 avec l'adresse de destination 172.31.16.5, qui est ensuite traduite vers l'adresse 172.16.89.32. Le paquet ICMP résultant est transféré à l'interface GigabitEthernet0/0 (routeur NAT).
*Sep 19 15:34:39.930: NAT*: i: icmp (172.31.1.1, 20) -> (172.31.16.5, 20) [100]
*Sep 19 15:34:39.930: NAT*: s=172.31.1.1, d=172.31.16.5->172.16.89.32 [100]
L'échange des paquets ICMP continue. Le processus NAT pour cette sortie de débogage est identique à la sortie précédente.
*Sep 19 15:34:39.932: NAT*: o: icmp (172.16.89.32, 20) -> (172.31.1.1, 20) [101]
*Sep 19 15:34:39.932: NAT*: s=172.16.89.32->172.31.16.5, d=172.31.1.1 [101]
*Sep 19 15:34:39.933: NAT*: i: icmp (172.31.1.1, 20) -> (172.31.16.5, 20) [101]
*Sep 19 15:34:39.933: NAT*: s=172.31.1.1, d=172.31.16.5->172.16.89.32 [101]
*Sep 19 15:34:39.935: NAT*: o: icmp (172.16.89.32, 20) -> (172.31.1.1, 20) [102]
*Sep 19 15:34:39.935: NAT*: s=172.16.89.32->172.31.16.5, d=172.31.1.1 [102]
*Sep 19 15:34:39.936: NAT*: i: icmp (172.31.1.1, 20) -> (172.31.16.5, 20) [102]
*Sep 19 15:34:39.936: NAT*: s=172.31.1.1, d=172.31.16.5->172.16.89.32 [102]
*Sep 19 15:34:39.938: NAT*: o: icmp (172.16.89.32, 20) -> (172.31.1.1, 20) [103]
*Sep 19 15:34:39.938: NAT*: s=172.16.89.32->172.31.16.5, d=172.31.1.1 [103]
*Sep 19 15:34:39.939: NAT*: i: icmp (172.31.1.1, 20) -> (172.31.16.5, 20) [103]
*Sep 19 15:34:39.939: NAT*: s=172.31.1.1, d=172.31.16.5->172.16.89.32 [103]
*Sep 19 15:34:39.940: NAT*: o: icmp (172.16.89.32, 20) -> (172.31.1.1, 20) [104]
*Sep 19 15:34:39.940: NAT*: s=172.16.89.32->172.31.16.5, d=172.31.1.1 [104]
*Sep 19 15:34:39.942: NAT*: i: icmp (172.31.1.1, 20) -> (172.31.16.5, 20) [104]
*Sep 19 15:34:39.942: NAT*: s=172.31.1.1, d=172.31.16.5->172.16.89.32 [104]
Résumé
Quand le paquet se déplace de l'extérieur vers l'intérieur, la traduction se produit dans un premier temps, puis la table de routage est examinée pour vérifier que la destination existe.
Quand le paquet se déplace de l'extérieur vers l'intérieur, la table de routage est examinée dans un premier temps pour vérifier que la destination existe, et la traduction se produit ensuite.
Référez-vous à la commande NAT d'opération pour de plus amples informations.
Notez la partie du paquet IP qui est traduite lorsqu’elle est utilisée avec chacune des commandes précédentes. Ce tableau contient les recommandations suivantes :
Commande |
Action |
Commande statique ip nat outside source |
- Traduit la source des paquets IP se déplaçant de l'extérieur vers l'intérieur.
- Traduit la destination des paquets IP se déplaçant de l'intérieur vers l'extérieur.
|
Commande statique ip nat inside source |
- Traduit la source des paquets IP se déplaçant de l'intérieur vers l'extérieur.
- Traduit la destination des paquets IP se déplaçant de l'extérieur vers l'intérieur.
|
Ces directives indiquent qu'il existe plus d'une manière de traduire un paquet. En fonction de vos besoins spécifiques, déterminez comment définir les interfaces NAT (internes ou externes) et quelles routes la table de routage contient avant ou après la traduction. Gardez à l'esprit que la partie du paquet traduit dépend de la direction que le paquet dans laquelle il se déplace et de la manière dont vous configurez la traduction NAT.
Informations connexes