IP : Traduction d'adresses de réseau (NAT)

Utilisation du mode NAT dans les réseaux qui se chevauchent

15 décembre 2015 - Traduction automatique
Autres versions: PDFpdf | Anglais (22 août 2015) | Commentaires


Contenu


Introduction

Ce document explique comment vous pouvez utiliser la Traduction d'adresses de réseau (NAT) pour des réseaux en superposition. Les réseaux en superposition sont le résultat de l'attribution d'une adresse IP à un périphérique de votre réseau qui est déjà légalement attribuée à un autre périphérique sur Internet ou un réseau extérieur. Les réseaux en superposition se produisent également quand deux sociétés, qui utilisent chacune des adresses IP RFC 1918 dans leurs réseaux, fusionnent.leavingcisco.com Ces deux réseaux doivent communiquer, de préférence sans devoir réadresser tous leurs périphériques.

Conditions préalables

Conditions requises

Une compréhension de base d'adressage IP, de Routage IP, et de Système de noms de domaine (DNS) est utile pour comprendre le contenu du document.

Composants utilisés

Le prenez en charge pour NAT a commencé dans la version de logiciel 11.2 de Ý de Cisco IOS. Pour plus d'informations sur le support de plate-forme voir les forums aux questions NAT.

Conventions

Pour plus d'informations sur les conventions utilisées dans ce document, reportez-vous aux Conventions relatives aux conseils techniques Cisco.

Configurez

Cette section vous fournit des informations pour configurer les fonctionnalités décrites dans ce document.

Remarque: Pour obtenir des informations supplémentaires sur les commandes utilisées dans ce document, utilisez l'Outil de recherche de commande (clients enregistrés seulement).

Diagramme du réseau

Ce document utilise la configuration réseau indiquée dans le diagramme suivant :

Notez que le périphérique interne a la même adresse IP que le périphérique externe avec lequel elle souhaite communiquer.

3a.gif

Configurations

Le routeur A est configuré pour NAT, tels qu'il traduit le périphérique interne à une adresse du groupe « test-boucle » et le périphérique externe à une adresse du groupe « test-dn. » Une explication de la façon dont cette configuration aide avec superposer suit la table de configuration ci-dessous.

routeur A
!
version 11.2
no service udp-small-servers
no service tcp-small-servers
!
hostname Router-A
!
!
ip domain-name cisco.com
ip name-server 171.69.2.132
!
interface Loopback0
 ip address 1.1.1.1 255.0.0.0
!
interface Ethernet0
 ip address 135.135.1.2 255.255.255.0
 shutdown
!
interface Serial0
 ip address 171.68.200.49 255.255.255.0
 ip nat inside
 no ip mroute-cache
 no ip route-cache
 no fair-queue
!
interface Serial1
 ip address 172.16.47.146 255.255.255.240
 ip nat outside
 no ip mroute-cache
 no ip route-cache
!
ip nat pool test-loop 172.16.47.161 172.16.47.165 prefix-length 28
ip nat pool test-dns 172.16.47.177 172.16.47.180 prefix-length 28
ip nat inside source list 7 pool test-loop
ip nat outside source list 7 pool test-dns
ip classless
ip route 0.0.0.0 0.0.0.0 172.16.47.145
access-list 7 permit 171.68.200.0 0.0.0.255
!
!
line con 0
 exec-timeout 0 0
line aux 0
line vty 0 4
 login
!
end

Pour que la configuration ci-dessus aide avec superposer quand le périphérique interne communique avec le périphérique externe, il doit utiliser le nom de domaine du périphérique externe.

Le périphérique interne ne peut pas utiliser l'adresse IP du périphérique externe parce que c'est pareil que l'adresse attribuée à lui-même (le périphérique interne). Par conséquent, le périphérique interne enverra une requête DNS pour le nom de domaine du périphérique externe. L'adresse IP du périphérique interne sera la source de cette requête, et cette adresse sera traduite à une adresse du groupe de « test-boucle » parce que la commande de liste d'ip nat inside source est configurée.

Le serveur DNS répond à l'adresse qui est provenue le groupe « test-boucle » avec l'adresse IP associée avec le nom de domaine du périphérique externe dans la charge utile du paquet. L'adresse de destination du paquet de réponse est traduite de nouveau à l'adresse de périphérique interne, et l'adresse dans la charge utile du paquet de réponse est alors traduite à une adresse du groupe « test-dn » en raison de la commande de liste d'ip nat outside source. Par conséquent le périphérique interne apprend que l'adresse IP pour le périphérique externe est l'une des adresses du groupe de « test-dn », et elle utilisera cette adresse quand communiquant avec le périphérique externe. S'exécuter de routeur NAT prend soin des traductions en ce moment.

Ce processus peut être vu en détail dans la section de dépannage. Les périphériques utilisant des adresses superposantes peuvent communiquer les uns avec les autres sans utilisation des DN, mais dans ce cas, NAT statique devrait être configuré. Un exemple de la façon dont ceci pourrait être fait suit.

routeur A
!
version 11.2
no service udp-small-servers
no service tcp-small-servers
!
hostname Router-A
!
!

ip domain-name cisco.com
ip name-server 171.69.2.132
!
interface Loopback0
 ip address 1.1.1.1 255.0.0.0
!
interface Ethernet0
 ip address 135.135.1.2 255.255.255.0
 shutdown
!
interface Serial0
 ip address 171.68.200.49 255.255.255.0
 ip nat inside
 no ip mroute-cache
 no ip route-cache
 no fair-queue
!
interface Serial1
 ip address 172.16.47.146 255.255.255.240
 ip nat outside
 no ip mroute-cache
 no ip route-cache
!
ip nat pool test-loop 172.16.47.161 172.16.47.165 prefix-length 28
ip nat inside source list 7 pool test-loop
ip nat outside source static 171.68.200.48 172.16.47.177
ip classless
ip route 0.0.0.0 0.0.0.0 172.16.47.145
ip route 172.16.47.160 255.255.255.240 Serial0

!--- This line is necessary to make NAT work for return traffic.
!--- The router needs to have a route for the pool to the inside 
!--- NAT interface so it knows that a translation is needed.

access-list 7 permit 171.68.200.0 0.0.0.255
!
!
line con 0
 exec-timeout 0 0
line aux 0
line vty 0 4
 login
!
end

Avec la configuration ci-dessus, quand le périphérique interne veut communiquer avec le périphérique externe il peut maintenant utiliser l'adresse IP 172.16.47.177, et les DN dans non nécessaire. Comme affiché ci-dessus, la traduction de l'adresse de périphérique interne est encore faite dynamiquement, ainsi il signifie que le routeur doit obtenir des paquets du périphérique interne avant qu'une traduction soit créée. Pour cette raison, le périphérique interne doit initier toutes les connexions pour que le périphérique interne et le périphérique externe communique. Si on l'exigeait que les connexions d'initié de périphérique externe au périphérique interne, alors l'adresse pour le périphérique interne doit également être statiquement configurée.

Vérifiez

Aucune procédure de vérification n'est disponible pour cette configuration.

Dépannez

Cette section fournit des informations que vous pouvez utiliser pour dépanner votre configuration.

Le processus par lequel le périphérique interne a utilisé des DN pour communiquer avec le périphérique externe, comme décrit ci-dessus, peut être visualisé en détail avec le processus de dépannage suivant.

Actuellement il n'y a aucune traduction dans la table de traduction qui peut être vue avec la commande de show ip nat translations. Les exemples ci-dessous utilisent le debug ip packet et le debug ip nat commande à la place.

Remarque: Les commandes de débogage génèrent une importante quantité de sortie. Utilisez-le seulement quand le trafic sur le réseau IP est bas, ainsi l'autre activité sur le système n'est pas compromise.

Router-A# show ip nat translations
Router-A# show debug
Generic IP:
  IP packet debugging is on (detailed)
  IP NAT debugging is on

Quand le périphérique interne envoie sa requête DNS au serveur DNS, qui réside en dehors du domaine NAT, l'adresse source de la requête DNS (l'adresse du périphérique interne) obtient en raison traduit de l'ip nat à l'intérieur des commandes. Ceci peut être vu dans la sortie de débogage ci-dessous.

NAT: s=171.68.200.48->172.16.47.161, d=171.69.2.132 [0]
IP: s=172.16.47.161 (Serial0), d=171.69.2.132 (Serial1), g=172.16.47.145, len 66, forward
    UDP src=6988, dst=53

Quand le serveur DNS envoie les DN répondent, la charge utile des DN que la réponse obtient en raison traduit des commandes d'ip nat outside.

Remarque: NAT ne regarde pas la charge utile des DN répondent à moins que la traduction se produise sur l'en-tête IP du paquet de réponse. Voyez l'ordre de groupe de la liste 7 d'ip nat outside source en configuration de routeur ci-dessus.

Le premier message NAT dans la sortie de débogage ci-dessous prouve que le routeur identifie les DN répondent et traduit l'adresse IP dans la charge utile à 172.16.47.177. Le deuxième message NAT affiche le routeur traduisant la destination de la réponse de DN de sorte qu'il puisse expédier une réponse de nouveau au périphérique interne qui a exécuté la requête DNS initiale. La partie de destination de l'en-tête, l'adresse globale interne, est traduite à l'adresse d'interne local.

La charge utile de la réponse de DN est traduite :

NAT: DNS resource record 171.68.200.48 -> 172.16.47.177

La partie de destination de l'en-tête IP dans le paquet de réponse de DN est traduite :

NAT: s=171.69.2.132, d=172.16.47.161->171.68.200.48 [65371]
IP: s=171.69.2.132 (Serial1), d=171.68.200.48 (Serial0), g=171.68.200.48, len 315, forward
    UDP src=53, dst=6988

Regardons une requête DNS et une réponse différentes :

NAT: s=171.68.200.48->172.16.47.161, d=171.69.2.132 [0]
IP: s=172.16.47.161 (Serial0), d=171.69.2.132 (Serial1), g=172.16.47.145, len 66, forward
    UDP src=7419, dst=53
NAT: DNS resource record 171.68.200.48 -> 172.16.47.177
NAT: s=171.69.2.132, d=172.16.47.161->171.68.200.48 [65388]
IP: s=171.69.2.132 (Serial1), d=171.68.200.48 (Serial0), g=171.68.200.48, len 315, forward
    UDP src=53, dst=7419

Maintenant que la charge utile des DN a été traduite, notre table de traduction a une entrée pour l'externe local et les adresses globales du périphérique externe. Avec ces entrées dans la table, nous pouvons maintenant entièrement traduire l'en-tête des paquets d'ICMP permutés entre le périphérique interne et le périphérique externe. Regardons cet échange de la sortie de débogage ci-dessous.

La sortie suivante affiche l'adresse source (l'adresse de périphérique interne) étant traduite.

NAT: s=171.68.200.48->172.16.47.161, d=172.16.47.177 [406]

Ici, l'adresse de destination (l'adresse locale externe du périphérique externe) est traduite.

NAT: s=172.16.47.161, d=172.16.47.177->171.68.200.48 [406]

Après traduction, le paquet IP ressemble à ceci :

IP: s=172.16.47.161 (Serial0), d=171.68.200.48 (Serial1), g=172.16.47.145, len 100, forward
    ICMP type=8, code=0

La sortie suivante affiche l'adresse source (l'adresse de périphérique externe) étant traduite sur le paquet de retour.

NAT*: s=171.68.200.48->172.16.47.177, d=172.16.47.161 [16259]

Maintenant l'adresse de destination (l'adresse globale du périphérique interne) du paquet de retour est traduite.

NAT*: s=172.16.47.177, d=172.16.47.161->171.68.200.48 [16259]

Après traduction, le paquet de retour ressemble à ceci :

IP: s=172.16.47.177 (Serial1), d=171.68.200.48 (Serial0), g=171.68.200.48, len 100, forward
    ICMP type=0, code=0

L'échange des paquets continue entre le périphérique interne et le périphérique externe.

NAT: s=171.68.200.48->172.16.47.161, d=172.16.47.177 [407]
NAT: s=172.16.47.161, d=172.16.47.177->171.68.200.48 [407]
IP: s=172.16.47.161 (Serial0), d=171.68.200.48 (Serial1), g=172.16.47.145, len 100, forward
    ICMP type=8, code=0
NAT*: s=171.68.200.48->172.16.47.177, d=172.16.47.161 [16262]
NAT*: s=172.16.47.177, d=172.16.47.161->171.68.200.48 [16262]
IP: s=172.16.47.177 (Serial1), d=171.68.200.48 (Serial0), g=171.68.200.48, len 100, forward
    ICMP type=0, code=0
NAT: s=171.68.200.48->172.16.47.161, d=172.16.47.177 [408]
NAT: s=172.16.47.161, d=172.16.47.177->171.68.200.48 [408]
IP: s=172.16.47.161 (Serial0), d=171.68.200.48 (Serial1), g=172.16.47.145, len 100, forward
    ICMP type=8, code=0
NAT*: s=171.68.200.48->172.16.47.177, d=172.16.47.161 [16267]
NAT*: s=172.16.47.177, d=172.16.47.161->171.68.200.48 [16267]
IP: s=172.16.47.177 (Serial1), d=171.68.200.48 (Serial0), g=171.68.200.48, len 100, forward
    ICMP type=0, code=0
NAT: s=171.68.200.48->172.16.47.161, d=172.16.47.177 [409]
NAT: s=172.16.47.161, d=172.16.47.177->171.68.200.48 [409]
IP: s=172.16.47.161 (Serial0), d=171.68.200.48 (Serial1), g=172.16.47.145, len 100, forward
    ICMP type=8, code=0
NAT*: s=171.68.200.48->172.16.47.177, d=172.16.47.161 [16273]
NAT*: s=172.16.47.177, d=172.16.47.161->171.68.200.48 [16273]
IP: s=172.16.47.177 (Serial1), d=171.68.200.48 (Serial0), g=171.68.200.48, len 100, forward
    ICMP type=0, code=0
NAT: s=171.68.200.48->172.16.47.161, d=172.16.47.177 [410]
NAT: s=172.16.47.161, d=172.16.47.177->171.68.200.48 [410]
IP: s=172.16.47.161 (Serial0), d=171.68.200.48 (Serial1), g=172.16.47.145, len 100, forward
    ICMP type=8, code=0
NAT*: s=171.68.200.48->172.16.47.177, d=172.16.47.161 [16277]
NAT*: s=172.16.47.177, d=172.16.47.161->171.68.200.48 [16277]
IP: s=172.16.47.177 (Serial1), d=171.68.200.48 (Serial0), g=171.68.200.48, len 100, forward
    ICMP type=0, code=0

Une fois l'échange des paquets entre extérieur et intérieur est complet, nous peut regarder la table de traduction, qui a trois entrées. La première entrée a été créée quand le périphérique interne a envoyé une requête DNS. La deuxième entrée a été créée quand la charge utile de la réponse de DN a été traduite. La troisième entrée a été créée quand le ping a été permuté entre le périphérique interne et le périphérique externe. La troisième entrée est un résumé des deux premières entrées, et est utilisée pour des traductions plus efficaces.

Router-A# show ip nat translations
Pro Inside global      Inside local       Outside local      Outside global
--- 172.16.47.161      171.68.200.48      ---                ---
--- ---                ---                172.16.47.177      171.68.200.48
--- 172.16.47.161      171.68.200.48      172.16.47.177      171.68.200.48

Il est important de noter quand vous essayez d'établir la Connectivité entre deux réseaux en superposition en exécutant NAT dynamique sur un routeur simple de Cisco, vous doit utiliser des DN pour créer un externe local à la traduction globale d'extérieur. Si vous n'utilisez pas des DN, la Connectivité peut être établie avec NAT statique, mais il est plus difficile de gérer.

Conversations connexes de la communauté de soutien de Cisco

Le site Cisco Support Community est un forum où vous pouvez poser des questions, répondre à des questions, faire part de suggestions et collaborer avec vos pairs.


Informations connexes


Document ID: 13774