Cas d’utilisation 5 : Configurer le mode DSR lors de l’utilisation de TOS

Les services différenciés (DS), également connu sous le nom de TOS (Type de service), est un champ qui fait partie de l’en-tête de paquet TCP. TOS est utilisé par les protocoles de couche supérieure pour optimiser le chemin d’accès d’un paquet. Les informations TOS code l’adresse IP virtuelle (VIP) de l’appliance Citrix ADC, et les serveurs à équilibrage de charge en extraient le VIP.

Dans le scénario suivant, l’appliance ajoute le VIP au champ TOS du paquet, puis transfère le paquet au serveur à équilibrage de charge. Le serveur à équilibrage de charge répond ensuite directement au client, en contournant l’appliance, comme illustré dans le diagramme suivant.

Figure 1. L’appliance Citrix ADC en mode DSR avec TOS

dsravectos

La fonction TOS est spécifiquement personnalisée pour un environnement contrôlé, comme décrit ci-dessous :

  • L’environnement ne doit pas comporter de périphériques avec état, tels que pare-feu avec état et passerelles TCP, dans le chemin entre l’appliance et les serveurs équilibrés de charge.
  • Les routeurs de tous les points d’entrée du réseau doivent supprimer le champ TOS de tous les paquets entrants pour s’assurer que le serveur à équilibrage de charge ne confond pas un autre champ TOS avec celui ajouté par l’appliance.
  • Chaque serveur ne peut avoir que 63 VIP.
  • Le routeur intermédiaire ne doit pas envoyer de messages d’erreur ICMP concernant la fragmentation. Le client ne comprendra pas le message, car l’adresse IP source sera l’adresse IP du serveur à équilibrage de charge et non le VIP Citrix ADC.
  • Les TOS sont valides uniquement pour les services basés sur IP. Vous ne pouvez pas utiliser de services basés sur un nom de domaine avec TOS.

Dans l’exemple, Service-any-1 est créé et lié au serveur virtuel vServer-lb-1. La charge du serveur virtuel équilibre la demande du client au service et le service répond directement aux clients, en contournant l’appliance. Le tableau suivant répertorie les noms et les valeurs des entités configurées sur l’appliance en mode DSR.

Type d’entité Nom Adresse IP Protocole
Serveur virtuel Vserver-LB-1 10.102.33.91 ANY
Services Service-ANY-1 10.102.100.44 ANY
Moniteurs PING Aucun Aucun

Le DSR avec TOS nécessite que l’équilibrage de charge soit configuré sur la couche 3. Pour configurer une configuration d’équilibrage de charge de base pour la couche 3, reportez-vous à la section Configuration de l’équilibrage de charge de base. Nommez les entités et définissez les paramètres à l’aide des valeurs décrites dans le tableau précédent.

Après avoir configuré la configuration d’équilibrage de charge, vous devez personnaliser la configuration d’équilibrage de charge pour le mode DSR en configurant le mode de redirection pour permettre au serveur de décapsuler le paquet de données, puis de répondre directement au client et de contourner l’appliance.

Après avoir spécifié le mode de redirection, vous pouvez éventuellement autoriser l’appliance à surveiller le serveur de manière transparente. Cela permet à l’appliance de surveiller de manière transparente les serveurs équilibrés de charge.

Pour configurer le mode de redirection pour le serveur virtuel à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez :

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

Exemple :

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

Pour configurer le mode de redirection du serveur virtuel à l’aide de l’utilitaire de configuration

  1. Accédez à Gestion du trafic > Équilibrage de charge > Serveurs virtuels.
  2. Ouvrez un serveur virtuel et, en mode redirection, sélectionnez ID TOS.

Pour configurer le moniteur transparent pour TOS à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez :

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

Exemple :

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

Pour créer le moniteur transparent pour TOS à l’aide de l’utilitaire de configuration

  1. Accédez à Gestion du trafic > Équilibrage de charge > Moniteurs.
  2. Créez un moniteur, sélectionnez TOS et tapez l’ID TOS que vous avez spécifié pour le serveur virtuel.

Moniteurs de TOS génériques

Dans une configuration d’équilibrage de charge en mode DSR utilisant le champ TOS, la surveillance de ses services nécessite la création d’un moniteur TOS et lié à ces services. Un moniteur TOS distinct est requis pour chaque configuration d’équilibrage de charge en mode DSR utilisant le champ TOS, car un moniteur TOS nécessite l’adresse VIP et l’ID TOS pour créer une valeur codée de l’adresse VIP. Le moniteur crée des paquets de sonde dans lesquels le champ TOS est défini sur la valeur codée de l’adresse VIP. Il envoie ensuite les paquets de sonde aux serveurs représentés par les services d’une configuration d’équilibrage de charge.

Avec un grand nombre de configurations d’équilibrage de charge, la création d’un moniteur TOS personnalisé distinct pour chaque configuration est une tâche importante et lourde. La gestion de ces moniteurs de TOS est également une tâche importante. Maintenant, vous pouvez créer des moniteurs de TOS génériques. Vous devez créer un seul moniteur TOS générique pour toutes les configurations d’équilibrage de charge qui utilisent le même protocole (par exemple, TCP ou UDP).

Un moniteur de TOS générique possède les paramètres obligatoires suivants :

  • Type = <protocol>
  • TOS = Oui

Les paramètres suivants peuvent être définis sur une valeur ou peuvent être laissés vides :

  • IP destination
  • Port de destination
  • ID TOS

Un moniteur TOS générique (avec IP de destination, port de destination et ID TOS non définis) lié à un service DSR apprend automatiquement l’ID TOS et l’adresse VIP du serveur virtuel d’équilibrage de charge. Le moniteur crée des paquets de sonde avec le champ TOS défini sur l’adresse VIP codée, puis envoie les paquets de sonde au serveur représenté par le service DSR.

Pour créer un moniteur de TOS générique à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez :

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

show lb monitor <monitorName>

Pour lier un moniteur de TOS générique à un service à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez :

bind lb monitor <monitorName> <serviceName>

show lb monitor <monitorName>

Pour créer un moniteur de TOS générique à l’aide de l’interface graphique

  1. Accédez à Gestion du trafic > Équilibrage de charge > Moniteurs.
  2. Ajoutez un moniteur avec les paramètres suivants :
    • Type = <protocol>
    • TOS = OUI

Pour lier un moniteur de TOS générique à un service à l’aide de l’interface graphique

  1. Accédez à Gestion du trafic > Équilibrage de charge > Services.
  2. Ouvrez un service et liez un moniteur de TOS générique à celui-ci.

Dans l’exemple de configuration suivant, V1, V2 et V3 sont des serveurs virtuels d’équilibrage de charge de type ANY et dont l’ID TOS est défini sur 1, 2 et 3 respectivement. S1, S2, S3, S4 et S5 sont des services de type ANY. S1 et S2 sont liés à V1 et V2. S3, S4 et S5 et liés à V1 et V3. WLCD-TOS-MON est un moniteur TOS générique avec le type TCP et est lié à S1, S2, S3, S4 et S5.

WLCD-TOS-MON apprend automatiquement l’ID TOD et l’adresse VIP des serveurs virtuels liés à S1, S2, S3, S4 et S5.

Comme S1 est lié à V1 et V2, WLCD-TOS-MON crée deux types de paquets de sonde pour S1, l’un avec le champ TOS défini sur l’adresse VIP codée (203.0.113.1) de V1 et l’autre avec l’adresse VIP (203.0.113.2) de V2. Citrix ADC envoie ensuite ces paquets de sonde au serveur représenté par S1. De même, WLCD-TOS-MON crée des paquets de sonde pour S2, S3, S4 et 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