Stateful-NAT64-Übersetzung

Die statusbehaftete NAT64-Funktion ermöglicht die Kommunikation zwischen IPv6-Clients und IPv4-Servern über IPv6- zu IPv4-Paketübersetzung und umgekehrt, während die Sitzungsinformationen auf der Citrix ADC Appliance beibehalten werden.

Eine statusbehaftete NAT64-Konfiguration auf der Citrix ADC Appliance besteht aus folgenden Komponenten:

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

Die Citrix ADC Appliance berücksichtigt ein eingehendes IPv6-Paket für die NAT64-Übersetzung, wenn alle 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 Citrix ADC Appliance empfangenes IPv6-Anforderungspaket mit einem in einer NAT64-Regel definierten ACL6 übereinstimmt und die Ziel-IP des Pakets mit dem NAT64-IPv6-Präfix übereinstimmt, berücksichtigt die Citrix ADC-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-Adresse entspricht, die an das in der NAT64-Regel definierte Netzprofil gebunden ist, und einer Ziel-IP-Adresse, die aus den letzten 32 Bits der Ziel-IPv6-Adresse des IPv6-Anforderungspakets besteht. Die Citrix ADC 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 entsprechend von der Appliance übersetzt, basierend auf Informationen in der jeweiligen NAT64-Sitzung.

Betrachten Sie ein Beispiel, in dem ein Unternehmen Website www.example.com auf Server S1 hostet, der eine IPv4-Adresse hat. Um die Kommunikation zwischen IPv6-Clients und IPv4-Server S1 zu ermöglichen, wird die Citrix ADC 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 durch Verketten des NAT64-IPv6-Präfixes[96 Bits]und der IPv4-Quelladresse gebildet[32 Bit]. 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 IPv4-Server S1 zu kommunizieren.

nat64

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

Es folgt der Verkehrsfluss in diesem Beispiel:

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

  2. Die Citrix ADC Appliance empfängt das Anforderungspaket. Wenn das Anforderungspaket mit dem in der NAT64-Regel definierten ACL6 übereinstimmt und die Ziel-IP-Adresse des Pakets mit dem NAT64-IPv6-Präfix übereinstimmt, berücksichtigt Citrix ADC 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 von der Zieladresse der IPv6-Anforderung entfernt wurde (SEVR_IPv4 = 192.0.2.60)
    • Quell-IP-Adressfeld, das eine der an Netprofile-1 gebundenen IPv4-Adresse enthält (in diesem Fall 192.0.2.100)
  4. Die Citrix ADC Appliance erstellt eine NAT64-Sitzung für diesen Flow und sendet die übersetzte IPv4-Anforderung an den Server S1.

  5. IPv64-Server S1 antwortet, indem ein IPv4-Paket an die Citrix ADC Appliance gesendet wird:

    • Ziel-IP-Adressfeld mit 192.0.2.100
    • Quell-IP-Adressfeld mit der Adresse vonSevr_IPv4 (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 berücksichtigt das IPv4-Paket zur Übersetzung.

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

    • Destination IP address field=Client_IPv6=2001:DB8:5001::30
    • Source IP address field = Concatenation of NAT64 Prefix (First 96 bits) and Sevr_IPv4 (last 32 bits) =2001:DB8:300::192.0.2.60
  8. Die Appliance sendet die übersetzte IPv6-Antwort an Client CL1.

Einschränkungen der Statelful NAT64

Die folgenden Einschränkungen gelten für statusbehaftete 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-Erweiterungs-Headern von IPv6-Paketen wird nicht unterstützt.
  • Die Übersetzung von ESP- und EH-Headern von IPv6-Paketen wird nicht unterstützt.
  • Die Übersetzung von Multicastpaketen wird nicht unterstützt.
  • Pakete von SCTP (Stream Control Transmission Protocol), Datagram Congestion Control Protocol (DCCP) und IPsec werden nicht übersetzt.

Stateful NAT64 konfigurieren

Das Erstellen der erforderlichen Entitäten für die statusbehaftete NAT64-Konfiguration auf der Citrix ADC 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 ACl6-Regel und das Netprofile an die NAT 64-Regel bindet.
  5. Fügen Sie ein NAT64-IPv6-Präfix hinzu.

CLI-Verfahren

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

Geben Sie an der Eingabeaufforderung Folgendes ein:

  • add ns acl6 <acl6name> <acl6action> …

So fügen Sie ein IPSet hinzu und binden mehrere IPs mit der CLI:

Geben Sie an der Eingabeaufforderung Folgendes ein:

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

So fügen Sie ein Netprofil mit der Befehlszeilenschnittstelle hinzu:

Geben Sie an der Eingabeaufforderung Folgendes ein:

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

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

Geben Sie an der Eingabeaufforderung Folgendes ein:

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

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

Geben Sie an der Eingabeaufforderung 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

GUI-Verfahren

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

Navigieren Sie zu System > Netzwerk > Routen > NAT64 und zu einer neuen NAT64-Regel, oder bearbeiten Sie eine vorhandene Regel.

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

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