Anwendungsfall 5: Konfigurieren des DSR-Modus bei Verwendung von TOS

Differentiated Services (DS), auch bekannt als TOS (Type of Service), ist ein Feld, das Teil des TCP-Paket-Headers ist. TOS wird von Protokollen der oberen Schicht verwendet, um den Pfad für ein Paket zu optimieren. Die TOS-Informationen kodieren die virtuelle IP-Adresse (VIP) der Citrix ADC Appliance, und die Server mit Lastausgleich extrahieren den VIP.

Im folgenden Szenario fügt die Appliance den VIP zum TOS-Feld im Paket hinzu und leitet das Paket dann an den Server mit Lastausgleich weiter. Der Lastausgleichsserver reagiert dann direkt auf den Client und umgeht die Appliance, wie im folgenden Diagramm dargestellt.

Abbildung 1. Die Citrix ADC Appliance im DSR-Modus mit TOS

dsrwithtos

Die TOS-Funktion ist speziell für eine kontrollierte Umgebung angepasst, wie unten beschrieben:

  • Die Umgebung darf keine statusbehafteten Geräte wie Stateful-Firewall und TCP-Gateways im Pfad zwischen der Appliance und den Lastausgleichs-Servern aufweisen.
  • Router an allen Einstiegspunkten zum Netzwerk müssen das TOS-Feld aus allen eingehenden Paketen entfernen, um sicherzustellen, dass der Server mit Lastausgleich kein anderes TOS-Feld mit dem von der Appliance hinzugefügten Feld verwechselt.
  • Jeder Server kann nur 63 VIPs haben.
  • Der Zwischenrouter darf keine ICMP-Fehlermeldungen bezüglich Fragmentierung senden. Der Client versteht die Nachricht nicht, da die Quell-IP-Adresse die IP-Adresse des Lastausgleichsservers und nicht die Citrix ADC VIP ist.
  • TOS ist nur für IP-basierte Dienste gültig. Domänennamenbasierte Dienste können nicht mit TOS verwendet werden.

In diesem Beispiel wird Service-ANY-1 erstellt und an den virtuellen Server vServer-LB-1 gebunden. Der virtuelle Server gleicht die Clientanforderung an den Dienst aus, und der Dienst reagiert direkt auf Clients unter Umgehung der Appliance. In der folgenden Tabelle sind die Namen und Werte der Entitäten aufgeführt, die auf der Appliance im DSR-Modus konfiguriert sind.

Entitätstyp Name IP-Adresse Protokoll
Virtueller Server Vserver-LB-1 10.102.33.91 ANY
Services Service-ANY-1 10.102.100.44 ANY
Monitore PING Ohne Ohne

DSR mit TOS erfordert, dass der Lastausgleich auf Layer 3 eingerichtet wird. Informationen zum Konfigurieren eines einfachen Lastausgleichs für Layer 3 finden Sie unterGrundlegender Lastenausgleich einrichten. Benennen Sie die Entitäten und legen Sie die Parameter anhand der in der vorherigen Tabelle beschriebenen Werte fest.

Nachdem Sie das Lastausgleichs-Setup konfiguriert haben, müssen Sie das Lastausgleichs-Setup für den DSR-Modus anpassen, indem Sie den Umleitungsmodus so konfigurieren, dass der Server das Datenpaket entkapselt und dann direkt auf den Client reagieren und die Appliance umgehen kann.

Nachdem Sie den Umleitungsmodus angegeben haben, können Sie die Appliance optional aktivieren, um den Server transparent zu überwachen. Dadurch kann die Appliance die Server mit Lastausgleich transparent überwachen.

So konfigurieren Sie den Umleitungsmodus für den virtuellen Server mit der Befehlszeilenschnittstelle

Geben Sie an der Eingabeaufforderung Folgendes ein:

set lb vserver <vServerName> -m <Value> -tosId <Value>

Beispiel:

set lb vserver Vserver-LB-1 -m TOS -tosId 3

So konfigurieren Sie den Umleitungsmodus für den virtuellen Server mit dem Konfigurationsdienstprogramm

  1. Navigieren Sie zu Traffic Management > Load Balancing > Virtuelle Server.
  2. Öffnen Sie einen virtuellen Server, und wählen Sie im Umleitungsmodus TOS ID aus.

So konfigurieren Sie den transparenten Monitor für TOS mit der Befehlszeilenschnittstelle

Geben Sie an der Eingabeaufforderung Folgendes ein:

add monitor <MonitorName> <Type> -destip <DestinationIP> -tos <Value> -tosId <Value>

Beispiel:

add monitor mon1 PING -destip 10.102.33.91 -tos Yes  -tosId 3

So erstellen Sie den transparenten Monitor für TOS mit dem Konfigurationsdienstprogramm

  1. Navigieren Sie zu Traffic Management > Load Balancing > Monitore.
  2. Erstellen Sie einen Monitor, wählen Sie TOS aus, und geben Sie die TOS-ID ein, die Sie für den virtuellen Server angegeben haben.

Platzhalter-TOS-Monitore

Bei einer Lastausgleichskonfiguration im DSR-Modus mit dem TOS-Feld muss für die Überwachung der Dienste ein TOS-Monitor erstellt und an diese Dienste gebunden werden. Für jede Lastausgleichskonfiguration im DSR-Modus ist ein separater TOS-Monitor erforderlich, da ein TOS-Monitor die VIP-Adresse und die TOS-ID benötigt, um einen kodierten Wert der VIP-Adresse zu erstellen. Der Monitor erstellt Prüfpakete, in denen das TOS-Feld auf den codierten Wert der VIP-Adresse gesetzt ist. Anschließend werden die Prüfpunktpakete an die Server gesendet, die von den Diensten einer Lastausgleichskonfiguration dargestellt werden.

Mit einer großen Anzahl von Lastausgleich-Konfigurationen ist das Erstellen eines separaten benutzerdefinierten TOS-Monitors für jede Konfiguration eine große, umständliche Aufgabe. Die Verwaltung dieser TOS-Monitore ist ebenfalls eine große Aufgabe. Jetzt können Sie Platzhalter-TOS-Monitore erstellen. Sie müssen nur einen Platzhalter-TOS-Monitor für alle Lastausgleichskonfigurationen erstellen, die dasselbe Protokoll verwenden (z. B. TCP oder UDP).

Ein Platzhalter-TOS-Monitor verfügt über die folgenden obligatorischen Einstellungen:

  • Typ =<protocol>
  • TOS = Ja

Die folgenden Parameter können auf einen Wert gesetzt oder leer gelassen werden:

  • Ziel-IP
  • Zielport
  • TOS-ID

Ein Platzhalter-TOS-Monitor (mit nicht festgelegten Ziel-IP, Ziel-Port und TOS-ID), der an einen DSR-Dienst gebunden ist, erlernt automatisch die TOS-ID und die VIP-Adresse des virtuellen Lastausgleichsservers. Der Monitor erstellt Prüfpakete, deren TOS-Feld auf die codierte VIP-Adresse festgelegt ist, und sendet dann die Prüfpunktpakete an den Server, der vom DSR-Dienst repräsentiert wird.

So erstellen Sie einen Platzhalter-TOS-Monitor mit der CLI

Geben Sie an der Eingabeaufforderung Folgendes ein:

add lb monitor <monitorName> <Type> -tos YES

show lb monitor <monitorName>

So binden Sie einen Platzhalter-TOS-Monitor mit Hilfe der CLI an einen Dienst

Geben Sie an der Eingabeaufforderung Folgendes ein:

bind lb monitor <monitorName> <serviceName>

show lb monitor <monitorName>

So erstellen Sie einen Platzhalter-TOS-Monitor mit der GUI

  1. Navigieren Sie zu Traffic Management > Load Balancing > Monitore .
  2. Fügen Sie einen Monitor mit den folgenden Parametereinstellungen hinzu:
    • Typ =<protocol>
    • TOS = JA

So binden Sie einen Platzhalter-TOS-Monitor mit der GUI an einen Dienst

  1. Navigieren Sie zu Traffic Management > Load Balancing > Services.
  2. Öffnen Sie einen Dienst und binden Sie einen Platzhalter-TOS-Monitor an ihn.

In der folgenden Beispielkonfiguration sind V1, V2 und V3 Lastenausgleichsserver vom Typ ANY und hat die TOS-ID auf 1, 2 und 3 festgelegt. S1, S2, S3, S4 und S5 sind Dienste vom Typ ANY. S1 und S2 sind sowohl an V1 als auch an V2 gebunden. S3, S4 und S5 und gebunden an V1 und V3. WLCD-TOS-MON ist ein Platzhalter-TOS-Monitor mit Typ TCP und ist an S1, S2, S3, S4 und S5 gebunden.

WLCD-TOS-MON lernt automatisch die TOD-ID und die VIP-Adresse von virtuellen Servern, die an S1, S2, S3, S4 und S5 gebunden sind.

Da S1 an V1 und V2 gebunden ist, erstellt WLCD-TOS-MON zwei Typen von Prüfpaketen für S1, eines mit TOS-Feld auf die codierte VIP-Adresse (203.0.113.1) von V1 und der andere mit der VIP-Adresse (203.0.113.2) von V2. Der Citrix ADC sendet diese Prüfpakete dann an den durch S1 dargestellten Server. Ebenso erstellt WLCD-TOS-MON Prüfpakete für S2, S3, S4 und S5.

add lb monitor WLCD-TOS-MON  TCP -tos YES

Done

add lb vserver V1 ANY 203.0.113.1 * -m TOS –tosID 1

Done

add lb vserver V2 ANY 203.0.113.2 * -m TOS –tosID 2

Done

add lb vserver V3 ANY 203.0.113.3 * -m TOS –tosID 3

Done

add service S1 198.51.100.1 ANY *

Done

add service S2 198.51.100.2 ANY *

Done

add service S3 198.51.100.3 ANY *

Done

add service S4 198.51.100.4 ANY *

Done

add service S5 198.51.100.5 ANY *

Done

bind lb monitor WLCD-TOS-MON S1

Done

bind lb monitor WLCD-TOS-MON S2

Done

bind lb monitor WLCD-TOS-MON S3

Done

bind lb monitor WLCD-TOS-MON S4

Done

bind lb monitor WLCD-TOS-MON S5

Done

bind lb vserver V1 S1, S2, S3, S4, S5

Done

bind lb vserver V2, S1, S2

Done

bind lb vserver V3 S3, S4, S5

Done