Citrix ADC

Routes basées sur des stratégies (PBR) pour le trafic IPv4

La configuration des PBR implique les tâches suivantes :

  • Créez un PBR.
  • Appliquer les PBR.
  • (Facultatif) Désactivez ou activez un PBR.
  • (Facultatif) Renuméroter la priorité du PBR.

Création ou modification d’un PBR

Vous ne pouvez pas créer deux PBR avec les mêmes paramètres. Si vous tentez de créer un doublon, un message d’erreur s’affiche.

Vous pouvez configurer la priorité d’un PBR. La priorité (une valeur entière) définit l’ordre dans lequel l’appliance Citrix ADC évalue les PBR. Lorsque vous créez un PBR sans spécifier de priorité, Citrix ADC attribue automatiquement une priorité qui est un multiple de 10.

Si un paquet correspond à la condition définie par le PBR, Citrix ADC effectue une action. Si le paquet ne correspond pas à la condition définie par le PBR, Citrix ADC compare le paquet au PBR avec la priorité la plus élevée suivante.

Au lieu d’envoyer les paquets sélectionnés à un routeur de saut suivant, vous pouvez configurer le PBR pour les envoyer à un serveur virtuel d’équilibrage de charge de liaison auquel vous avez lié plusieurs sauts suivants. Cette configuration peut fournir une sauvegarde si un lien de saut suivant échoue.

Prenons l’exemple suivant. Deux PBR, p1 et p2, sont configurés sur Citrix ADC et assignés automatiquement les priorités 20 et 30. Vous devez ajouter un troisième PBR, p3, à évaluer immédiatement après le premier PBR, p1. Le nouveau PBR, p3, doit avoir une priorité entre 20 et 30. Dans ce cas, vous pouvez spécifier la priorité 25.

Procédures CLI

Pour créer un PBR à l’aide de l’interface de ligne de commande :

À l’invite de commandes, tapez :

  • add ns pbr <name> <action> [-srcIP [<operator>] <srcIPVal>] [-srcPort [<operator>] <srcPortVal>] [-destIP [<operator>] <destIPVal>] [-destPort [<operator>] <destPortVal>] [-nextHop <nextHopVal>] [-srcMac <mac_addr>] [-protocol <protocol> |-protocolNumber <positive_integer>] [-vlan <positive_integer>] [-interface <interface_name>] [-priority <positive_integer>] [-msr ( ENABLED | DISABLED ) [-monitor <string>]] [-state ( ENABLED | DISABLED )]
  • show ns pbr

Exemple :

> add ns pbr pbr1  allow -srcip 10.102.37.252 -destip 10.10.10.2 -nexthop 10.102.29.77
 Done

Pour modifier la priorité d’un PBR à l’aide de l’interface de ligne de commande :

À l’invite de commandes, tapez les commandes suivantes pour modifier la priorité et vérifier la configuration :

  • set ns pbr <name> [-action ( ALLOW | DENY )] [-srcIP [<operator>] <srcIPVal>] [-srcPort [<operator>] <srcPortVal>] [-destIP [<operator>] <destIPVal>] [-destPort [<operator>] <destPortVal>] [-nextHop <nextHopVal>] [-srcMac <mac_addr>] [-protocol <protocol> | -protocolNumber <positive_integer>] [-vlan <positive_integer>] [-interface <interface_name>] [-priority <positive_integer>] [-msr ( ENABLED | DISABLED ) [-monitor <string>]] [-state ( ENABLED | DISABLED )]
  • show ns pbr [<name>]

Exemple :

> set ns pbr pbr1 -priority 23
 Done

Pour supprimer un ou tous les PBR à l’aide de l’interface de ligne de commande :

À l’invite de commandes, tapez l’une des commandes suivantes :

  • rm ns pbr <name>
  • clear ns pbrs

Exemple :

> rm ns pbr pbr1
 Done

> clear ns PBRs
 Done

Procédures GUI

Pour créer un PBR à l’aide de l’interface graphique :

Accédez à Système > Réseau > PBR, sous l’onglet PBR, ajoutez un nouveau PBR ou modifiez un PBR existant.

Pour supprimer un ou tous les PBR à l’aide de l’interface graphique :

Accédez à Système > Réseau > PBR, sous l’onglet PBR, supprimez le PBR.

Application d’un PBR

Vous devez appliquer un PBR pour l’activer. La procédure suivante réapplique tous les PBR que vous n’avez pas désactivés. Les PBR constituent une arborescence de mémoire (table de recherche). Par exemple, si vous créez 10 PBR (p1 - p10), puis que vous créez un autre PBR (p11) et l’appliquez, toutes les PBR (p1 - p11) sont fraîchement appliquées et une nouvelle table de recherche est créée. Si une session est associée à un DENY PBR, la session est détruite.

Vous devez appliquer cette procédure après chaque modification apportée à un RBP. Par exemple, vous devez suivre cette procédure après avoir désactivé un PBR.

Remarque : les PBR créés sur l’appliance Citrix ADC ne fonctionnent pas tant qu’ils ne sont pas appliqués.

Pour appliquer un PBR à l’aide de l’interface de ligne de commande :

À l’invite de commandes, tapez :

apply ns PBRs

Pour appliquer un PBR à l’aide de l’interface graphique :

  1. Accédez à Système > Réseau > PBR.
  2. Sous l’onglet PBR, sélectionnez le PBR, dans la liste Action, sélectionnez Appliquer.

Activation ou désactivation des PBR

Par défaut, les PBR sont activés. Cela signifie que lorsque des PBR sont appliqués, l’appliance Citrix ADC compare automatiquement les paquets entrants aux PBR configurés. Si un PBR n’est pas requis dans la table de recherche, mais qu’il doit être conservé dans la configuration, il doit être désactivé avant l’application des PBR. Une fois les PBR appliqués, Citrix ADC ne compare pas les paquets entrants avec les PBR désactivés.

Pour activer ou désactiver un PBR à l’aide de l’interface de ligne de commande :

À l’invite de commandes, tapez l’une des commandes suivantes :

  • enable ns pbr <name>
  • disable ns pbr <name>

Exemple :

> enable ns PBR pbr1
 Done
> show ns PBR pbr1
1)      Name: pbr1
        Action: ALLOW                          Hits: 0
        srcIP = 10.102.37.252
        destIP = 10.10.10.2
        srcMac:                                Protocol:
        Vlan:                                  Interface:
        Active Status: ENABLED                 Applied Status: APPLIED
        Priority: 10
        NextHop: 10.102.29.77

 Done

> disable ns PBR pbr1
Warning: PBR modified, use 'apply pbrs' to commit this operation

> apply pbrs
 Done

> show ns PBR pbr1
1)      Name: pbr1
        Action: ALLOW                          Hits: 0
        srcIP = 10.102.37.252
        destIP = 10.10.10.2
        srcMac:                                Protocol:
        Vlan:                                  Interface:
        Active Status: DISABLED                Applied Status: NOTAPPLIED
        Priority: 10
        NextHop: 10.102.29.77
Done

Pour activer ou désactiver un PBR à l’aide de l’interface graphique :

  1. Accédez à Système > Réseau > PBR.
  2. Sous l’onglet PBR, sélectionnez le PBR, dans la liste Action, sélectionnez Activer ou Désactiver.

Renuméroter les PBR

Vous pouvez automatiquement renuméroter les PBR pour définir leurs priorités à des multiples de 10.

Pour renuméroter les PBR à l’aide de l’interface de ligne de commande :

À l’invite de commandes, tapez :

  • renumber ns pbrs

Pour renuméroter les PBR à l’aide de l’interface graphique :

Accédez à Système > Réseau > PBR, sous l’onglet PBR, dans la liste Action, sélectionnez Renuméroter les priorités.

Cas d’utilisation - PBR avec plusieurs houblons

Considérons un scénario dans lequel deux PBR, PBR1 et PBR2, sont configurés sur l’appliance Citrix ADC NS1. PBR1 achemine tous les paquets sortants, avec l’adresse IP source 10.102.29.30, vers le routeur de saut suivant R1. PBR2 achemine tous les paquets sortants, avec l’adresse IP source 10.102.29.90, vers le routeur de saut suivant R2. R3 est un autre routeur de saut suivant connecté à NS1.

Si le routeur R1 échoue, tous les paquets sortants correspondant à PBR1 sont supprimés. Pour éviter cette situation, vous pouvez spécifier un serveur virtuel LLB (Link Load Balancing) dans le champ de saut suivant lors de la création ou de la modification d’un PBR. Plusieurs sauts suivants sont liés au serveur virtuel LLB en tant que services (par exemple R1, R2 et R3). Maintenant, si R1 échoue, tous les paquets correspondant à PBR1 sont routés vers R2 ou R3 comme déterminé par la méthode LB configurée sur le serveur virtuel LLB.

L’appliance Citrix ADC génère une erreur si vous tentez de créer un PBR avec un serveur virtuel LLB comme saut suivant dans les cas suivants :

  • Ajout d’un autre PBR avec le même serveur virtuel LLB.
  • Spécification d’un serveur virtuel LLB inexistant.
  • Spécification d’un serveur virtuel LLB pour lequel les services liés ne sont pas des sauts suivants.
  • Spécification d’un serveur virtuel LLB pour lequel la méthode LB n’est pas définie sur l’une des options suivantes :
    • LEASTPACKETS
    • LEASTBANDWIDTH
    • DESTIPHASH
    • SOURCEIPHASH
    • WEIGHTDRR
    • SRCIPDESTIP_HASH
    • LTRM
    • CUSTOM LOAD
  • Spécification d’un serveur virtuel LLB pour lequel le type de persistance LB n’est pas défini sur l’une des options suivantes :
    • DESTIP
    • SOURCEIP
    • SRCDSTIP

Le tableau suivant répertorie les noms et les valeurs des entités configurées sur l’appliance Citrix ADC :

Type d’entité Name Adresse IP
Serveur virtuel d’équilibrage de charge de liaison LLB1 SO
Services (prochains sauts) Router1 1.1.1.254
  Router2 2.2.2.254
  Router3 3.3.3.254
PBR PBR1 SO
  PBR2 SO

Tableau 1. Exemples de valeurs pour la création d’entités

Pour implémenter la configuration décrite ci-dessus, vous devez :

  1. Créez des services Router1, Router2 et Router3 qui représentent les routeurs de saut suivants R1, R2 et R3.
  2. Créez le serveur virtuel LLB1 d’équilibrage de charge de liaison et liez les services Router1, Router2 et Router3 à celui-ci.
  3. Créer PBRS PBR1 et PBR2, avec les champs de saut suivant définis comme LLB1 et 2.2.2.254 (adresse IP du routeur R2), respectivement.

Pour créer un service à l’aide de l’interface de ligne de commande :

À l’invite de commandes, tapez :

  • add service <name> <IP> <serviceType> <port>
  • show service <name>

Exemple :

> add service Router1 1.1.1.254 ANY *
 Done
> add service Router2 2.2.2.254 ANY *
 Done
> add service Router3 3.3.3.254 ANY *
 Done

Pour créer un service à l’aide de l’interface graphique :

Accédez à Gestion du trafic > Équilibrage de charge > Services et créez un service.

Pour créer un serveur virtuel d’équilibrage de charge de liaison et lier un service à l’aide de l’interface de ligne de commande :

À l’invite de commandes, tapez :

  • add lb vserver <name> <serviceType>
  • bind lb vserver < name> <serviceName>
  • show lb vserver < name>

Exemple :

> add lb vserver LLB1 ANY
 Done
> bind lb vserver LLB1 Router1 Router2 Router3
 Done

Pour créer un serveur virtuel d’équilibrage de charge de liaison et lier un service à l’aide de l’interface graphique :

  1. Accédez à Gestion du trafic > Équilibrage de charge > Serveurs virtuels et créez un serveur virtuel pour l’équilibrage de charge de liaison. Spécifiez ANY dans le champ Protocole. Remarque : Assurez-vous que Directement adressable n’est pas cochée.
  2. Sous l’onglet Services, dans la colonne Actif, activez la case à cocher du service que vous souhaitez lier au serveur virtuel.

Pour créer un PBR à l’aide de l’interface de ligne de commande :

À l’invite de commandes, tapez :

  • add ns pbr <name> <action> [-srcIP [<operator>] <srcIPVal>] [-nextHop <nextHopVal>]
  • show ns pbr

Exemple :

> add pbr PBR1 ALLOW -srcIP 10.102.29.30 -nextHop LLB1
 Done
> add pbr PBR2 ALLOW -srcIP 10.102.29.90 -nextHop 2.2.2.254
 Done

Pour créer un PBR à l’aide de l’interface graphique :

Accédez à Système > Réseau > PBR, sous l’onglet PBR, ajoutez un nouveau PBR.

Routes basées sur des stratégies (PBR) pour le trafic IPv4