Proxyprotokoll
Das Proxyprotokoll transportiert Clientdetails sicher von Client zu Server über NetScaler-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 NetScaler-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:
- 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.
- 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 NetScaler-Appliance die TCP-Verbindungsbeendigung vornimmt. Es ist keine Unterstützung für andere Dienste, zum Beispiel “ANY”.
So funktioniert das Proxyprotokoll in einer NetScaler-Appliance
死folgenden Flussdiagramme请,您叫您das Proxyprotokoll für NetScaler-Appliances für den Insert-, Forwards- und Stripping-Vorgang konfigurieren können:
Insert-Vorgang
Die Interaktion der Komponente ist wie folgt:
- Bei der NetScaler-Instanz müssen Sie das Proxyprotokoll im Netzprofil aktivieren und an den Dienst binden.
- Beim Insert-Vorgang fügt NetScaler 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
Die Interaktion der Komponente ist wie folgt:
- Ein Client sendet eine Anfrage zusammen mit dem Proxyheader an den NetScaler. Die Appliance identifiziert die Version dynamisch.
- In der NetScaler-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
Die Interaktion der Komponente ist wie folgt:
- Ein Client sendet eine Anfrage zusammen mit einem Proxyheader an die NetScaler-Appliance.
- Wenn es sich in der NetScaler-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 unterProxyprotokoll-RFP.
Proxyprotokoll-Version-1-Format
PROXY TCP4/TCP6/UNKNOWN
- 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进行寄。
- DST-Port — Zielport eines Pakets.
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.
Unterstützung von Ausdrücken für Responder-Richtlinien in der Infrastruktur
Das Proxyprotokoll unterstützt die folgenden Infrastrukturausdrücke für Responder-Richtlinien für virtuelle Server vom Typ TCP und HTTP:
- CLIENT.PROXY.SRCIP_STR
- CLIENT.PROXY.DSTIP_STR
- CLIENT.PROXY.SRCPORT
- CLIENT.PROXY.DSTPORT
- CLIENT.PROXY.ETHERTYPE
Hinweis
NetScaler unterstützt den Responderrichtlinien-Infrastrukturausdruck für das Proxyprotokoll auf einem virtuellen Server vom Typ TCP ab NetScaler Version 13.1-48.x.
Konfigurieren Sie das Proxyprotokoll in NetScaler-Appliance
Führen Sie die folgenden Schritte aus, um das Proxyprotokoll in Ihrer NetScaler-Appliance zu konfigurieren.
- Aktivieren Sie das Proxyprotokoll als global.
- Konfigurieren Sie das Proxyprotokoll für den Insert-Vorgang.
- Konfigurieren Sie das Proxyprotokoll für den Forward-Vorgang.
- Konfigurieren Sie das Proxy-Protokoll für den Strip-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 deaktivieren und das Protokoll im 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
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
Beispiel:
add netprofile proxyprofile-2 –proxyProtocol ENABLED –proxyprotocoltxversion V1
Fügen Sie einen virtuellen Lastausgleichsserver für NetScaler-Appliance in der Proxy-Schicht hinzu
Geben Sie an der Eingabeaufforderung Folgendes ein:
add lb vserver
Beispiel:
add lb vserver lbvserver-1 http 1.1.1.1 80
Fügen Sie den HTTP-Dienst für NetScaler-Appliance in der Proxy-Schicht hinzu
Geben Sie an der Eingabeaufforderung Folgendes ein:
add service
Beispiel:
Add service http-service-1 2.2.2.1 http 80
Festlegen des Netzwerkprofils mit dem virtuellen Lastausgleichsserver in der NetScaler-Appliance
Geben Sie an der Eingabeaufforderung Folgendes ein:
设置磅vserver < vserver name> -netprofile
Beispiel:
set lb vserver lbvserver-1 –netprofile proxyProfile-1
Festlegen des Netzwerkprofils mit dem HTTP-Dienst in der NetScaler-Appliance
Geben Sie an der Eingabeaufforderung Folgendes ein:
set service
Beispiel:
设置服务http-service-1 -netprofile proxyProfile-2
Binden Sie den virtuellen Lastausgleichsserver an den Dienst
Geben Sie an der Eingabeaufforderung Folgendes ein:
bind lb vserver
Beispiel:
bind lb vserver lbvserver-1 http-service-1
Proxyprotokoll für Forward-Vorgang konfigurieren
Um das Proxyprotokoll für den Forward-Betrieb für die nächste NetScaler-Instanz in der Proxyschicht zu konfigurieren, müssen Sie das Protokoll aktivieren und eine Bindung an den virtuellen Server oder Dienst herstellen.
Hinweis:
Das für den virtuellen Lastausgleichsserver erstellte Netzprofil kann auch für den Dienst verwendet werden.
Hinzufügen eines Netzprofils mit aktiviertem Proxyprotokoll für den Lastausgleich des virtuellen Servers
Geben Sie an der Eingabeaufforderung Folgendes ein:
add netprofile
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
Beispiel:
add netprofile proxyprofile-4 –proxyProtocol ENABLED –proxyprotocoltxversion V1
Fügen Sie einen virtuellen Lastausgleichsserver für NetScaler-Appliance in der Proxy-Schicht hinzu
Geben Sie an der Eingabeaufforderung Folgendes ein:
add lb vserver
Beispiel:
add lb vserver lbvserver-2 http 2.2.2.2 80
Fügen Sie den HTTP-Dienst für NetScaler-Appliance in der Proxy-Schicht hinzu
Geben Sie an der Eingabeaufforderung Folgendes ein:
add service
Beispiel:
Add service http-service-2 3.3.3.1 http 80
Festlegen des Netzwerkprofils mit dem virtuellen Lastausgleichsserver in der NetScaler-Appliance
Geben Sie an der Eingabeaufforderung Folgendes ein:
设置磅vserver < vserver name> -netprofile
Beispiel:
set lb vserver lbvserver-2 –netprofile proxyProfile-3
Festlegen des Netzwerkprofils mit dem HTTP-Dienst in der NetScaler-Appliance
Geben Sie an der Eingabeaufforderung Folgendes ein:
set service
Beispiel:
set service http-service-2 –netprofile proxyProfile-4
Binden Sie den virtuellen Lastausgleichsserver an den Dienst
Geben Sie an der Eingabeaufforderung Folgendes ein:
bind lb vserver
Beispiel:
bind lb vserver lbvserver-2 http-service-2
Konfigurieren Sie das Proxyprotokoll für Strip-Betrieb
嗯das Proxyprotokoll毛穴Strip-Betrieb祖茂堂今敏figurieren, 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
Beispiel:
add netprofile proxyprofile-5 –proxyProtocol ENABLED –proxyprotocoltxversion V1
Fügen Sie einen virtuellen Server für Lastenausgleich oder Content Switching für NetScaler-Appliance in der Proxy-Schicht hinzu
Geben Sie an der Eingabeaufforderung Folgendes ein:
add lb vserver
Beispiel:
add lb vserver lbvserver-3 http 2.2.2.2 80
Fügen Sie den HTTP-Dienst für NetScaler-Appliance in der Proxy-Schicht hinzu
Geben Sie an der Eingabeaufforderung Folgendes ein:
add service
Beispiel:
Add service http-service-3 3.3.3.1 http 80
Festlegen des Netzprofils mit Lastausgleich oder virtuellem Content Switching-Server in NetScaler-Appliance
Geben Sie an der Eingabeaufforderung Folgendes ein:
设置磅vserver < vserver name> -netprofile
Beispiel:set lb vserver lbvserver-3 –netprofile proxyProfile-5
Binden Sie den virtuellen Lastausgleichsserver an den Dienst
Geben Sie an der Eingabeaufforderung Folgendes ein:
bind lb vserver
Beispiel:
bind lb vserver lbvserver-3 http-service-3
Konfigurieren Sie den Infrastrukturausdruck der Responderrichtlinie für das Proxyprotokoll mithilfe der CLI
Um eine Responder-Richtlinie zu konfigurieren, geben Sie an der Befehlszeile Folgendes ein:
add responder policy
Beispiel:
> add responder policy resppol_proxy_srcip "CLIENT.PROXY.SRCIP_STR.EQ("10.106.26.83")" RESET Done
Um die Responder-Richtlinie an den virtuellen Load Balancing-Server zu binden, geben Sie an der Befehlszeile Folgendes ein:
bind lb vserver
Beispiel:
> bind lb vserver lb_tcp1 -policyName resppol_proxy_srcip -priority 10 -gotoPriorityExpression END -type REQUEST Done
Beispiel für eine End-to-End-Konfiguration
>添加ns tcpProfile tcp-proxy-profile -tcpmode结束POINT > add netprofile net_proxyv1 -MBF DISABLED -proxyProtocol ENABLED > enable ns mode l2 > enable ns mode l3 usnip > add ns ip 10.106.26.146 255.255.255.0 -type SNIP Done > add ns ip 10.106.26.144 255.255.255.0 -type SNIP Done > add lb vserver lb_tcp1 TCP 10.106.26.141 80 > add service s1 10.106.26.82 TCP 8080 > bind lb vserver lb_tcp1 s1 > set lb vserver lb_tcp1 -tcpProfileName tcp_proxy -netProfile net_proxyv1 > set ns param -proxyProtocol ENABLED > add responder policy resppol_proxy_srcip "CLIENT.PROXY.SRCIP_STR.EQ("10.106.26.83")" RESET > bind lb vserver lb_tcp1 -policyName resppol_proxy_srcip -priority 10 -gotoPriorityExpression END -type REQUEST Done
Konfigurieren des Proxyprotokolls über die NetScaler GUI
- Navigieren Sie zuSystem>Einstellungen>Globale Systemeinstellungen ändern.
- Aktivieren Sie auf der Seite “Parameter für globale Systemeinstellungen konfigurieren“ das KontrollkästchenProxyprotokoll.
Klicken Sie aufOKund aufSchließen.
- Navigieren Sie zuSystem>Netzwerk>Netzprofile.
- Klicken Sie im Detailbereich aufHinzufügen, um ein Netzprofil für den virtuellen Lastausgleichsserver zu erstellen.
- Legen Sie auf der SeiteNet Profiledie folgenden Parameter fest:
- Name: Name des Netzprofils.
- Proxy-Protokoll: Aktivieren oder deaktivieren Sie das Proxy-Protokoll für den virtuellen Lastausgleichsserver.
- Proxy-Protokoll-TX-Version: Stellen Sie die Proxy-Protokollversion auf V1 oder V2 ein, basierend auf dem Format der eingehenden Daten.
Klicken Sie aufOK.
- Navigieren Sie zuTraffic Management>Load Balancing>Virtuelle Server.
- Klicken Sie im Detailbereich aufHinzufügen.
- Legen Sie auf der SeiteLoad Balancing Virtual Serverdie grundlegenden Parameter fest.
- Wählen Sie im AbschnittErweiterte Einstellungendie OptionProfileaus.
- Klicken Sie im AbschnittProfileauf das Stiftsymbol.
- Wählen Sie ein Netzprofil aus und klicken Sie aufOK.
Klicken Sie aufFertig.
- Navigieren Sie zuTraffic Management>Load Balancing>Services.
- Klicken Sie im Detailbereich aufHinzufügen.
- Legen Sie auf der SeiteLoad Balancing Servicedie grundlegenden Parameter fest.
- Wählen Sie im AbschnittErweiterte Einstellungendie OptionProfileaus.
- Klicken Sie im AbschnittProfileauf das Stiftsymbol.
- Wählen Sie ein Netzprofil aus und klicken Sie aufOK.
- Klicken Sie aufFertig.
Hinweis:
Wenn Sie mehr als eine NetScaler-Appliance als Teil der Proxy-Schicht haben, müssen Sie die Proxyprotokollkonfiguration auf jeder Appliance für den Forward-Vorgang festlegen.
In diesem Artikel
- Einschränkungen
- So funktioniert das Proxyprotokoll in einer NetScaler-Appliance
- Proxyprotokoll-Versionsformate
- Unterstützung von Ausdrücken für Responder-Richtlinien in der Infrastruktur
- Konfigurieren Sie das Proxyprotokoll in NetScaler-Appliance
- Konfigurieren Sie den Infrastrukturausdruck der Responderrichtlinie für das Proxyprotokoll mithilfe der CLI
- Konfigurieren des Proxyprotokolls über die NetScaler GUI