Exemple : Utilisation des mécanismes de contrôle bicolores et des listes de préfixes
Si vous fournissez des quantités spécifiques de bande passante à des clients internes ou externes, vous pouvez utiliser le contrôle pour vous assurer que les clients ne consomment pas plus de bande passante qu’ils ne devraient en recevoir. Par exemple, vous pouvez connecter de nombreux clients à une interface de 10 Gbits/s et vouloir vous assurer qu’aucun d’entre eux n’encombre l’interface en utilisant plus de bande passante que ce qui leur est alloué.
Pour ce faire, vous pouvez créer un mécanisme de contrôle bicolore semblable à ce qui suit pour chaque client :
firewall {
policer Limit-Customer-1 {
if-exceeding {
bandwidth-limit 100m;
burst-size-limit 150m;
}
then discard;
}
Cependant, la création d’un mécanisme de contrôle pour chaque client n’est clairement pas une solution évolutive. Vous pouvez également créer des listes de préfixes qui regroupent des classes de clients, puis créer des mécanismes de contrôle pour chaque liste de préfixes. Par exemple, vous pouvez créer des listes de préfixes telles que Class-A-Customer-Prefixes, Class-B-Customer-Prefixeset Class-C-Customer-Prefixes (au niveau de la [edit policy-options] hiérarchie) et créer les mécanismes de contrôle correspondants suivants :
firewall {
policer Class-A {
if-exceeding {
bandwidth-limit 100m;
burst-size-limit 150m;
}
then discard;
}
policer Class-B {
if-exceeding {
bandwidth-limit 75m;
burst-size-limit 100m;
}
then discard;
}
policer Class-C {
if-exceeding {
bandwidth-limit 50m;
burst-size-limit 75m;
}
then discard;
}
}
Vous devez créer des termes de filtre qui spécifient les listes de préfixes dans leurs from instructions et les mécanismes de contrôle correspondants dans leurs then instructions, de la même manière que ce qui suit :
firewall
family inet {
filter Class-A-Customers {
term term-1 {
from {
destination-prefix-list {
Class-A-Customer-Prefixes;
}
}
then policer Class-A;
}
}
filter Class-B-Customers {
term term-1 {
from {
destination-prefix-list {
Class-B-Customer-Prefixes;
}
}
then policer Class-B;
}
}
filter Class-C-Customers {
term term-1 {
from {
destination-prefix-list {
Class-C-Customer-Prefixes;
}
}
then policer Class-C;
}
}
}
Voici les étapes à suivre pour créer cette configuration de pare-feu :
Créez le premier mécanisme de contrôle :
[edit firewall] user@switch# set policer Class-A if-exceeding bandwidth-limit 100m burst-size-limit 150m user@switch# set policer Class-A then discard
Créez le deuxième mécanisme de contrôle :
[edit firewall] user@switch# set policer Class-B if-exceeding bandwidth-limit 75m burst-size-limit 100m user@switch# set policer Class-B then discard
Créez le troisième mécanisme de contrôle :
[edit firewall] user@switch# set policer Class-C if-exceeding bandwidth-limit 50m burst-size-limit 75m user@switch# set policer Class-C then discard
Créez un filtre pour les clients de classe A :
[edit firewall] user@switch# edit family inet filter Class-A-Customers
Configurez le filtre pour envoyer les paquets correspondant à la Class-A-Customer-Prefixes liste de préfixes au mécanisme de Class-A contrôle :
[edit firewall family inet filter Class-A-Customers] user@switch# set term term-1 from source-prefix-list Class-A-Customers user@switch# set term term-1 then policer Class-A
Créez un filtre pour les clients de classe B :
[edit firewall] user@switch# edit family inet filter Class-B-Customers
Configurez le filtre pour envoyer les paquets correspondant à la Class-B-Customer-Prefixes liste de préfixes au mécanisme de Class-B contrôle :
[edit firewall family inet filter Class-B-Customers] user@switch# set term term-1 from source-prefix-list Class-B-Customers user@switch# set term term-1 then policer Class-B
Créez un filtre pour les clients de classe C :
[edit firewall] user@switch# edit family inet filter Class-C-Customers
Configurez le filtre pour envoyer les paquets correspondant à la Class-C-Customer-Prefixes liste de préfixes au mécanisme de Class-C contrôle :
[edit firewall family inet filter Class-C-Customers] user@switch# set term term-1 from source-prefix-list Class-C-Customers user@switch# set term term-1 then policer Class-C
Appliquez les filtres que vous avez créés aux interfaces appropriées dans le sens de sortie.
Notez que l’instruction deny implicite de ce filtre bloquera le trafic provenant de toute source qui ne correspond pas à l’une des listes de préfixes. Si vous souhaitez que le filtre autorise ce trafic, vous devez inclure un terme explicite à cet effet.