Routes basées sur des règles (PBR) pour le trafic IPv4
La configuration des PBR implique les tâches suivantes :
- Créez un PBR.
- Appliquez des 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 NetScaler évalue les PBR. Lorsque vous créez un PBR sans spécifier de priorité, NetScaler attribue automatiquement une priorité multiple de 10.
Si un paquet correspond à la condition définie par le PBR, NetScaler exécute une action. Si le paquet ne correspond pas à la condition définie par le PBR, NetScaler compare le paquet avec le PBR ayant la priorité la plus élevée.
Au lieu d’envoyer les paquets sélectionnés à un routeur à saut suivant, vous pouvez configurer le PBR pour qu’il les envoie à un serveur virtuel d’équilibrage de charge de liaison auquel vous avez lié plusieurs sauts suivants. Cette configuration peut fournir une sauvegarde en cas d’échec d’un lien de saut suivant.
Prenons l’exemple suivant. Deux PBR, p1 et p2, sont configurés sur NetScaler et les priorités 20 et 30 leur sont automatiquement attribuées. 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é comprise entre 20 et 30. Dans ce cas, vous pouvez définir la priorité sur 25.
Procédures CLI
Pour créer un PBR à l’aide de l’interface de ligne de commande :
À l’invite de commande, tapez :
- <interface_name><positive_integer><string>add ns pbr <name><action>[-SrcIP [\]] [<operator><srcIPVal>-SrcPort [\]] [<operator><srcPortVal><operator><destIPVal>-DestIP [\]] [-DestPort [\]] [<operator><interface_name>0 -NextHop \] [<interface_name>1 -SrcMac \] [-protocole \ <interface_name>2 <interface_name>3 |-Numéro de protocole \] [<positive_integer>-vlan \] [<positive_integer>-interface \] [-priorité \] [-msr (ACTIVÉ | DÉSACTIVÉ) [-moniteur \]] [-state (ACTIVÉ | DÉSACTIVÉ)]
- 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
<!--NeedCopy-->
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 :
- <interface_name><positive_integer><string>set ns pbr <name>[-action (AUTORISER | REFUSER)] [-SrcIP [\]] [-SrcPort [\<operator>]<srcIPVal>] [<operator><srcPortVal><operator><destIPVal>-DestIP [\]] [-DestPort [\]] [<operator><destPortVal>-NextHop \] [<interface_name>0 -SrcMac \] [-protocole \ | <interface_name>1 <interface_name>2 -Numéro de protocole \] [<positive_integer>-vlan \] [<positive_integer>-interface \] [-priorité \] [-msr (ACTIVÉ | DÉSACTIVÉ) [-monitor \]] [-state (ACTIVÉ | DÉSACTIVÉ)]
- <name>Afficher le fichier pbr [\]
Exemple :
> set ns pbr pbr1 -priority 23
Done
<!--NeedCopy-->
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
<!--NeedCopy-->
Procédures GUI
Pour créer un PBR à l’aide de l’interface graphique :
Accédez à Système > Réseau > PBR, dans 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, dans l’onglet PBR, supprimez le PBR.
Appliquer 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 un arbre 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 que vous l’appliquez, tous les PBR (p1 - p11) sont récemment appliqués et une nouvelle table de recherche est créée. Si un PBR DENY est associé à une session, la session est détruite.
Vous devez appliquer cette procédure après chaque modification apportée à un PBR. Par exemple, vous devez suivre cette procédure après avoir désactivé un PBR.
Remarque : Les PBR créés sur l’appliance NetScaler 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 commande, tapez :
appliquer ns PBR
Pour appliquer un PBR à l’aide de l’interface graphique :
- Accédez à Système > Réseau > PBR.
- Dans l’onglet PBR, sélectionnez le PBR, dans la liste Actions, 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 NetScaler compare automatiquement les paquets entrants aux PBR configurés. Si aucun PBR n’est requis dans la table de recherche, mais qu’il doit être conservé dans la configuration, il doit être désactivé avant que les PBR ne soient appliqués. Une fois les PBR appliqués, NetScaler ne compare pas les paquets entrants aux 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 :
- activer 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
<!--NeedCopy-->
Pour activer ou désactiver un PBR à l’aide de l’interface graphique :
- Accédez à Système > Réseau > PBR.
- Dans l’onglet PBR, sélectionnez le PBR, dans la liste des actions, sélectionnez Activer ou Désactiver.
Renumérotation des PBR
Vous pouvez renuméroter automatiquement les PBR pour définir leurs priorités sur des multiples de 10.
Pour renuméroter les PBR à l’aide de l’interface de ligne de commande :
À l’invite de commande, tapez :
- renuméroter 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 des actions, sélectionnez Renuméroter les priorités.
Cas d’utilisation : PBR avec sauts multiples
Imaginons un scénario dans lequel deux PBR, PBR1 et PBR2, sont configurés sur l’appliance NetScaler 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 R2 du saut suivant. R3 est un autre routeur à saut suivant connecté à NS1.
Si le routeur R1 tombe en panne, tous les paquets sortants correspondant à PBR1 sont supprimés. Pour éviter cette situation, vous pouvez spécifier un serveur virtuel d’équilibrage de charge de liaison (LLB) dans le champ du saut suivant lors de la création ou de la modification d’un PBR. Les multiples sauts suivants sont liés au serveur virtuel LLB en tant que services (par exemple R1, R2 et R3). Désormais, si R1 échoue, tous les paquets qui correspondent à PBR1 sont routés vers R2 ou R3 selon la méthode LB configurée sur le serveur virtuel LLB.
L’appliance NetScaler 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 :
- Ajouter un autre PBR avec le même serveur virtuel LLB.
- Spécification d’un serveur virtuel LLB inexistant.
- Spécifier un serveur virtuel LLB pour lequel les services liés ne sont pas les 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 :
- ROUNDROBIN
- DESTINATIONIPHASH
- SOURCEIPHASH
- SRCIPDESTIPHASH
- LEASTPACKETS
- LEASTBANDWIDTH
- LTRM
- CALLIDHASH
- CUSTOM LOAD
- Spécification d’un serveur virtuel LLB pour lequel le type de persistance LB n’est pas défini sur l’un des suivants :
- DESTIP
- SOURCEIP
- SRCDSTIP
Le tableau suivant répertorie les noms et les valeurs des entités configurées sur l’appliance NetScaler :
Type d’entité | Nom | Adresse IP |
---|---|---|
Serveur virtuel d’équilibrage de charge des liens | LLB1 | SO |
Services (prochains arrêts) | 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 :
- Créez les services Router1, Router2 et Router3 qui représentent les routeurs à saut suivant R1, R2 et R3.
- Créez le serveur virtuel d’équilibrage de charge des liens LLB1 et liez-y les services Router1, Router2 et Router3.
- Créez les PBR PBR1 et PBR2, avec les champs du saut suivant définis respectivement comme LLB1 et 2.2.2.254 (adresse IP du routeur R2).
Pour créer un service à l’aide de l’interface de ligne de commande :
À l’invite de commande, tapez :
- ajouter un 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
<!--NeedCopy-->
Pour créer un service à l’aide de l’interface graphique :
Accédez à Gestion du trafic > Équilibrage de charge > Services, puis créez un service.
Pour créer un serveur virtuel d’équilibrage de charge des liens et lier un service à l’aide de l’interface de ligne de commande :
À l’invite de commande, tapez :
- ajouter lb vserver <name><serviceType>
- serveur vserver bind lb < name> <serviceName>
- afficher lb vserver < name>
Exemple :
> add lb vserver LLB1 ANY
Done
> bind lb vserver LLB1 Router1 Router2 Router3
Done
<!--NeedCopy-->
Pour créer un serveur virtuel d’équilibrage de charge des liens et lier un service à l’aide de l’interface graphique :
- Accédez à Gestion du trafic > Équilibrage de charge > Serveurs virtuels, puis créez un serveur virtuel pour l’équilibrage de charge des liens. Spécifiez ANY dans le champ Protocole . Remarque : Assurez-vous que la case Directly Addressable n’est pas cochée.
- Sous l’onglet Services, dans la colonne Actif, cochez la case correspondant au 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 commande, tapez :
- <nextHopVal>ajouter ns pbr <name><action>[-SrCip [\]] [-NextHop \ <operator><srcIPVal>]
- 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
<!--NeedCopy-->
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.