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 gebildet, indem das NAT64 IPv6-Präfix [96 Bit] und die IPv4-Quelladresse [32 Bit]verkettet wird. 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.
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:
-
IPv6-Client CL1 sendet ein Anforderungspaket an Map-Sevr-IPv6 (2001:DB 8:300::192.0.2.60) Adresse.
-
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.
-
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)
-
Die Citrix ADC Appliance erstellt eine NAT64-Sitzung für diesen Flow und sendet die übersetzte IPv4-Anforderung an den Server S1.
-
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)
-
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.
-
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
-
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:
- Fügen Sie eine ACL6-Regel mit der Aktion Allow hinzu.
- Fügen Sie ein ipset hinzu, das mehrere IP-Adressen bindet.
- 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.
- Fügen Sie eine NAT64-Regel hinzu, die die ACl6-Regel und das Netprofile an die NAT 64-Regel bindet.
- 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
<!--NeedCopy-->
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.