ADC

Zustandsbehaftete NAT64-Übersetzung

Die statusmäßige NAT64-Funktion ermöglicht die Kommunikation zwischen IPv6-Clients und IPv4-Servern über die IPv6-zu-IPv4-Paketübersetzung und umgekehrt, wobei die Sitzungsinformationen auf der NetScaler-Appliance erhalten bleiben.

Eine statusmäßige NAT64-Konfiguration auf der NetScaler-Appliance besteht aus den folgenden Komponenten:

  • NAT64-Regel— Ein Eintrag, der aus einer ACL6-Regel und einem Netzprofil besteht, das aus einem Pool von NetScaler-eigenen SNIP-Adressen besteht.
  • NAT64-IPv6-Präfix— Ein globales IPv6-Präfix mit einer Länge von 96 Bit (128-32=96), das auf der Appliance konfiguriert ist. Hinweis: Derzeit unterstützt die NetScaler-Appliance nur ein Präfix, das gemeinsam mit allen NAT 64-Regeln verwendet wird.

Die NetScaler-Appliance betrachtet ein eingehendes IPv6-Paket für die NAT64-Übersetzung, wenn alle der folgenden Bedingungen erfüllt sind:

  • Das eingehende IPv6-Paket entspricht der ACL6-Regel, die an eine NAT64-Regel gebunden ist.
  • Die Ziel-IP-Adresse des IPv6-Pakets entspricht dem NAT64-IPv6-Präfix.

Wenn ein von der NetScaler-Appliance empfangenes IPv6-Anforderungspaket mit einer in einer NAT64-Regel definierten ACL6 übereinstimmt und die Ziel-IP des Pakets mit dem NAT64-IPv6-Präfix übereinstimmt, betrachtet die NetScaler-Appliance das IPv6-Paket zur Übersetzung.

Die Appliance übersetzt dieses IPv6-Paket in ein IPv4-Paket mit einer Quell-IP-Adresse, die einer der IP-Adressen entspricht, die an das in der NAT64-Regel definierte Netzprofil gebunden sind, und einer Ziel-IP-Adresse, die aus den letzten 32 Bit der Ziel-IPv6-Adresse des IPv6-Anforderungspakets besteht. Die NetScaler-Appliance erstellt eine NAT64-Sitzung für diesen bestimmten Flow und leitet das Paket an den IPv4-Server weiter. Nachfolgende Antworten vom IPv4-Server und Anfragen vom IPv6-Client werden von der Appliance auf der Grundlage der Informationen in der jeweiligen NAT64-Sitzung entsprechend übersetzt.

Stellen Sie sich ein Beispiel vor, in dem ein Unternehmen die Website www.example.com auf dem Server S1 hostet, der über eine IPv4-Adresse verfügt. Um die Kommunikation zwischen IPv6-Clients und IPv4-Server S1 zu ermöglichen, wird die NetScaler Appliance NS1 mit einer statusbehafteten NAT64-Konfiguration bereitgestellt, die eine NAT64-Regel und ein NAT64-Präfix enthält. Eine zugeordnete IPv6-Adresse des Servers S1 wird gebildet, indem das NAT64-IPv6-Präfix [96 Bit] und die IPv4-Quelladresse [32 Bit] verkettet werden. Diese zugeordnete IPv6-Adresse wird dann manuell auf den DNS-Servern konfiguriert. Die IPv6-Clients erhalten die zugeordnete IPv6-Adresse von den DNS-Servern, um mit dem IPv4-Server S1 zu kommunizieren.

nat64

In der folgenden Tabelle sind die in diesem Beispiel verwendeten Einstellungen aufgeführt: Beispieleinstellungen für Stateful NAT64.

Es folgt der Verkehrsfluss in diesem Beispiel:

  1. Der IPv6-Client CL1 sendet ein Anforderungspaket an die Map-Sevr-IPv6-Adresse (2001:DB 8:300: :192.0.2.60).

  2. Die NetScaler-Appliance empfängt das Anforderungspaket. Wenn das Anforderungspaket mit der in der NAT64-Regel definierten ACL6 übereinstimmt und die Ziel-IP-Adresse des Pakets mit dem NAT64-IPv6-Präfix übereinstimmt, betrachtet NetScaler das IPv6-Paket zur Übersetzung.

  3. Die Appliance erstellt ein übersetztes IPv4-Anforderungspaket mit:

    • Ziel-IP-Adressfeld, das das NAT64-Präfix enthält, das aus der Zieladresse der IPv6-Anfrage entfernt wurde (sevr_IPv4 = 192.0.2.60)
    • Feld für die Quell-IP-Adresse, das eine der an Netprofile-1 gebundenen IPv4-Adressen enthält (in diesem Fall 192.0.2.100)
  4. Die NetScaler-Appliance erstellt eine NAT64-Sitzung für diesen Flow und sendet die übersetzte IPv4-Anfrage an Server S1.

  5. Der IPv64-Server S1 sendet daraufhin ein IPv4-Paket an die NetScaler-Appliance mit:

    • Ziel-IP-Adressfeld, das 192.0.2.100 enthält
    • Quell-IP-Adressfeld, das die Adresse von SEVR_IPv4 enthält (192.0.2.60)
  6. Die Appliance empfängt das IPv4-Antwortpaket, durchsucht alle Sitzungseinträge und stellt fest, dass das IPv6-Antwortpaket mit dem in Schritt 4 erstellten NAT64-Sitzungseintrag übereinstimmt. Die Appliance betrachtet das IPv4-Paket für die Übersetzung.

  7. Die Appliance erstellt ein übersetztes IPv6-Antwortpaket mit:

    • Ziel-IP-Adresse Feld=client_IPv6=2001:DB 8:5001::30
    • Quell-IP-Adressfeld = Verkettung von NAT64-Präfix (erste 96 Bit) und SEVR_IPv4 (letzte 32 Bit) =2001:DB 8:300: :192.0.2.60
  8. Die Appliance sendet die übersetzte IPv6-Antwort an den Client CL1.

Einschränkungen von Statelful NAT64

Die folgenden Einschränkungen gelten für stateful-NAT64:

  • Die Übersetzung von IPv4-Optionen wird nicht unterstützt.
  • Die Übersetzung von IPv6-Routing-Headern wird nicht unterstützt.
  • Die Übersetzung von Hop-by-Hop-Erweiterungsheadern von IPv6-Paketen wird nicht unterstützt.
  • Die Übersetzung von ESP- und EH-Headern von IPv6-Paketen wird nicht unterstützt.
  • Die Übersetzung von Multicast-Paketen wird nicht unterstützt.
  • Pakete von Stream Control Transmission Protocol (SCTP), Datagram Congestion Control Protocol (DCCP) und IPSec werden nicht übersetzt.

Konfiguration von Stateful NAT64

Das Erstellen der erforderlichen Entitäten für die statusmäßige NAT64-Konfiguration auf der NetScaler-Appliance umfasst die folgenden Verfahren:

  1. Fügen Sie eine ACL6-Regel mit der Aktion ALLOW hinzu.
  2. Fügen Sie ein IPset hinzu, das mehrere IP-Adressen bindet.
  3. Fügen Sie ein Netzprofil hinzu und binden Sie das IPset daran. Wenn Sie nur eine IP-Adresse binden möchten, müssen Sie keine IPset-Entität erstellen. Binden Sie in diesem Fall die IP-Adresse direkt an das Netzprofil.
  4. Fügen Sie eine NAT64-Regel hinzu, die die Bindung der ACl6-Regel und des Netzprofils an die NAT64-Regel beinhaltet.
  5. Fügen Sie ein NAT64-IPv6-Präfix hinzu.

CLI-Verfahren

So fügen Sie eine ACL6-Regel mithilfe der CLI hinzu:

Geben Sie in der Befehlszeile Folgendes ein:

  • <acl6name><acl6action>füge ns acl6 hinzu…

Um ein IPSet hinzuzufügen und mehrere IPs daran zu binden, verwenden Sie die CLI:

Geben Sie in der Befehlszeile Folgendes ein:

  • add ipset <name>
  • bind ipset <name> <IPaddress …>

Um ein Netzprofil mit der CLI hinzuzufügen:

Geben Sie in der Befehlszeile Folgendes ein:

  • add netprofile <name> -srcIP <IPaddress or IPset>

So fügen Sie mit der CLI eine NAT64-Regel hinzu:

Geben Sie in der Befehlszeile Folgendes ein:

  • add nat64 <name> <acl6name> -netProfile <string>

So fügen Sie mit der CLI ein NAT64-Präfix hinzu:

Geben Sie in der Befehlszeile Folgendes ein:

  • set ipv6 -natprefix <ipv6_addr|*>

Beispiel:

 > add acl6 ACL6-1 ALLOW -srcIPv6 2001:DB8:5001::30
 Done

> apply acls6
 Done

> add ip 192.0.2.100 255.255.255.0 –type SNIP
 Done

> add ip 192.0.2.102 255.255.255.0  –type SNIP
 Done

> add ipset IPset-1
 Done

> bind ipset IPset-1 192.0.2.100 192.0.2.102
IPAddress "192.0.2.100" bound
IPAddress "192.0.2.102" bound
 Done

> add netprofile Netprofile-1 -srcIP IPset-1
 Done

> add nat64 NAT64-1 ACL6-1 -netprofile Netprofile-1
 Done

> set ipv6 -natprefix 2001:DB8:300::/96
 Done
<!--NeedCopy-->

GUI-Verfahren

So fügen Sie mit der GUI eine NAT64-Regel hinzu:

Navigieren Sie zu System > Netzwerk > Routen > NAT64 und geben Sie eine neue NAT64-Regel ein, oder bearbeiten Sie eine bestehende Regel.

So fügen Sie mit der GUI ein NAT64-Präfix hinzu:

Navigieren Sie zu System > Netzwerk, klicken Sie in der Gruppe Einstellungenauf INAT-Parameter konfigurieren, und legen Sie den Präfix-Parameter fest.

Zustandsbehaftete NAT64-Übersetzung