AUF DIESER SEITE
Beispiel: Konfigurieren von zustandsbehaftetem NAT64 für die Verarbeitung der IPv4-Adressenerschöpfung
In diesem Beispiel wird die zustandsbehaftete NAT64 auf einem Universal Edge-Router der MX-Serie 3D mit einem Service-DPC konfiguriert. Die Konfiguration repliziert den Beispielablauf in draft-ietf-behave-v6v4-xlate-stateful-12 und RFC 6146 Stateful NAT64: Network Address and Protocol Translation from IPv6 Clients to IPv4 Servers.
Dieses Beispiel enthält die folgenden Abschnitte:
Anforderungen
In diesem Beispiel werden die folgenden Hardware- und Softwarekomponenten verwendet:
Ein Universal Edge-Router der MX-Serie 3D mit einem Services DPC oder ein Multiservice Edge-Router der M Series mit einem Services PIC
Junos OS Version 10.2 oder höher
Ein Nameserver, der DNS64 unterstützt
Dieses Konfigurationsbeispiel wurde mit der aufgeführten Softwareversion getestet und es wird davon ausgegangen, dass es auch in allen späteren Versionen funktioniert.
Implementierung
Router von Juniper Networks mit einem Services PIC oder Services Dense Port Concentrator (DPC) unterstützen den zustandsbehafteten NAT64. Das System leitet IPv6-Pakete, die von reinen IPv6-Hosts kommen, an einen Service-DPC weiter, wo die Pakete entsprechend der Konfiguration in IPv4 übersetzt werden. Im umgekehrten Pfad sendet das System IPv4-Pakete an den Services DPC, wo zusätzliche Systemprozesse die Übersetzung rückgängig machen und das entsprechende IPv6-Paket an den Client zurücksenden.
Konfigurationsübersicht und -topologie
Abbildung 1 zeigt einen Router der MX-Serie, Router R2, der NAT64 mit zwei Gigabit-Ethernet-Schnittstellen und einem Service-DPC implementiert. Die Schnittstelle, die mit dem IPv4-Netzwerk verbunden ist, ist ge-1/3/6
, und die Schnittstelle, die mit dem IPv6-Netzwerk verbunden ist, ist ge-1/3/5
.
Außerdem wird ein lokaler Nameserver mit DNS64-Funktionalität gezeigt, den das System im Rahmen des Übersetzungsprozesses verwendet. Der lokale Nameserver wird mit dem Präfix konfiguriert, das /96
dem lokalen NAT64-Router zugewiesen ist.

Konfiguration
Die Konfiguration von zustandsbehaftetem NAT64 umfasst die folgenden Aufgaben:
- Konfigurieren des PIC und der Schnittstellen
- Konfigurieren des NAT64-Pools
- Konfigurieren des Servicesatzes
Konfigurieren des PIC und der Schnittstellen
Schritt-für-Schritt-Anleitung
So konfigurieren Sie den PIC und die Schnittstellen auf Router R2:
Bearbeiten Sie die
chassis
Konfiguration, um ein Layer 3-Servicepaket zu aktivieren. Das Servicepaket mit der zugehörigen Servicepaket-Schnittstelle (sp-
) wird verwendet, um den Datenverkehr zu manipulieren, bevor er an sein Ziel geliefert wird. Weitere Informationen zum Konfigurieren von Paketen finden Sie im Konfigurationshandbuch für Junos OS Services Interfaces.Konfigurieren Sie das Servicepaket auf Hierarchieebene
[edit chassis fpc pic adaptive-services]
. In diesem Beispiel wird davon ausgegangen, dass sich der PIC in FPC 5, Steckplatz 0 befindet.[edit chassis] fpc 5 { pic 0 { adaptive-services { service-package layer-3; } } }
Konfigurieren Sie die Schnittstelle, die
ge-1/3/5
mit dem IPv6-Netzwerk verbunden ist:Schließen Sie die
family inet
Anweisungen (IPv4) undfamily inet6
(IPv6) auf der[edit interfaces interface-name unit unit-number]
Hierarchieebene ein.Fügen Sie die IPv6-Adresse auf der
[edit interfaces unit unit-number family inet6 address]
Hierarchieebene hinzu.Konfigurieren Sie einen Servicesatz auf der
[edit interfaces interface-name unit unit-number family service input service-set]
Hierarchieebene und der[edit interfaces interface-name unit unit-number family service output service-set]
Hierarchieebene.[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; } } }
Konfigurieren Sie die Schnittstelle, die
ge-1/3/6
mit dem IPv4-Netzwerk verbunden ist:Schließen Sie die
family inet
Anweisung auf der[edit interfaces unit unit-number]
Hierarchieebene ein.Fügen Sie die IPv4-Adresse auf der
[edit interfaces unit unit-number family inet]
Hierarchieebene hinzu.[edit interfaces] ge-1/3/6 { description "Internet-IPv4 domain"; unit 0 { family inet { address 192.0.1.1/16; } } }
Konfigurieren Sie die Dienstschnittstelle, in diesem Beispiel
sp-5/0/0
. In diesem Beispiel wird ein Systemprotokoll für alle Dienste auf dem lokalen Host konfiguriert.Das dieser Schnittstelle zugeordnete Servicepaket wurde in Schritt 2 konfiguriert. Geben Sie sowohl die IPv4- als auch die IPv6-Adressfamilien auf Hierarchieebene
[edit interfaces interface-name unit unit-number]
an. Das Service-Set, das Sie unter Konfigurieren des Service-Sets konfigurieren, ist dieser Schnittstelle zugeordnet.[edit interfaces] sp-5/0/0 { services-options { syslog { host local { services any; log-prefix XXXXXXXX; } } } unit 0 { family inet; family inet6; } }
Konfigurieren des NAT64-Pools
Schritt-für-Schritt-Anleitung
Gehen Sie wie folgt vor, um den NAT64-Router (Router R2) mit dem /96
Präfix zur Darstellung von IPv4-Adressen im IPv6-Adressraum zu konfigurieren. IPv6-Pakete, die an eine Zieladresse adressiert sind, die das /96
Präfix enthält, werden dann an die IPv6-Schnittstelle des NAT-Routers weitergeleitet. Außerdem konfigurieren Sie eine oder mehrere IPv4-Transportadressen für den NAT-Pool.
In diesem Beispiel wird gezeigt, wie die Netzwerkadressübersetzung für die IPv4-Adresse 203.0.113.1/32
konfiguriert wird. Außerdem wird gezeigt, wie das IPv6-Präfix 64:FF9B::/96
konfiguriert wird. So konfigurieren Sie den NAT64-Pool:
Konfigurieren Sie eine IPv4-Transportadresse für den Pool auf der
[edit services nat pool pool-name]
Hierarchieebene. Konfigurieren Sie den NAT-Poolport, der automatisch zugewiesen werden soll.[edit services nat] pool src-pool-nat64 { address 203.0.113.0/24; port automatic; }
Konfigurieren Sie eine NAT-Regel, um die Pakete aus dem IPv6-Netzwerk zu übersetzen. NAT-Regeln geben den abzugleichenden Datenverkehr und die Aktion an, die ausgeführt werden soll, wenn der Datenverkehr mit der Regel übereinstimmt.
In diesem Beispiel ist nur eine Regel erforderlich, um die Adressübersetzung durchzuführen. Die Regel wählt den gesamten Datenverkehr aus, der von der Quelladresse im IPv6-Netzwerk kommt.
2001:DB8::1/128
Die in Schritt 1 konfigurierte Transportadresse wird dann über das/96
Präfix für die Übersetzung angegeben.Konfigurieren Sie die Regel auf Hierarchieebene
[edit services nat rule rule-name]
wie folgt:[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; } } } } }
Konfigurieren des Servicesatzes
Schritt-für-Schritt-Anleitung
Um den Dienstsatz für den NAT-Dienst auf Router R2 zu konfigurieren, müssen Sie die zuvor konfigurierte Regel (nat64
) und Dienstschnittstelle (sp-5/0/0
) mit dem Dienstsatz verknüpfen. Sie schließen auch eine Systemprotokollkonfiguration ein.
So konfigurieren Sie diese Einstellungen auf Hierarchieebene [edit services service-set service-set-name]
:
Konfigurieren Sie das Systemprotokoll.
[edit services service-set set_0] syslog { host local { services any; log-prefix XXXSVC-SETYYY; } }
Ordnen Sie die NAT-Regel und das Service-Interface dem Service-Set auf Hierarchieebene
[edit services service-set service-set-name]
zu.[edit services ] service-set set_0 { nat-rules nat64; interface-service { service-interface sp-5/0/0; } }
Bestätigen Sie auf Router R2 die Konfiguration.
user@R2> commit check configuration check succeeds user@R2> commit
Überprüfen des NAT64-Betriebs
Sie können die folgenden Funktionen verwenden, um Ihre NAT64-Konfiguration zu überprüfen:
CLI-Befehle auf dem Router
Protokollierung
Sie können auch ein Testtool verwenden, das IPv6-Datenströme generiert, die an den Router der MX-Serie geleitet werden, wobei das bekannte Präfix (64:FF9B::/96
) als Ziel verwendet wird.
Unter anderem können Sie die folgenden CLI-Befehle verwenden, um Ihre NAT64-Konfiguration zu überprüfen:
show services stateful-firewall flows
show services stateful-firewall conversations
show services nat pool detail
show services stateful-firewall statistics extensive
In diesem Beispiel:
In Eingaberichtung wird die IPv4-Zieladresse von der IPv6-Zieladresse abgerufen, deren Präfix mit dem Zielpräfix übereinstimmt, das mit der angegebenen Präfixlänge konfiguriert wurde.
In umgekehrter Richtung oder in Ausgaberichtung wird die IPv4-Adresse mit der angegebenen Präfixlänge an das Zielpräfix angehängt.
Gehen Sie folgendermaßen vor, um die NAT64-Konfiguration zu bestätigen:
- NAT64-Flüsse anzeigen
- NAT64-Konversationen anzeigen
- Anzeigen globaler NAT-Pool-bezogener Statistiken
- Systemprotokolle prüfen
- Sicherstellen, dass NAT64-Konversationen stattfinden
NAT64-Flüsse anzeigen
Zweck
Zeigen Sie an und überprüfen Sie, ob die NAT64-Flows erstellt wurden und die richtige Network Address Translation enthalten.
Aktion
Verwenden Sie den folgenden show services stateful-firewall flows
Befehl, um die NAT64-Datenströme auf Router R2 anzuzeigen.
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
Bedeutung
In der Beispielausgabe werden die NAT-Quell- und NAT-Zieladressen der Eingabe- (I) und Ausgangs- (O) Richtungen angezeigt. Die in dieser Ausgabe aufgelisteten NAT64-Datenströme sind in keiner bestimmten Reihenfolge.
NAT64-Konversationen anzeigen
Zweck
Zeigen Sie die NAT64-Konversationen (Sammlungen verwandter Flows) an und überprüfen Sie, ob sie korrekt sind.
Aktion
Verwenden Sie den folgenden show services stateful-firewall conversations
Befehl, um NAT64-Konversationen auf Router R2 anzuzeigen. Im Gegensatz zum flows
Befehl, der alle Flows in keiner bestimmten Reihenfolge meldet, gruppiert die Ausgabe des conversations
Befehls die Flows, die zu einer Konversation gehören, um die Fehlerbehebung bei der Kommunikation zwischen einem bestimmten Hostpaar zu erleichtern.
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
Bedeutung
Die Beispielausgabe zeigt die NAT64-Konversationen zwischen bestimmten Paaren von Hosts an.
Anzeigen globaler NAT-Pool-bezogener Statistiken
Zweck
Globale NAT-Statistiken im Zusammenhang mit der Poolnutzung anzeigen und überprüfen.
Aktion
Verwenden Sie den show services nat pool detail
folgenden Befehl, um globale NAT-Pool-bezogene Statistiken auf Router R2 anzuzeigen. Normalerweise verwenden Sie diesen Befehl in Verbindung mit dem show services stateful-firewall flows
Befehl in NAT64-Flüsse anzeigen, der die Quelle und Ausgabe der Übersetzung anzeigt.
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
Bedeutung
Die Beispielausgabe zeigt relevante Statistiken und Informationen zu den NAT64-Pools an.
Systemprotokolle prüfen
Zweck
Überprüfen Sie die Systemprotokolle, da das System beim Erstellen und Löschen von Sitzungen detaillierte Protokolle erstellt.
Aktion
Wenn eine Sitzung basierend auf der Beispieleinrichtung erstellt wird, werden zwei Protokolle bereitgestellt. Das erste Protokoll gibt die Regel und den Begriff an, mit denen das Paket übereinstimmt. Das zweite Protokoll gibt die Flow-Erstellung an.
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
Wenn die Sitzungen beendet werden, erstellt das System ein Protokoll, in dem die Adresse des NAT-Pools und die Portfreigabe zusätzlich zum Löschflussprotokoll wie folgt angegeben sind:
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
Bedeutung
In der Beispielausgabe werden die Protokollmeldungen angezeigt, die angezeigt werden, wenn eine Sitzung erstellt wird und wenn eine Sitzung beendet wird.
Sicherstellen, dass NAT64-Konversationen stattfinden
Zweck
Vergewissern Sie sich, dass die NAT64-Konversationen stattfinden. Die derzeitige Unterstützung für das Application-Layer Gateway (ALG) ist auf ICMP und Traceroute beschränkt.
Aktion
Verwenden Sie den folgenden show services stateful-firewall conversations
Befehl, um zu überprüfen, ob die NAT64-Konversationen auf Router R2 stattfinden. Im Folgenden finden Sie eine Beispielausgabe für einen ICMP-Echotest (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
Bedeutung
In der Beispielausgabe werden die Ergebnisse des ICMP-Echotests angezeigt.