Citrix ADC

Proxyprotokoll

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

  • Ursprüngliche Client-IP-Adresse ermitteln
  • 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:

  • Insert. Die Appliance fügt die Clientdetails ein und sendet sie an den Back-End-Server.
  • Forward. Die Appliance leitet die Clientdetails an den Backend-Server weiter.
  • Stripped. Die Appliance speichert die Clientdetails zu Protokollzwecken. Wenn das Proxyprotokoll auf dem Back-End-Server nicht unterstützt wird, sendet die Clientdetails mithilfe der Konfiguration der Rewriterichtlinie an den Server

Einschränkungen

Das Proxyprotokoll 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 Proxyprotokoll in einer Citrix ADC-Appliance

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

Insert-Vorgang

Insert-Vorgang

Die Interaktion der Komponente ist wie folgt:

  • Bei der Citrix ADC-Instanz müssen Sie das Proxyprotokoll im Netzprofil aktivieren und an den Dienst binden.
  • Beim Insert-Vorgang fügt Citrix ADC einen Proxyheader mit Clientverbindungsdetails hinzu und leitet ihn an den Backend-Server weiter.
  • Auf der sendenden Seite entscheidet die Appliance die Proxyprotokollversion basierend auf der CLI-Konfiguration.

Forward-Vorgang

Forward-Betrieb

Die Interaktion der Komponente ist wie folgt:

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

Stripped-Vorgang

Stripped-Vorgang

Die Interaktion der Komponente ist wie folgt:

  • Ein Client sendet eine Anfrage zusammen mit einem Proxyheader an die Citrix ADC-Appliance.
  • Wenn es sich in der Citrix ADC-Appliance um einen Stripped-Vorgang handelt, leitet die Appliance die vom Proxyprotokoll 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 mit 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 Proxyheaders ungültig sind, setzt die Appliance die Verbindung zurück.

Proxyprotokoll-Versionsformate

Die Proxyprotokollversion 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 Proxyprotokoll-RFP .

  1. Proxyprotokoll-Version-1-Format

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

    • PROXY -> Eindeutiges Zeichenfolgenformat für Proxyheader-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 Proxyheader-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 Proxyprotokoll in Citrix ADC-Appliance

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

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

Aktivieren Sie das Proxyprotokoll als global

Geben Sie an der Eingabeaufforderung Folgendes ein:

set ns param –proxyProtocol ENABLED

Konfigurieren Sie das Proxyprotokoll für Insert-

Um das Proxyprotokoll 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 Proxyprotokoll 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 DISABLED –proxyprotocoltxversion V1

Hinweis:

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

Fügen Sie ein Netzprofil mit einem für den Dienst aktivierten Proxyprotokoll 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

Proxyprotokoll für Forward-Vorgang konfigurieren

Konfigurieren des Proxyprotokolls für den Forward-Vorgang 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 Proxyprotokoll 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 Proxyprotokoll 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 Proxyprotokoll für Strip-Betrieb

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

Netzprofil mit aktiviertem Proxyprotokoll 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 Proxyprotokolls ü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 Proxyprotokoll .
  3. Klicken Sie auf OK und Schließen.

    Seite Proxyprotokoll

  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. Proxyprotokoll. Aktivieren oder deaktivieren Sie das Proxyprotokoll für den virtuellen Lastausgleichsserver.
    3. Proxyprotokoll TX-Version. Legen Sie die Proxyprotokollversion basierend auf dem eingehenden Datenformat als V1 oder V2 fest.
  7. Klicken Sie auf OK.

    localized image

  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.

    localized image

  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 Proxyprotokollkonfiguration auf jeder Appliance für den Forward-Vorgang festlegen.

Proxyprotokollkonfiguration

Proxyprotokoll