RNAT
In der Reverse Network Address Translation (RNAT) ersetzt die Citrix ADC Appliance die Quell-IP-Adressen in den von den Servern generierten Paketen durch öffentliche NAT-IP-Adressen. Standardmäßig verwendet die Appliance eine SNIP-Adresse als NAT-IP-Adresse. Sie können die Appliance auch so konfigurieren, dass sie für jedes Subnetz eine eindeutige NAT-IP-Adresse verwendet. Sie können RNAT auch mithilfe von Zugriffssteuerungslisten (Access Control Lists, ACLs) konfigurieren. Die Modi Source IP (USIP), Use Subnet IP (USNIP) und Link Load Balancing (LLB) beeinflussen den Betrieb von RNAT. Sie können Statistiken anzeigen, um RNAT zu überwachen.
Hinweis: Der flüchtige Portbereich für RNAT der Citrix ADC Appliance beträgt 1024-65535.
Sie können entweder eine Netzwerkadresse oder eine erweiterte ACL als Bedingung für einen RNAT Eintrag verwenden:
-
Verwenden einer Netzwerkadresse. Wenn Sie eine Netzwerkadresse verwenden, wird die RNAT Verarbeitung für alle Pakete durchgeführt, die aus dem angegebenen Netzwerk stammen.
-
Verwenden von erweiterten ACLs. Wenn Sie ACLs verwenden, wird die RNAT Verarbeitung für alle Pakete durchgeführt, die den ACLs entsprechen. Um die Citrix ADC Appliance so zu konfigurieren, dass eine eindeutige IP-Adresse für Datenverkehr verwendet wird, der mit einer ACL übereinstimmt, müssen Sie die folgenden drei Aufgaben ausführen:
- Konfigurieren Sie die ACL.
- Konfigurieren Sie RNAT, um die Quell-IP-Adresse und den Zielport zu ändern.
- Wenden Sie die ACL an.
Das folgende Diagramm veranschaulicht die mit einer ACL konfigurierte RNAT.
Abbildung 1. RNAT mit ACL
Sie haben die folgenden grundlegenden Optionen für den Typ der NAT-IP-Adresse:
-
Verwenden eines SNIP als NAT-IP-Adresse. Wenn Sie ein SNIP als NAT-IP-Adresse verwenden, ersetzt die Citrix ADC Appliance die Quell-IP-Adressen von servergenerierten Paketen durch ein SNIP. Daher muss die SNIP-Adresse eine öffentliche IP-Adresse sein. Wenn Use Subnet IP (USNIP) -Modus aktiviert ist, kann Citrix ADC eine Subnetz-IP-Adresse (SNIP) als NAT-IP-Adresse verwenden.
-
Verwenden einer eindeutigen IP-Adresse als NAT-IP-Adresse. Bei Verwendung einer eindeutigen IP-Adresse als NAT-IP-Adresse ersetzt die Citrix ADC Appliance die Quell-IP-Adressen von servergenerierten Paketen durch die angegebene eindeutige IP-Adresse. Die eindeutige IP-Adresse muss eine öffentliche Citrix ADC-eigene IP-Adresse sein. Wenn mehrere NAT-IP-Adressen für ein Subnetz konfiguriert sind, verwendet die NAT-IP-Auswahl den Roundrobin-Algorithmus.
Diese Konfiguration wird im folgenden Diagramm veranschaulicht.
Abbildung 2. Verwenden einer eindeutigen IP-Adresse als NAT-IP-Adresse
Voraussetzungen
Berücksichtigen Sie vor der Konfiguration einer RNAT Regel die folgenden Punkte:
-
Wenn RNAT und Use Source IP (USIP) auf der Citrix ADC Appliance konfiguriert sind, hat RNAT Vorrang. Mit anderen Worten, die Quell-IP-Adresse der Pakete, die einer RNAT Regel entspricht, wird entsprechend der Einstellung in der RNAT Regel ersetzt.
-
In einer Topologie, in der die Citrix ADC Appliance sowohl Link Load Balancing (LLB) als auch RNAT für den vom Server ausgehenden Datenverkehr ausführt, wählt die Appliance die Quell-IP-Adresse basierend auf dem Router aus. Die LLB-Konfiguration bestimmt die Auswahl des Routers. Weitere Informationen zu LLB finden Sie unter Link-Lastenausgleich.
RNAT konfigurieren
Die folgenden Anweisungen enthalten separate Befehlszeilenprozeduren zum Erstellen von RNAT Einträgen, die unterschiedliche Bedingungen und verschiedene Arten von NAT-IP-Adressen verwenden. In der GUI können alle Variationen im selben Dialogfeld konfiguriert werden, so dass es nur eine Prozedur für GUI-Benutzer gibt.
CLI-Verfahren
So erstellen Sie eine RNAT Regel mit der CLI:
Geben Sie an der Eingabeaufforderung Folgendes ein, um die Regel zu erstellen und die Konfiguration zu überprüfen:
add rnat <name> (<network> | (<aclname> [-redirectPort <port>]))
bind rnat <name> <natIP>@ …
show rnat
So ändern oder entfernen Sie eine RNAT Regel mit der CLI:
-
So ändern Sie eine RNAT Regel:
set rnat <name> (<aclname> [-redirectPort <port>])
-
Um eine RNAT-Regel zu entfernen, geben Sie den Befehl ein.
rm rnat <name>
Verwenden Sie den folgenden Befehl, um die Konfiguration zu überprüfen:
show rnat
Beispiele:
A network address as the condition and a SNIP address as the NAT IP address:
> add rnat RNAT-1 192.168.1.0 255.255.255.0
Done
A network address as the condition and a unique IP address as the NAT IP address:
> add rnat RNAT-2 192.168.1.0 255.255.255.0
Done
> bind rnat RNAT-2 -natip 10.102.29.50
Done
If instead of a single NAT IP address you specify a range, RNAT entries are created with all the Citrix ADC-owned IP addresses, except the NSIP, that fall within the range specified:
> add rnat RNAT-3 192.168.1.0 255.255.255.0
Done
> bind rnat RNAT-3 -natip 10.102.29.[50-110]
Done
An ACL as the condition and a SNIP address as the NAT IP address:
> add rnat RNAT-4 acl1
Done
An ACL as a condition and a unique IP address as the NAT IP address:
> add rnat RNAT-4 acl1
Done
> bind rnat RNAT-4 -natip 10.102.29.50
Done
If instead of a single NAT IP address you specify a range, RNAT entries are created with all the Citrix ADC-owned IP addresses, except the NSIP, that fall within the range specified:
> add rnat RNAT-5 acl1
Done
> bind rnat RNAT-5 -natip 10.102.29.[50-70]
Done
<!--NeedCopy-->
GUI-Verfahren
So erstellen Sie einen RNAT Eintrag mit der GUI:
Navigieren Sie zu System > Netzwerk > NATs, klicken Sie auf die Registerkarte RNAT, und fügen Sie eine neue RNAT Regel hinzu, oder bearbeiten Sie eine vorhandene Regel.
Überwachen RNAT
Sie können RNAT-Statistiken anzeigen, um Probleme im Zusammenhang mit der IP-Adressenübersetzung zu beheben.
In der folgenden Tabelle werden die mit RNAT und RNAT IP verbundenen Statistiken beschrieben.
Statistische | Beschreibung |
---|---|
Empfangene Bytes | Während RNAT-Sitzungen empfangene Bytes |
Gesendete Bytes | Bytes, die während RNAT-Sitzungen gesendet werden |
Empfangene Pakete | Während RNAT-Sitzungen empfangene Pakete |
Gesendete Pakete | Pakete, die während RNAT-Sitzungen gesendet werden |
Syn hat gesendet | Anfragen für Verbindungen, die während RNAT-Sitzungen gesendet werden |
Aktuelle Sitzungen | Derzeit aktive RNAT Sitzungen |
So zeigen Sie RNAT Statistiken mit der CLI an:
Geben Sie an der Eingabeaufforderung Folgendes ein:
- Statistik rnat
Beispiel:
> stat rnat
RNAT summary
Rate (/s) Total
Bytes Received 0 0
Bytes Sent 0 0
Packets Received 0 0
Packets Sent 0 0
Syn Sent 0 0
Current RNAT sessions -- 0
Done
>
<!--NeedCopy-->
So überwachen Sie RNAT mit der GUI:
Navigieren Sie zu System > Netzwerk > NATs, klicken Sie auf die Registerkarte RNAT, und klicken Sie dann auf Statistiken .
RNAT6 konfigurieren
RNAT (Reverse Network Address Translation) -Regeln für IPv6-Pakete werden RNAT6s genannt. Wenn ein von einem Server generiertes IPv6-Paket den in der RNAT6-Regel angegebenen Bedingungen entspricht, ersetzt die Appliance die Quell-IPv6-Adresse des IPv6-Pakets durch eine konfigurierte NAT-IPv6-Adresse, bevor sie an das Ziel weiterleitet. Die NAT IPv6-Adresse ist eine der Citrix ADC Adressen im Besitz der SNIP6- oder VIP6-Adressen.
Beim Konfigurieren einer RNAT6-Regel können Sie entweder ein IPv6-Präfix oder eine ACL6 als Bedingung angeben:
- Verwenden einer IPv6-Netzwerkadresse. Wenn Sie ein IPv6-Präfix verwenden, führt die Appliance RNAT für die IPv6-Pakete durch, deren IPv6-Adresse mit dem Präfix übereinstimmt.
- Verwenden von ACL6s. Wenn Sie eine ACL6 verwenden, führt die Appliance RNAT für die IPv6-Pakete aus, die den in ACL6 angegebenen Bedingungen entsprechen.
Sie haben eine der folgenden Optionen, um die NAT-IP-Adresse festzulegen:
-
Geben Sie einen Satz von Citrix ADC Adressen im Besitz von SNIP6- und VIP6-Adressen für eine RNAT6-Regel an. Die Citrix ADC Appliance verwendet eine der IPv6-Adressen aus diesem Satz als NAT-IP-Adresse für jede Sitzung. Die Auswahl basiert auf dem Roundrobin-Algorithmus und wird für jede Sitzung durchgeführt.
-
Geben Sie für eine RNAT6-Regel keine SNIP6- oder VIP6-Adresse im Besitz von Citrix ADC an. Die Citrix ADC Appliance verwendet eine der Citrix ADC eigenen SNIP6- oder VIP6-Adressen als NAT-IP-Adresse. Die Auswahl basiert auf dem Next Hop-Netzwerk, für das ein IPv6-Paket bestimmt ist, das der RNAT Regel entspricht.
CLI-Verfahren
So erstellen Sie eine RNAT6-Regel mit der CLI:
Geben Sie an der Eingabeaufforderung Folgendes ein, um die Regel zu erstellen und die Konfiguration zu überprüfen:
- füge rnat6 hinzu <name>(<network>| (<acl6name>[-RedirectPort ]<port>))
- bind rnat6 <name> <natIP6>@ …
- show rnat6
So ändern oder entfernen Sie eine RNAT6-Regel mit der CLI:
- Um eine RNAT6-Regel zu ändern, deren Bedingung eine ACL6 ist, geben Sie den <name> Befehl set rnat6 ein, gefolgt von einem neuen Wert für den Parameter RedirectPort .
- Um eine RNAT6-Regel zu entfernen, geben Sie den <name> Befehl clear rnat6 ein.
GUI-Verfahren
So konfigurieren Sie eine RNAT6-Regel mit der GUI:
Navigieren Sie zu System > Netzwerk > NATs, klicken Sie auf die Registerkarte RNAT6, und fügen Sie eine neue RNAT6-Regel hinzu, oder bearbeiten Sie eine vorhandene Regel.
Überwachen Sie RNAT6
Sie können Statistiken im Zusammenhang mit der RNAT6-Funktion anzeigen, um die Leistung zu überwachen oder Probleme im Zusammenhang mit der RNAT6-Funktion zu beheben. Sie können eine Zusammenfassung der Statistiken der RNAT6-Regeln oder einer bestimmten RNAT6-Regel anzeigen. Die statistischen Leistungsindikatoren spiegeln Ereignisse seit dem letzten Neustart der Citrix ADC Appliance wider. Alle diese Leistungsindikatoren werden auf 0 zurückgesetzt, wenn die Citrix ADC Appliance neu gestartet wird.
Im Folgenden werden einige der Statistikindikatoren aufgeführt, die mit der RNAT6-Funktion verknüpft sind:
- Empfangene Bytes - Gesamtzahl der während RNAT6-Sitzungen empfangenen Bytes.
- Gesendete Bytes - Gesamtanzahl der während RNAT6-Sitzungen gesendeten Bytes.
- Empfangene Pakete - Gesamtanzahl der während RNAT6-Sitzungen empfangenen Pakete.
- Gesendete Pakete - Gesamtanzahl der während RNAT6-Sitzungen gesendeten Pakete.
- Syn sent - Gesamtzahl der Anfragen für Verbindungen, die während RNAT6-Sitzungen gesendet wurden
- Aktuelle Sitzungen - Derzeit aktive RNAT6-Sitzungen
So zeigen Sie eine zusammengefasste Statistik aller RNAT6-Regeln mit der CLI an:
Geben Sie an der Eingabeaufforderung Folgendes ein:
- stat rnat6
So zeigen Sie Statistiken für eine angegebene RNAT6-Regel mit der Befehlszeilenschnittstelle an:
Geben Sie an der Eingabeaufforderung Folgendes ein:
- stat rnat6 []<rnat6 rule name>
So zeigen Sie RNAT6-Statistiken mit der GUI an:
Navigieren Sie zu System > Netzwerk > NATs, klicken Sie auf die Registerkarte RNAT6, und klicken Sie dann auf Statistiken .
> stat rnat6
RNAT6 summary
Rate (/s) Total
Bytes Received 178 20644
Bytes Sent 178 20644
Packets Received 5 401
Packets Sent 5 401
Syn Sent 0 2
Current RNAT6 sessions -- 1
Done
<!--NeedCopy-->
Log-Startzeit und Verbindungsschlussgründe in RNAT Protokolleinträgen
Zur Diagnose oder Behebung von Problemen im Zusammenhang mit RNAT protokolliert die Citrix ADC Appliance RNAT-Sitzungen, wenn sie geschlossen werden.
Eine Protokollmeldung für eine RNAT-Sitzung besteht aus folgenden Informationen:
- Citrix ADC eigene IP-Adresse (NSIP-Adresse oder SNIP-Adresse), von der die Protokollnachricht stammt
- Zeitstempel der Protokollerstellung
- Protokoll der RNAT-Sitzung
- Quell-IP-Adresse
- RNAT IP-Adresse
- Ziel-IP-Adresse
- Startzeit der RNAT Sitzung
- Schließzeit der RNAT Sitzung
- Gesamtanzahl der von der Citrix ADC Appliance für diese RNAT-Sitzung gesendeten Bytes
- Gesamtanzahl der von der Citrix ADC Appliance für diese RNAT-Sitzung empfangenen Bytes
- Grund für den Abschluss der RNAT-Sitzung. Die Citrix ADC Appliance protokolliert Schließungsgrund für TCP-RNAT-Sitzungen, die den TCP-Proxy (TCP-Proxy deaktiviert) der Appliance nicht verwenden. Im Folgenden finden Sie die Art der Schließungsgründe, die für TCP-RNAT-Sitzungen protokolliert werden:
- TCP-FIN. Die RNAT-Sitzung wurde aufgrund einer TCP-FIN geschlossen, die entweder vom Quell- oder Zielgerät gesendet wurde.
- TCP-RST. Die RNAT-Sitzung wurde aufgrund eines TCP-Zurücksetzens geschlossen, der entweder vom Quell- oder Zielgerät gesendet wurde.
- TIMEOUT. Die RNAT-Sitzung hat ein Zeitlimit überschritten.
Die folgende Tabelle zeigt einige Beispielprotokolleinträge für RNAT-Sitzungen.
Art des Eintrags | Beispielprotokolleintrag |
---|---|
Beispielprotokolleintrag für UDP-RNAT-Sitzung | Dec 1 15:28:12 |
Beispielprotokolleintrag für TCP-RNAT-Sitzung. Der Protokolleintrag zeigt an, dass die Sitzung wegen TCP-Reset geschlossen wurde | Dec 1 15:29:59 |
Beispielprotokolleintrag für TCP-RNAT-Sitzung. Der Protokolleintrag zeigt an, dass die Sitzung Timeout | Dec 1 15:30:12 |
Stateful Connection Failover für RNAT
Verbindungs-Failover verhindert Unterbrechungen des Zugriffs auf Anwendungen, die in einer verteilten Umgebung bereitgestellt werden. Die Citrix ADC-Appliance unterstützt jetzt statusbehaftes Verbindungs-Failover für Verbindungen im Zusammenhang mit RNAT Regeln in einem Citrix ADC High Availability (HA) Setup. Bei einem HA-Setup bezieht sich das Verbindungs-Failover (oder Verbindungsspiegelung) auf den Vorgang, bei dem eine etablierte TCP- oder UDP-Verbindung aktiv bleibt, wenn ein Failover auftritt.
Die primäre Appliance sendet Nachrichten an die sekundäre Appliance, um aktuelle Informationen über die RNAT Verbindungen zu synchronisieren. Die sekundäre Appliance verwendet diese Verbindungsinformationen nur im Falle eines Failovers. Wenn ein Failover auftritt, verfügt die neue primäre Citrix ADC Appliance über Informationen zu den Verbindungen, die vor dem Failover hergestellt wurden, und wird diese Verbindungen auch nach dem Failover weiterhin bereitstellen. Aus Sicht des Clients ist dieses Failover transparent. Während der Übergangszeit können Client und Server eine kurze Unterbrechung und erneute Übertragungen auftreten.
Verbindungs-Failover kann pro RNAT Regel aktiviert werden. Zum Aktivieren des Verbindungs-Failovers auf einer RNAT-Regel aktivieren Sie den Parameter ConnFailover (Connection Failover) dieser spezifischen RNAT-Regel mit der CLI oder GUI.
So aktivieren Sie das Verbindungs-Failover für eine RNAT Regel mit der CLI:
Geben Sie an der Eingabeaufforderung Folgendes ein:
set rnat <name> -connfailover (ENABLED | DISABLED)
show rnat
So aktivieren Sie das Verbindungs-Failover für eine RNAT Regel mit der GUI:
- Navigieren Sie zu System > Netzwerk > NATs, und klicken Sie dann auf die Registerkarte RNAT .
- Wählen Sie Verbindungs-Failover aus, während Sie eine neue RNAT-Regel hinzufügen oder eine vorhandene Regel bearbeiten.
Reservieren des Quellports für RNAT-Verbindungen zu Servern
Für eine Anforderung, die auf eine RNAT-Konfiguration trifft, bei der eine oder mehrere RNAT-IP-Adressen und “Proxy-Portparameter verwenden” deaktiviert sind, verwendet die Citrix ADC Appliance eine der RNAT-IP-Adresse und den Quellport der RNAT-Anforderung für die Verbindung mit Servern. Vor dem 13.0 47.x-Build schlägt die RNAT-Verbindung (unter Verwendung des Quellports des RNAT-Clients) zum Server fehl, wenn derselbe Quellport bereits in einigen anderen Verbindungen verwendet wurde.
-
Quellport weniger als 1024. Standardmäßig behält sich die Citrix ADC Appliance die ersten 1024 Ports einer IP-Adresse im Besitz von Citrix ADC (einschließlich RNAT-IP-Adressen) vor. Vor dem 13.0 47.x-Build schlägt die RNAT-Verbindung (unter Verwendung des Quellports des RNAT-Clients) zum Server fehl, wenn der Quellport der RNAT-Anforderung kleiner oder gleich 1024 ist. Mit dem 13.0 47.x-Build ist die RNAT-Verbindung (unter Verwendung des Quellports des RNAT-Clients) zum Server erfolgreich, selbst wenn der Quellport der RNAT-Anforderung kleiner oder gleich 1024 ist.
-
Quellport größer als 1024. Vor dem 13.0 47.x-Build schlägt die RNAT-Verbindung (unter Verwendung des Quellports des RNAT-Clients) zum Server fehl, wenn derselbe Quellport bereits in einigen anderen Verbindungen verwendet wurde. Mit 13.0 47.x Build können Sie im
Retain Source Port range
(retainsourceportrange
) -Parameter im Rahmen einer RNAT-Konfiguration einen Bereich von RNAT-Client-Quellports angeben. Die Citrix ADC Appliance behält diese RNAT-Client-Quellports an der RNAT-IP-Adresse vor, die nur für die RNAT-Verbindung zu Servern verwendet werden.
Entfernen von RNAT-Sitzungen
Sie können unerwünschte oder ineffiziente RNAT-Sitzungen von der Citrix ADC Appliance entfernen. Die Appliance gibt sofort Ressourcen frei (z. B. den Port der NAT-IP-Adresse und den Speicher), die für diese Sitzungen zugewiesen wurden, wodurch die Ressourcen für neue Sitzungen verfügbar sind. Die Appliance löscht auch alle nachfolgenden Pakete, die sich auf diese entfernten Sitzungen beziehen. Sie können alle oder ausgewählte RNAT-Sitzungen von der Citrix ADC Appliance entfernen.
So löschen Sie alle RNAT-Sitzungen mit der CLI:
Geben Sie an der Eingabeaufforderung Folgendes ein:
- flush rnatsession
So löschen Sie selektive RNAT-Sitzungen mit der CLI:
Geben Sie an der Eingabeaufforderung Folgendes ein:
- flush rnatsession ((-network <ip_addr> -netmask <netmask>) | -natIP <ip_addr> | -aclname <string>)
So löschen Sie alle oder selektive RNAT-Sitzungen mit der GUI:
- Navigieren Sie zu System > Netzwerk > NATs, und klicken Sie dann auf die Registerkarte RNAT.
- Klicken Sie im Menü Aktionen auf RNAT-Sitzungen leeren, um alle oder selektive RNAT-Sitzungen zu entfernen (z. B. RNAT-Sitzungen mit einer bestimmten RNAT IP entfernen oder zu einer bestimmten Netzwerk- oder ACL-basierten RNAT-Sitzungsregel gehören).
Beispielkonfigurationen:
Clear all RNAT sessions existing on a Citrix ADC appliance
> flush rnatsession
Done
Clear all RNAT sessions belonging to network based RNAT rules that has 203.0.113.0/24 network as the matching condition.
> flush rnatsession -network 203.0.113.0 -netmask 255.255.255.0
Done
Clear all RNAT sessions with RNAT IP 192.0.2.90.
> flush rnatsession -natIP 192.0.2.90
Done
Clear all RNAT sessions belonging to ACL based RNAT rules that has ACL-RNAT-1 as the matching condition.
> flush rnatsession -aclname ACL-RNAT-1
Done
<!--NeedCopy-->