ADC

Proxy-Protokoll

Das Proxy-Protokoll transportiert Clientdetails sicher von Client zu Server über Citrix ADC-Appliances. Die Appliance fügt einen Proxy-Protokoll-Header mit Clientdetails hinzu und leitet ihn an den Back-End-Server weiter. Im Folgenden sind einige Anwendungsszenarien für das Proxy-Protokoll in einer Citrix ADC-Appliance aufgeführt.

  • Erlernen der ursprünglichen Client-IP-Adresse
  • Auswählen einer Sprache für eine Website
  • Blockieren der Auflistung ausgewählter
  • Protokollieren und Sammeln von Statistiken.

Im Folgenden sind die drei Betriebsmodi aufgeführt:

  • Einfügen. Die Appliance fügt die Clientdetails ein und sendet sie an den Back-End-Server.
  • Vorwärts. Die Appliance leitet die Clientdetails an den Backend-Server weiter.
  • Abgestreift. Die Appliance speichert die Clientdetails zu Protokollierungszwecken. Wenn das Proxy-Protokoll auf dem Back-End-Server nicht unterstützt wird, sendet die Clientdetails mithilfe der Konfiguration der Rewriterichtlinie an den Server

Einschränkungen

Das Proxy-Protokoll wird für die TCP Fast Open (TFO) und MultiPath TCP-Funktionen nicht unterstützt. Die Funktion wird nur für Dienste unterstützt, für die die Citrix ADC Appliance die TCP-Verbindungsbeendigung vornimmt. Es ist keine Unterstützung für andere Dienste, zum Beispiel “ANY”.

So funktioniert das Proxy-Protokoll in einer Citrix ADC-Appliance

Die folgenden Flussdiagramme zeigen, wie Sie das Proxy-Protokoll für Citrix ADC-Appliances für den Insert-, Forwards- und Stripping-Betrieb konfigurieren können:

Insert-Betrieb

Insert-Betrieb

Die Interaktion der Komponente ist wie folgt:

  • Bei der Citrix ADC-Instanz müssen Sie das Proxy-Protokoll im Netzprofil aktivieren und an den Dienst binden.
  • Beim Einfügevorgang fügt Citrix ADC einen Proxy-Header mit Clientverbindungsdetails hinzu und leitet ihn an den Backend-Server weiter.
  • Auf der sendenden Seite entscheidet die Appliance die Proxy-Protokollversion basierend auf der CLI-Konfiguration.

Vorwärtsbetrieb

Vorwärtsbetrieb

Die Interaktion der Komponente ist wie folgt:

  • Ein Client sendet eine Anfrage zusammen mit dem Proxy-Header an den Citrix ADC. Die Appliance identifiziert die Version dynamisch.
  • In der Citrix ADC-Appliance handelt es sich um einen Forward-Vorgang. Das Proxy-Protokoll ist auf dem virtuellen Lastausgleichsserver oder dem virtuellen Content Switching-Server aktiviert und für den Dienst aktiviert. Die Appliance empfängt den Proxy-Header und leitet die Header-Details an den Backend-Server weiter.
  • Wenn die Details des Proxy-Headers ungültig sind, setzt die Appliance die Verbindung zurück.
  • Auf der sendenden Seite entscheidet die Appliance die Proxy-Protokollversion basierend auf der CLI-Konfiguration.

Stripped-Vorgang

Stripped-Vorgang

Die Interaktion der Komponente ist wie folgt:

  • Ein Client sendet eine Anfrage zusammen mit einem Proxy-Header an die Citrix ADC-Appliance.
  • Wenn es sich in der Citrix ADC-Appliance um einen Stripping-Vorgang handelt, leitet die Appliance die vom Proxy-Protokoll erhaltenen Clientinformationen weiter und fügt sie mithilfe von Rewriterichtlinienausdrücken in den HTTP-Header ein.
  • Die Clientdetails wie Quell-IP-Adresse, Ziel-IP-Adresse, Quellport und Zielport werden mithilfe von Rewriterichtlinienausdrücken in einem HTTP-Header hinzugefügt. Die Rewriterichtlinie wertet den Ausdruck aus und wenn “wahr”, wird die entsprechende Aktion der Rewriterichtlinie ausgelöst. Und die Clientdetails werden in einem HTTP-Header an den Back-End-Server weitergeleitet.
  • Wenn die Details des Proxy-Headers ungültig sind, setzt die Appliance die Verbindung zurück.

Proxy-Protokoll-Versionsformate

Die Proxy-Protokollversion ist in zwei Formaten verfügbar. Die Appliance entscheidet, ein Format basierend auf der Länge der eingehenden Daten zu verwenden. Ausführliche Informationen finden Sie unter Proxy-Protokoll-RFP .

  1. Proxyprotokoll-Version-1-Format

    PROXY TCP4/TCP6/UNKNOWN <SRC IP> <DST IP> <SRC PORT> <DST PORT>

    • PROXY -> Eindeutiges Zeichenfolgenformat für Proxy-Header-Version -1.
    • Unterstützt Protokolle TCP über IPv4 und TCP über IPv6. Für die verbleibenden Protokolle ist dies UNBEKANNT.
    • SRC-IP — Quell-IP (Ursprüngliche Client-IP) -Adresse eines Pakets.
    • DST IP — Ziel-IP-Adresse eines Pakets.
    • SRC-Port — Quellport eines Pakets.
    • DST-Port — Zielport eines Pakets.
  2. Proxyprotokoll-Version-2-Format

    0D 0A 0D 0A 00 0D 0A 51 55 49 54 0A <13th byte> <14th byte> <15-16th byte> <17th byte onwards>

    • D 0A 0D 0A 00 0D 0A 51 55 49 54 0A -> Eindeutige binäre Zeichenfolge für Proxy-Header-Version -2.
    • Unterstützt Protokolle TCP über IPv4 und TCP über IPv6. Für die verbleibenden Protokolle ist dies UNBEKANNT.
    • Dreizehntes Byte — Protokollversion und Befehl.
    • Vierzehntes Byte — Adresse und Protokollfamilie.
    • 15-16. Byte — Adresslänge in Netzwerkreihenfolge.
    • Siebzehntes Byte ab — Adressiert Informationen, die in der Netzwerkreihenfolge vorhanden sind - src IP, dst IP, src-Port, dst-Port.

Konfigurieren Sie das Proxy-Protokoll in Citrix ADC-Appliance

Führen Sie die folgenden Schritte aus, um das Proxy-Protokoll in Ihrer Citrix ADC Appliance zu konfigurieren.

  1. Aktivieren Sie das Proxy-Protokoll als global.
  2. Konfigurieren Sie das Proxy-Protokoll für Insert-
  3. Konfigurieren Sie das Proxy-Protokoll für Forward-
  4. Konfigurieren Sie das Proxy-Protokoll für Strip-Betrieb
  5. Konfigurieren Sie das Proxy-Protokoll für keinen Betrieb

Aktivieren Sie das Proxy-Protokoll als global

Geben Sie an der Eingabeaufforderung Folgendes ein:

set ns param –proxyProtocol ENABLED

Konfigurieren Sie das Proxy-Protokoll für Insert-

Um das Proxy-Protokoll für den Insert-Vorgang zu konfigurieren, müssen Sie das Protokoll auf dem virtuellen Lastausgleichsserver aktivieren oder deaktivieren und für den Dienst aktivieren.

Hinzufügen eines Netzprofils mit deaktiviertem Proxy-Protokoll für den Lastausgleich des virtuellen Servers

Geben Sie an der Eingabeaufforderung Folgendes ein:

add netprofile <name> -proxyProtocol ENABLED/DISABLED> -proxyprotocoltxversion <V1/V2>

Beispiel:

Add netprofile proxyprofile-1 –proxyProtocol ENABLED –proxyprotocoltxversion V1

Hinweis:

Wenn Sie das Proxy-Protokoll auf Ihrer Appliance deaktivieren, müssen Sie den Protokollversionsparameter nicht festlegen.

Fügen Sie ein Netzprofil mit einem für den Dienst aktivierten Proxy-Protokoll hinzu

Geben Sie an der Eingabeaufforderung Folgendes ein:

add netprofile <name> -proxyProtocol ENABLED/DISABLED> -proxyprotocoltxversion <V1/V2>

Beispiel:

add netprofile proxyprofile-2 –proxyProtocol ENABLED –proxyprotocoltxversion V1

Fügen Sie einen virtuellen Lastausgleichsserver für Citrix ADC-Appliance in der Proxy-Schicht hinzu

Geben Sie an der Eingabeaufforderung Folgendes ein:

add lb vserver <name>@ <serviceType> [(<IPAddress>@ <port>)]

Beispiel:

add lb vserver lbvserver-1 http 1.1.1.1 80

Fügen Sie den HTTP-Dienst für Citrix ADC-Appliance in der Proxy-Schicht hinzu

Geben Sie an der Eingabeaufforderung Folgendes ein:

add service <name>@ (<IP>@ | <serverName>@) <serviceType> <port>

Beispiel:

Add service http-service-1 2.2.2.1 http 80

Festlegen des Netzwerkprofils mit dem virtuellen Lastausgleichsserver in der Citrix ADC-Appliance

Geben Sie an der Eingabeaufforderung Folgendes ein:

set lb vserver <vserver name> -netprofile <name>

Beispiel:

set lb vserver lbvserver-1 –netprofile proxyProfile-1

Festlegen des Netzwerkprofils mit dem HTTP-Dienst in der Citrix ADC-Appliance

Geben Sie an der Eingabeaufforderung Folgendes ein:

set service <service name> –netprofile <name>

Beispiel:

set service http-service-1 –netprofile proxyProfile-1

Konfigurieren des Proxy-Protokolls für Forwar

Konfigurieren des Proxy-Protokolls für den Forward-Betrieb für die nächste Citrix ADC-Instanz in der Proxy-Schicht. Sie müssen das Protokoll aktivieren oder deaktivieren und an den virtuellen Server oder Dienst binden.

Hinzufügen eines Netzprofils mit aktiviertem Proxy-Protokoll für den Lastausgleich des virtuellen Servers

Geben Sie an der Eingabeaufforderung Folgendes ein:

add netprofile <name> -proxyProtocol ENABLED/DISABLED> -proxyprotocoltxversion <V1/V2>

Beispiel:

add netprofile proxyprofile-3 –proxyProtocol ENABLED –proxyprotocoltxversion V1

Netzprofil mit aktiviertem Proxy-Protokoll für den Dienst hinzufügen

Geben Sie an der Eingabeaufforderung Folgendes ein:

add netprofile <name> -proxyProtocol ENABLED/DISABLED> -proxyprotocoltxversion <V1/V2>

Beispiel:

add netprofile proxyprofile-4 –proxyProtocol ENABLED –proxyprotocoltxversion V1

Fügen Sie einen virtuellen Lastausgleichsserver für Citrix ADC-Appliance in der Proxy-Schicht hinzu

Geben Sie an der Eingabeaufforderung Folgendes ein:

add lb vserver <name>@ <serviceType> [(<IPAddress>@ <port>)]

Beispiel:

add lb vserver lbvserver-2 http 2.2.2.2 80

Fügen Sie den HTTP-Dienst für Citrix ADC-Appliance in der Proxy-Schicht hinzu

Geben Sie an der Eingabeaufforderung Folgendes ein:

add service <name>@ (<IP>@ | <serverName>@) <serviceType> <port>

Beispiel:

Add service http-service-2 3.3.3.1 http 80

Festlegen des Netzwerkprofils mit dem virtuellen Lastausgleichsserver in der Citrix ADC-Appliance

Geben Sie an der Eingabeaufforderung Folgendes ein:

set lb vserver <vserver name> -netprofile <name>

Beispiel:

set lb vserver lbvserver-2 –netprofile proxyProfile-3

Festlegen des Netzwerkprofils mit dem HTTP-Dienst in der Citrix ADC-Appliance

Geben Sie an der Eingabeaufforderung Folgendes ein:

set service <service name> –netprofile <name>

Beispiel:

set service http-service-2 –netprofile proxyProfile-4

Konfigurieren Sie das Proxy-Protokoll für Strip-Betrieb

Um das Proxy-Protokoll für den Strip-Betrieb zu konfigurieren, müssen Sie das Proxy-Protokoll auf dem virtuellen Lastausgleichsserver aktivieren und das Proxy-Protokoll für den Dienst deaktivieren.

Netzprofil mit aktiviertem Proxy-Protokoll für virtuellen Server hinzufügen

Geben Sie an der Eingabeaufforderung Folgendes ein:

add netprofile <name> -proxyProtocol ENABLED> -proxyprotocoltxversion <V1/V2>

Beispiel:

add netprofile proxyprofile-5 –proxyProtocol ENABLED –proxyprotocoltxversion V1

Fügen Sie einen virtuellen Server für Lastenausgleich oder Content Switching für Citrix ADC-Appliance in der Proxy-Schicht hinzu

Geben Sie an der Eingabeaufforderung Folgendes ein:

add lb vserver <name>@ <serviceType> [(<IPAddress>@ <port>)]

Beispiel:

add lb vserver lbvserver-3 http 2.2.2.2 80

Fügen Sie den HTTP-Dienst für Citrix ADC-Appliance in der Proxy-Schicht hinzu

Geben Sie an der Eingabeaufforderung Folgendes ein:

add service <name>@ (<IP>@ | <serverName>@) <serviceType> <port>

Beispiel:

Add service http-service-3 3.3.3.1 http 80

Festlegen des Netzprofils mit Lastausgleich oder virtuellem Content Switching-Server in Citrix ADC-Appliance

Geben Sie an der Eingabeaufforderung Folgendes ein:

set lb vserver <vserver name> -netprofile <name>

Beispiel: set lb vserver lbvserver-3 –netprofile proxyProfile-5

Konfigurieren des Proxy-Protokolls über die Citrix ADC GUI

  1. Navigieren Sie zu System > Einstellungen > Globale Systemeinstellungen ändern.
  2. Aktivieren Sie auf der Seite “Parameter für globale Systemeinstellungen konfigurieren “ das Kontrollkästchen Proxy-Protokoll .
  3. Klicken Sie auf OK und Schließen.

    Seite Proxy-Protokoll

  4. Navigieren Sie zu System > Netzwerk > Netzprofile.
  5. Klicken Sie im Detailbereich auf Hinzufügen, um ein Netzprofil für den virtuellen Lastausgleichsserver zu erstellen.
  6. Legen Sie auf der Seite Net Profile die folgenden Parameter fest:
    1. Name. Name des Netzprofils.
    2. Proxy-Protokoll. Aktivieren oder deaktivieren Sie das Proxy-Protokoll für den virtuellen Lastausgleichsserver.
    3. Proxy-Protokoll TX-Version. Legen Sie die Proxy-Protokollversion basierend auf dem eingehenden Datenformat als V1 oder V2 fest.
  7. Klicken Sie auf OK.

    Lokalisiertes Bild

  8. Navigieren Sie zu Traffic Management > Load Balancing > Virtuelle Server.
  9. Klicken Sie im Detailbereich auf Hinzufügen.
  10. Legen Sie auf der Seite Load Balancing Virtual Server die grundlegenden Parameter fest.
  11. Wählen Sie im Abschnitt Erweiterte Einstellungen die Option Profileaus.
  12. Klicken Sie im Abschnitt Profile auf das Stiftsymbol.
  13. Wählen Sie ein Netzprofil aus und klicken Sie auf OK.
  14. Klicken Sie auf Fertig.

    Lokalisiertes Bild

  15. Navigieren Sie zu Traffic Management > Load Balancing > Services.
  16. Klicken Sie im Detailbereich auf Hinzufügen.
  17. Legen Sie auf der Seite Load Balancing Service die grundlegenden Parameter fest.
  18. Wählen Sie im Abschnitt Erweiterte Einstellungen die Option Profileaus.
  19. Klicken Sie im Abschnitt Profile auf das Stiftsymbol.
  20. Wählen Sie ein Netzprofil aus und klicken Sie auf OK.
  21. Klicken Sie auf Fertig.

Hinweis:

Wenn Sie mehr als eine Citrix ADC-Appliance als Teil der Proxy-Schicht haben, müssen Sie die Proxy-Protokollkonfiguration auf jeder Appliance für den Forward-Vorgang festlegen.

Proxy-Protokollkonfiguration