SUR CETTE PAGE
Exemple : Configuration de NAT64 dynamique pour la gestion de l’épuisement des adresses IPv4
Cet exemple configure NAT64 dynamique sur un routeur Universal Edge 3D MX Series avec un DPC de services. La configuration reproduit l’exemple de flux trouvé dans draft-ietf-behave-v6v4-xlate-stateful-12 et RFC 6146 Stateful NAT64 : Traduction des adresses réseau et des protocoles des clients IPv6 vers les serveurs IPv4.
Cet exemple contient les sections suivantes :
Exigences
Cet exemple utilise les composants matériels et logiciels suivants :
Un routeur Universal Edge 3D MX Series avec un DPC de services ou un routeur Edge multiservice M Series avec un PIC de services
Junos OS version 10.2 ou ultérieure
Un serveur de noms qui prend en charge DNS64
Cet exemple de configuration a été testé à l’aide de la version logicielle répertoriée et est supposé fonctionner sur toutes les versions ultérieures.
Application
Les routeurs Juniper Networks dotés d’un PIC de services ou d’un concentracteur de port dense (DPC) de services prennent en charge NAT64 dynamique. Le système dirige les paquets IPv6 provenant d’hôtes IPv6 uniquement vers un DPC de services où les paquets sont convertis en IPv4 en fonction de la configuration. Dans le chemin inverse, le système envoie des paquets IPv4 au DPC des services, où d’autres processus système inversent la traduction et renvoient le paquet IPv6 correspondant au client.
Vue d’ensemble et topologie de la configuration
La figure 1 montre un routeur MX Series, le routeur R2, implémentant NAT64 avec deux interfaces Gigabit Ethernet et un DPC de services. L’interface connectée au réseau IPv4 est ge-1/3/6, et l’interface connectée au réseau IPv6 est ge-1/3/5.
Un serveur de noms local avec fonctionnalité DNS64, que le système utilise dans le cadre du processus de traduction, est également présenté. Le serveur de noms local est configuré avec le /96 préfixe attribué au routeur NAT64 local.
NAT64
Configuration
La configuration de NAT64 dynamique implique les tâches suivantes :
- Configuration du PIC et des interfaces
- Configuration du pool NAT64
- Configuration de l’ensemble de services
Configuration du PIC et des interfaces
Procédure étape par étape
Pour configurer le PIC et les interfaces sur le routeur R2 :
Modifiez la
chassisconfiguration pour activer un package de services de couche 3. Le package de services etsp-l’interface () qui lui est associée sont utilisés pour manipuler le trafic avant qu’il ne soit livré à sa destination. Pour plus d’informations sur la configuration des packages, reportez-vous au Guide de configuration des interfaces de services Junos OS.Configurez le package de services au niveau de la
[edit chassis fpc pic adaptive-services]hiérarchie. Cet exemple suppose que le PIC se trouve dans le FPC 5, emplacement 0.[edit chassis] fpc 5 { pic 0 { adaptive-services { service-package layer-3; } } }Configurez l’interface
ge-1/3/5connectée au réseau IPv6 :Incluez les
family inetinstructions (IPv4) etfamily inet6(IPv6) au niveau de la[edit interfaces interface-name unit unit-number]hiérarchie.Incluez l’adresse IPv6 au niveau de la
[edit interfaces unit unit-number family inet6 address]hiérarchie.Configurez un ensemble de services au niveau de la
[edit interfaces interface-name unit unit-number family service input service-set][edit interfaces interface-name unit unit-number family service output service-set]hiérarchie.[edit interfaces] ge-1/3/5 { description "IPv6-only domain"; unit 0 { family inet; family inet6 { service { input { service-set set_0; } output { service-set set_0; } } address 2001:DB8::1/64; } } }
Configurez l’interface
ge-1/3/6connectée au réseau IPv4 :Incluez l’instruction
family inetau niveau de la[edit interfaces unit unit-number]hiérarchie.Incluez l’adresse IPv4 au niveau de la
[edit interfaces unit unit-number family inet]hiérarchie.[edit interfaces] ge-1/3/6 { description "Internet-IPv4 domain"; unit 0 { family inet { address 192.0.1.1/16; } } }
Configurez l’interface des services, dans cet exemple,
sp-5/0/0. Cet exemple configure un journal système pour tous les services de l’hôte local.Le package de services associé à cette interface a été configuré à l’étape 2. Spécifiez les familles d’adresses IPv4 et IPv6 au niveau de la
[edit interfaces interface-name unit unit-number]hiérarchie. L’ensemble de services que vous configurez dans Configuration du jeu de services est associé à cette interface.[edit interfaces] sp-5/0/0 { services-options { syslog { host local { services any; log-prefix XXXXXXXX; } } } unit 0 { family inet; family inet6; } }
Configuration du pool NAT64
Procédure étape par étape
Cette procédure permet de configurer le routeur NAT64, le routeur R2, avec le préfixe pour représenter les /96 adresses IPv4 dans l’espace d’adressage IPv6. Les paquets IPv6 adressés à une adresse de destination contenant le /96 préfixe sont ensuite acheminés vers l’interface IPv6 du routeur NAT. Vous pouvez également configurer une ou plusieurs adresses de transport IPv4 pour le pool NAT.
Cet exemple montre comment configurer la traduction d’adresse réseau pour l’adresse 203.0.113.1/32IPv4 . Il montre également comment configurer le préfixe 64:FF9B::/96IPv6 . Pour configurer le pool NAT64 :
Configurez une adresse de transport IPv4 pour le pool au niveau de la
[edit services nat pool pool-name]hiérarchie. Configurez le port du pool NAT à attribuer automatiquement.[edit services nat] pool src-pool-nat64 { address 203.0.113.0/24; port automatic; }Configurez une règle NAT pour traduire les paquets à partir du réseau IPv6. Les règles NAT spécifient le trafic à mettre en correspondance et l’action à effectuer lorsque le trafic correspond à la règle.
Dans cet exemple, une seule règle est requise pour effectuer la traduction d’adresse. La règle sélectionne tout le trafic provenant de l’adresse source sur le réseau IPv6,
2001:DB8::1/128. L’adresse de transport configurée à l’étape 1 est ensuite spécifiée pour la traduction à l’aide du/96préfixe.Configurez la règle au niveau de la
[edit services nat rule rule-name]hiérarchie comme suit :[edit services nat] rule nat64 { match-direction input; term t1 { from { source-address { 2001:DB8::0/96; } destination-address { 64:FF9B::/96; } } then { translated { source-pool src-pool-nat64; destination-prefix 64:FF9B::/96; translation-type { stateful-nat64; } } } } }
Configuration de l’ensemble de services
Procédure étape par étape
Pour configurer l’ensemble de services pour le service NAT sur le routeur R2, vous devez associer la règle (nat64) et l’interface de service (sp-5/0/0) précédemment configurées à l’ensemble de services. Vous incluez également une configuration du journal système.
Pour configurer ces paramètres au niveau de la [edit services service-set service-set-name] hiérarchie :
Configurez le journal système.
[edit services service-set set_0] syslog { host local { services any; log-prefix XXXSVC-SETYYY; } }Associez la règle NAT et l’interface de service à l’ensemble de services au niveau de la
[edit services service-set service-set-name]hiérarchie.[edit services ] service-set set_0 { nat-rules nat64; interface-service { service-interface sp-5/0/0; } }Sur le routeur R2, validez la configuration.
user@R2> commit check configuration check succeeds user@R2> commit
Vérification du fonctionnement du NAT64
Vous pouvez utiliser les fonctionnalités suivantes pour vérifier votre configuration NAT64 :
Commandes CLI sur le routeur
Enregistrement
Vous pouvez également utiliser un outil de test capable de générer des flux IPv6 dirigés vers le routeur MX Series, en utilisant le préfixe bien connu (64:FF9B::/96) comme destination.
Entre autres, vous pouvez utiliser les commandes CLI suivantes pour vérifier votre configuration NAT64 :
show services stateful-firewall flows
show services stateful-firewall conversations
show services nat pool detail
show services stateful-firewall statistics extensive
Dans cet exemple :
Dans le sens d’entrée, l’adresse de destination IPv4 est récupérée à partir de l’adresse de destination IPv6 dont le préfixe correspond au préfixe de destination configuré à partir de la longueur de préfixe spécifiée.
Dans le sens inverse ou de sortie, l’adresse IPv4 est suffixée au préfixe de destination à la longueur de préfixe spécifiée.
Pour confirmer la configuration NAT64, effectuez les opérations suivantes :
- Afficher les flux NAT64
- Afficher les conversations NAT64
- Afficher les statistiques globales relatives aux pools NAT
- Vérifier les journaux système
- Vérifier que les conversations NAT64 ont lieu
Afficher les flux NAT64
But
Affichez et vérifiez que les flux NAT64 sont créés et contiennent une traduction correcte des adresses réseau.
Action
Pour afficher les flux NAT64 sur le routeur R2, utilisez la show services stateful-firewall flows commande.
user@R2> show services stateful-firewall flows
Interface: sp-5/0/0, Service set: set_0
Flow State Dir Frm count
TCP 2001:db8::4:1160 ->64:ff9b::c000:201:80 Forward I 5
NAT source 2001:db8::4:1160 -> 203.0.113.1:
NAT dest 64:ff9b::c000:201:80 -> 192.0.2.1:80
TCP 2001:db8::2:1166 ->64:ff9b::c000:201:80 Forward I 5
NAT source 2001:db8::2:1166 -> 203.0.113.1:1420
NAT dest 64:ff9b::c000:201:80 -> 192.0.2.1:80
TCP 192.0.2.1:80 -> 203.0.113.1:1413 Forward O 4
NAT source 192.0.2.1:80 -> 64:ff9b::c000:201:21286
NAT dest 203.0.113.1:1413 -> 2001:db8::4:1167
TCP 2001:db8::3:1123 ->64:ff9b::c000:201:80 Forward I 5
NAT source 2001:db8::3:1123 -> 203.0.113.1:1385
NAT dest 64:ff9b::c000:201:80 -> 192.0.2.1:80
TCP 192.0.2.1:80 -> 203.0.113.1:1376 Forward O 4
NAT source 192.0.2.1:80 -> 64:ff9b::c000:201:21367
NAT dest 203.0.113.1:1376 -> 2001:db8::3:1120
TCP 2001:db8::3:1136 ->64:ff9b::c000:201:80 Forward I 5
NAT source 2001:db8::3:1136 -> 203.0.113.1:1424
NAT dest 64:ff9b::c000:201:80 -> 192.0.2.1:80
TCP 2001:db8::4:1146 ->64:ff9b::c000:201:80 Forward I 5
NAT source 2001:db8::4:1146 -> 203.0.113.1:1350
NAT dest 64:ff9b::c000:201:80 -> 192.0.2.1:80
TCP 2001:db8::3:1110 ->64:ff9b::c000:201:80 Forward I 5
NAT source 2001:db8::3:1110 -> 203.0.113.1:1346
NAT dest 64:ff9b::c000:201:80 -> 192.0.2.1:80
TCP 192.0.2.1:80 -> 203.0.113.1:1428 Forward O 4
NAT source 192.0.2.1:80 -> 64:ff9b::c000:201:21367
NAT dest 203.0.113.1:1428 -> 2001:db8::4:1172
TCP 192.0.2.1:80 -> 203.0.113.1:1393 Forward O 4
NAT source 192.0.2.1:80 -> 64:ff9b::c000:201:80
NAT dest 203.0.113.1:1393 -> 2001:db8::2:1157
TCP 192.0.2.1:80 -> 203.0.113.1:1346 Forward O 4
NAT source 192.0.2.1:80 -> 64:ff9b::c000:201:21367
NAT dest 203.0.113.1:1346 -> 2001:db8::3:1110
TCP 2001:db8::2:1148 ->64:ff9b::c000:201:80 Forward I 5
NAT source 2001:db8::2:1148 -> 203.0.113.1:1366
NAT dest 64:ff9b::c000:201:80 -> 192.0.2.1:80
TCP 192.0.2.1:80 -> 203.0.113.1:1363 Forward O 4
Sens
Dans l’exemple de sortie, les adresses NAT source et de destination NAT des directions d’entrée (I) et de sortie (O) sont affichées. Les flux NAT64 répertoriés dans cette sortie ne sont pas dans un ordre spécifique.
Afficher les conversations NAT64
But
Affichez et vérifiez que les conversations NAT64 (collections de flux liés) sont correctes.
Action
Pour afficher les conversations NAT64 sur le routeur R2, utilisez la show services stateful-firewall conversations commande. Contrairement à la flows commande qui signale tous les flux sans ordre spécifique, la sortie de la conversations commande regroupe les flux qui appartiennent à une conversation pour faciliter le dépannage de la communication entre une paire d’hôtes spécifique.
user@R2> show services stateful-firewall conversations
Interface: sp-5/0/0, Service set: set_0
Conversation: ALG protocol: tcp
Number of initiators: 1, Number of responders: 1
Flow State Dir Frm count
TCP 2001:db8::3:1188 ->64:ff9b::c000:201:80 Forward I 5
NAT source 2001:db8::3:1188 -> 203.0.113.1:1580
NAT dest 64:ff9b::c000:201:80 -> 192.0.2.1:80
TCP 192.0.2.1:80 -> 203.0.113.1:1580 Forward O 4
NAT source 192.0.2.1:80 -> 64:ff9b::c000:201:21303
NAT dest 203.0.113.1:1580 -> 2001:db8::3:1188
Conversation: ALG protocol: tcp
Number of initiators: 1, Number of responders: 1
Flow State Dir Frm count
TCP 2001:db8::4:1213 ->64:ff9b::c000:201:80 Forward I 5
NAT source 2001:db8::4:1213 -> 203.0.113.1:1551
NAT dest 64:ff9b::c000:201:80 -> 192.0.2.1:80
TCP 192.0.2.1:80 -> 203.0.113.1:1551 Forward O 4
NAT source 192.0.2.1:80 -> 64:ff9b::c000:201:21367
NAT dest 203.0.113.1:1551 -> 2001:db8::4:1213
Conversation: ALG protocol: tcp
Number of initiators: 1, Number of responders: 1
Flow State Dir Frm count
TCP 2001:db8::3:1169 ->64:ff9b::c000:201:80 Forward I 5
NAT source 2001:db8::3:1169 -> 203.0.113.1:1523
NAT dest 64:ff9b::c000:201:80 -> 192.0.2.1:80
TCP 192.0.2.1:80 -> 203.0.113.1:1523 Forward O 4
NAT source 192.0.2.1:80 -> 64:ff9b::c000:201:80
NAT dest 203.0.113.1:1523 -> 2001:db8::3:1169
Conversation: ALG protocol: tcp
Number of initiators: 1, Number of responders: 1
Flow State Dir Frm count
TCP 2001:db8::2:1233 ->64:ff9b::c000:201:80 Forward I 5
NAT source 2001:db8::2:1233 -> 203.0.113.1:1621
NAT dest 64:ff9b::c000:201:80 -> 192.0.2.1:80
TCP 192.0.2.1:80 -> 203.0.113.1:1621 Forward O 4
NAT source 192.0.2.1:80 -> 64:ff9b::c000:201:21367
NAT dest 203.0.113.1:1621 -> 2001:db8::2:1233
Conversation: ALG protocol: tcp
Number of initiators: 1, Number of responders: 1
Flow State Dir Frm count
TCP 2001:db8::2:1218 ->64:ff9b::c000:201:80 Forward I 5
NAT source 2001:db8::2:1218 -> 203.0.113.1:1575
NAT dest 64:ff9b::c000:201:80 -> 192.0.2.1:80
TCP 192.0.2.1:80 -> 203.0.113.1:1575 Forward O 4
NAT source 192.0.2.1:80 -> 64:ff9b::c000:201:21367
NAT dest 203.0.113.1:1575 -> 2001:db8::2:1218
Conversation: ALG protocol: tcp
Number of initiators: 1, Number of responders: 1
Flow State Dir Frm count
TCP 2001:db8::4:1220 ->64:ff9b::c000:201:80 Forward I 5
NAT source 2001:db8::4:1220 -> 203.0.113.1:1572
NAT dest 64:ff9b::c000:201:80 -> 192.0.2.1:80
TCP 192.0.2.1:80 -> 203.0.113.1:1572 Forward O 4
NAT source 192.0.2.1:80 -> 64:ff9b::c000:201:21367
NAT dest 203.0.113.1:1572 -> 2001:db8::4:1220
Conversation: ALG protocol: tcp
Number of initiators: 1, Number of responders: 1
Flow State Dir Frm count
TCP 2001:db8::2:1211 ->64:ff9b::c000:201:80 Forward I 5
NAT source 2001:db8::2:1211 -> 203.0.113.1:1554
NAT dest 64:ff9b::c000:201:80 -> 192.0.2.1:80
TCP 192.0.2.1:80 -> 203.0.113.1:1554 Forward O 4
NAT source 192.0.2.1:80 -> 64:ff9b::c000:201:21286
NAT dest 203.0.113.1:1554 -> 2001:db8::2:1211
Sens
L’exemple de sortie affiche les conversations NAT64 entre des paires d’hôtes spécifiques.
Afficher les statistiques globales relatives aux pools NAT
But
Affichez et vérifiez les statistiques NAT globales liées à l’utilisation des pools.
Action
Pour afficher les statistiques globales liées au pool NAT sur le routeur R2, utilisez la show services nat pool detail commande. Vous utilisez normalement cette commande en conjonction avec la commande utilisée dans Afficher les show services stateful-firewall flows flux NAT64, qui affiche la source et la sortie de la traduction.
user@R2> show services nat pool detail
Interface: sp-5/0/0, Service set: set_0
NAT pool: src-pool-nat64, Translation type: dynamic
Address range: 203.0.113.1-203.0.113.254
Port range: 512-65535, Ports in use: 102, Out of port errors: 0, Max ports used: 192
NAT pool: _jpool_nat64_t1_, Translation type: static
Address range: 0.100.255.155-0.100.255.154
Sens
L’exemple de sortie affiche des statistiques et des informations pertinentes sur les pools NAT64.
Vérifier les journaux système
But
Vérifiez les journaux système, car le système crée des journaux détaillés au fur et à mesure que les sessions sont créées et supprimées.
Action
Lorsqu’une session est créée sur la base de l’exemple de configuration, deux journaux sont fournis. Le premier journal indique la règle et le terme auxquels le paquet correspond. Le deuxième journal indique la création du flux.
user@R2> show log messages
Oct 21 22:14:14 H1 (FPC Slot 5, PIC Slot 0) XXXSVC-SETYYY{set_0}[FWNAT]: ASP_SFW_CREATE_ACCEPT_FLOW: proto 6 (TCP) application: any, ge-1/3/5.0:2001:db8:0:0:0:0:0:1:1025 -> 64:ff9b:0:0:0:0:c000:201:80, creating forward or watch flow ; source address and port translate to 203.0.113.1:1593 ; destination address translates to 192.0.2.1
À la fin des sessions, le système crée un journal indiquant l’adresse du pool NAT et la libération du port en plus du journal de suppression du flux, comme suit :
Oct 21 22:14:17 H1 (FPC Slot 5, PIC Slot 0) XXXSVC-SETYYY{set_0}[FWNAT]:ASP_NAT_POOL_RELEASE: natpool release 203.0.113.1:1593[1]
Oct 21 22:14:17 H1 (FPC Slot 5, PIC Slot 0) XXXSVC-SETYYY{set_0}[FWNAT]: ASP_SFW_DELETE_FLOW: proto 6 (TCP) application: any, (null)(null)2001:db8:0:0:0:0:0:1:1025 -> 64:ff9b:0:0:0:0:c000:201:80, deleting forward or watch flow ; source address and port translate to 203.0.113.1:1593 ; destination address translates to 192.0.2.1
Sens
L’exemple de sortie affiche les messages de journal qui peuvent être vus lors de la création et de la fin d’une session.
Vérifier que les conversations NAT64 ont lieu
But
Vérifiez que les conversations NAT64 ont bien lieu. La prise en charge actuelle de la passerelle de couche applicative (ALG) est limitée à ICMP et traceroute.
Action
Pour vérifier que les conversations NAT64 ont lieu sur le routeur R2, utilisez la show services stateful-firewall conversations commande. Voici un exemple de sortie pour un test d’écho ICMP (ping).
user@R2> show services stateful-firewall conversations
Interface: sp-5/0/0, Service set: set_0
Conversation: ALG protocol: icmpv6
Number of initiators: 1, Number of responders: 1
Flow State Dir Frm count
ICMPV6 2001:db8::2 ->64:ff9b::c000:201 Watch I 21
NAT source 2001:db8::2 -> 203.0.113.1
NAT dest 64:ff9b::c000:201 -> 192.0.2.1
ICMP 192.0.2.1 -> 203.0.113.1 Watch O 21
NAT source 192.0.2.1 -> 64:ff9b::c000:201
NAT dest 203.0.113.1 -> 2001:db8::2
Sens
La sortie de l’échantillon affiche les résultats du test d’écho ICMP.