Planification du nombre de filtres de pare-feu à créer
Comment augmenter le nombre de filtres de pare-feu
Vous pouvez augmenter le nombre de filtres de pare-feu sur votre équipement de plusieurs façons :
-
(QFX5220) Pour créer plus de 512 filtres VLAN sortants, spécifiez le premier ID VLAN comme 6, le deuxième ID VLAN comme 7, le troisième ID VLAN comme 8 et ainsi de suite. Pour chaque VLAN que vous configurez, le nombre augmente de 1 et se poursuit via VLAN ID 1029. Si vous souhaitez créer moins de 512 filtres VLAN sortants, mais que le nombre total de termes dans ces filtres est supérieur à 512, assurez-vous que vous numérotez vos ID VLAN de la même manière. Dans le cas contraire, le nombre total de termes ou de filtres autorisés sera inférieur à 1024 et restera à 512.
-
À partir de la version 19.1R1 de Junos OS, vous pouvez augmenter le nombre de filtres de pare-feu VLAN sortants sur le QFX5110 de 1024 à 2048 à l’aide de l’option
egress-to-ingress
. Vous incluez cette option dans l’instructionfrom
au niveau de la[edit firewall]
hiérarchie.À partir de junos OS Evolved version 19.4R2, vous pouvez configurer jusqu’à 2 000 filtres de pare-feu sortants sur le QFX5220 en incluant l’option
egress-scale
sous l’instructioneracl-profile
au niveau de la[edit system packet-forwarding-option firewall]
hiérarchie. Cette fonctionnalité n’est prise en charge que dans le sens sortant (trafic routé sortant de l’équipement).Lors de la configuration de cette fonctionnalité, tenez compte des éléments suivants :
-
Vous ne pouvez pas appliquer de filtres avec les mêmes conditions de correspondance aux différents VLAN sortants ou interfaces de couche 3.
-
Vous ne pouvez pas appliquer de mise à l’échelle sortante sur les interfaces GRE.
-
Si un paquet fait correspondre plusieurs filtres à différents qualificatifs et que vous l’appliquez sur différentes interfaces de sortie, cela peut entraîner un comportement imprévisible.
-
Vous ne pouvez configurer l’option qu’en
egress-scale
mode global. La nouvelle configuration cli sera fournie en mode global. Une fois qu’un utilisateur configure le groupe ERACL en mode d’échelle sortante (sortante à entrante), il ne pourra pas configurer ERACL de la manière antérieure, c’est-à-dire sans utiliser l’espace tcam IFP. En d’autres termes, l’ERACL en mode mixte ne sera pas prise en charge.
-
TCAM
La mémoire adressable de contenu ternaire (TCAM) pour les filtres de pare-feu est divisée en tranches qui intègrent 256 termes. Lorsque vous configurez un filtre de pare-feu, tous les termes d’une tranche de mémoire doivent être dans des filtres du même type et appliqués dans la même direction. Une tranche de mémoire est réservée dès que vous validez un filtre. Par exemple, si vous créez un filtre de port et que vous l’appliquez dans le sens d’entrée, une tranche de mémoire est réservée qui stocke uniquement les filtres de port entrants. Si vous créez et appliquez un seul filtre de port entrant et que ce filtre n’a qu’un seul terme, le reste de cette tranche n’est pas utilisé et n’est pas disponible pour les autres types de filtres.
Dans un environnement EVPN, les commutateurs QFX5200 Series prennent en charge jusqu’à 512 entrées TCAM.
Par exemple, imaginons que vous créez et appliquez 256 filtres de ports entrants avec un terme chacun pour remplir une tranche de mémoire. Cela laisse deux tranches de mémoire de plus disponibles pour les filtres d’entrée. (Dans ce cas, le nombre maximal de termes entrants est de 768.) Si vous créez et appliquez ensuite un filtre entrant de couche 3 avec un terme, un autre tranche de mémoire est réservé aux filtres entrants de couche 3. Comme précédemment, le reste de la tranche n’est pas utilisé et n’est pas disponible pour différents types de filtres. Une tranche de mémoire est désormais disponible pour n’importe quel type de filtre entrant.
Supposons maintenant que vous créez et appliquez un filtre d’entrée VLAN. La dernière tranche de mémoire est réservée aux filtres d’entrée VLAN. L’allocation de mémoire pour les filtres entrants (une fois de plus en supposant un terme par filtre) est :
-
Tranche 1 : Rempli de 256 filtres de port entrants. Vous ne pouvez plus valider les filtres de port entrants.
-
Tranche 2 : Contient un filtre entrant de couche 3 avec un terme. Vous pouvez valider 255 termes de plus dans les filtres entrants de couche 3.
-
Tranche 3 : Contient un filtre VLAN entrant avec un terme. Vous pouvez valider 255 termes de plus dans les filtres VLAN entrants.
Voici un autre exemple. Supposons que vous créez 257 filtres de ports entrants avec un terme par filtre, c’est-à-dire que vous créez un terme de plus qu’une seule tranche de mémoire peut accueillir. Lorsque vous appliquez les filtres et validez la configuration, l’allocation de mémoire du filtre est :
-
Tranche 1 : Rempli de 256 filtres de port entrants. Vous ne pouvez plus appliquer de filtres de port entrants.
-
Tranche 2 : Contient un filtre de port entrant. Vous pouvez appliquer 255 termes de plus dans les filtres de port entrants.
-
Tranche 3 : Cette tranche n’est pas attribuée. Vous pouvez créer et appliquer 256 termes dans des filtres entrants de n’importe quel type (port, couche 3 ou VLAN), mais tous les filtres doivent être du même type.
Tous les exemples ci-dessus s’appliquent également aux filtres de sortie. La différence est que quatre tranches de mémoire sont utilisées parce que les filtres IPv4 et IPv6 de couche 3 sont stockés dans des tranches distinctes. Les tranches de mémoire pour les filtres sortants sont de la même taille que celles des filtres entrants, de sorte que le nombre maximal de filtres sera le même (1024).
Évitez de configurer trop de filtres
Si vous enfreignez l’une de ces restrictions et que vous validez une configuration qui n’est pas conforme, Junos OS rejette les filtres excessifs. Par exemple, si vous configurez 300 filtres de port entrants et 300 filtres entrants de couche 3 et que vous essayez de valider la configuration, Junos OS effectue les opérations suivantes (en supposant une fois de plus un terme par filtre) :
-
Accepte les filtres de ports entrants 300 (en les stockant dans deux tranches de mémoire).
-
Accepte les 256 premiers filtres entrants de couche 3 qu’il traite (en les stockant dans la troisième tranche de mémoire).
-
Rejette les 44 filtres de couche 3 entrants restants.
Assurez-vous de supprimer les filtres excessifs (par exemple, les 44 filtres de couche 3 restants) de la configuration avant de redémarrer l’équipement. Si vous redémarrez un équipement dont la configuration n’est pas conforme, il est difficile de prédire quels filtres ont été installés après le redémarrage. Dans l’exemple ci-dessus, les 44 filtres entrants de couche 3 initialement rejetés peuvent être installés et 44 filtres de port initialement acceptés peuvent être rejetés.
Configuration des messages d’erreur TCAM
Si vous manquez d’espace TCAM et que vous ne parvenez pas à installer un filtre de pare-feu, vous pouvez configurer votre commutateur pour envoyer des messages d’erreur des façons suivantes :
-
Saisissez
set system syslog file filename pfe emergency
pour envoyer des messages d’erreur à un fichier syslog. -
Saisissez
set system syslog console pfe emergency
pour envoyer des messages d’erreur à la console. -
Saisissez
set system syslog user user-login pfe emergency
pour envoyer des messages d’erreur à une session de terminal SSH.
Comment augmenter l’échelle des filtres de pare-feu à l’aide de profils
Lorsque vous configurez un filtre de pare-feu, l’énoncé de terme dans la configuration du filtre de pare-feu fournit un ensemble complet de conditions de correspondance. Les conditions de correspondance sont les champs et les valeurs qu’un paquet doit contenir pour être considéré comme une correspondance. Vous pouvez définir une ou plusieurs conditions de correspondance en fonction de vos besoins. Lorsqu’un paquet correspond à un filtre, l’équipement prend l’action spécifiée dans le terme. L’évolutivité des filtres de pare-feu dépend généralement du nombre de conditions de correspondance utilisées.
Dans les scénarios de déploiement typiques, il vous suffit d’utiliser un sous-ensemble de conditions de correspondance. Avec l’introduction des profils, vous pouvez utiliser l’un des profils de filtre de pare-feu disponibles avec des conditions de correspondance prédéfinies pour augmenter le nombre de filtres de pare-feu utilisés pour atteindre une évolutivité maximale.
Vous pouvez configurer des profils de filtres de pare-feu pour les commutateurs inet et Ethernet de la famille. Utilisez l’énoncé de configuration des profils au niveau de la hiérarchie [edit system packet-forwarding-options firewall] pour configurer les profils de filtre de pare-feu.
Lorsque vous modifiez les profils de filtre de pare-feu, soit en sélectionnant un profil, soit en passant d’un profil à un autre, le moteur de transfert de paquets est redémarré, ce qui perturbe le flux de trafic.
Le tableau suivant décrit les profils de filtres de pare-feu et les conditions de correspondance prédéfinies pour les commutateurs inet et Ethernet.
Type de famille | Profils de filtre de pare-feu | Condition de correspondance (prédéfinie) | Hiérarchie de configuration |
---|---|---|---|
inet (IPv4/IPv6) | profile1 |
liste des préfixes ip-source Protocole en-tête suivant port source port de destination premier fragment is-fragment code icmp type icmp tcp-établi tcp-initial tcp-flags |
[edit system packet-forwarding-options firewall profiles inet profile1 ] |
profil2 |
adresse ip-source ip6-source-address liste des préfixes ip-source ip6-source-prefix-list Protocole en-tête suivant port source port de destination premier fragment is-fragment code icmp type icmp tcp-établi tcp-initial tcp-flags Dscp Priorité classe trafic Ttl limite de sauts |
[edit system packet-forwarding-options firewall profiles inet profile2 ] |
|
Commutation Ethernet | profile1 |
adresse source-mac adresse mac de destination |
[edit system packet-forwarding-options firewall profiles ethernet-switching profile1 ] |
profil2 |
adresse source-mac adresse mac de destination de type éther adresse ip-source liste des préfixes ip-source protocole IP port source port de destination en-tête suivant |
[edit system packet-forwarding-options firewall profiles ethernet-switching profile2 ] |
|
Lorsque vous sélectionnez un profil de filtre de pare-feu, vous devez appliquer une condition de correspondance qui fait partie du sous-ensemble de conditions de correspondance prédéfinie. Si vous appliquez une condition de correspondance qui ne fait pas partie du sous-ensemble de condition de correspondance prédéfinie du profil de filtre de pare-feu, alors une erreur de validation se produit. Par exemple, si vous sélectionnez profile1
le filtre inet et appliquez la condition de correspondance en tant que ip-destination-address
, qui ne fait pas partie de la condition de correspondance prédéfinie, vous verrez une erreur pendant l’opération de validation indiquant que la ip-destination-address
correspondance ne fait pas partie du profile1
filtre inet.
Vous pouvez utiliser la show pfe filter hw profile-info
commande CLI pour afficher les détails des profils de filtre de pare-feu.
Le module de pare-feu prend en charge deux profils différents (un profil et profil-deux) uniquement sur les plates-formes ACX EVO. Par défaut, pfe sera mis en place avec un profil-deux et les utilisateurs disposeront d’une option CLI pour leur permettre de passer à l’autre profil. Une fois le profil renversé via cli, pfe est redémarré.
Filtre IFF IPV6 : Profile-one prend en charge sip6 jusqu’à 128 bits . Profile-2 prend en charge sip6 jusqu’à 64bits.
Filtre lo0 Ipv6 : Profile-one prend en charge dip6 jusqu’à 128bits. Profile-2 prend en charge dip6 jusqu’à 64bits.
Les filtres Ipv6-Bgp-flow-spec et IPv6-FTF ne seront pris en charge que dans le profil-2.
Catégorie | Fonctionnalités PMF | Profil 2 | Profil 1 |
---|---|---|---|
Famille Tout |
Filtre IFL IPv6 |
Oui |
Oui |
Filtre IFL IPv6 - Action log/Syslog/Reject |
Non |
Non |
|
Filtre de la famille |
Filtre IFF IPv6 |
Oui |
Oui |
Filtre IFF IPv6 - Correspondance SIP6 =128bits |
Non |
Oui |
|
Filtre IFF IPv6 - Correspondances L4 |
Oui |
Oui |
|
Filtre IFF IPv6 - Action log/Syslog/Reject |
Oui |
Oui |
|
Filtre Lo0 |
Filtre Lo0 IPv6 - Prise en charge de l’hw |
Oui |
Oui |
Filtre Lo0 IPv6 - Pièce jointe VRF |
Oui |
Non |
|
Filtre Lo0 IPv6 - Assistance sw |
Oui |
Oui |
|
Correspondance dip6 128bit |
Non |
Oui |
Pour atteindre une évolutivité maximale des filtres de pare-feu, il est recommandé d’appliquer des filtres au niveau de l’interface (couche 2 ou 3) et de distribuer les filtres de manière égale entre les interfaces des différents pipelines de traitement des paquets. Chaque ensemble d’interfaces est mappé à un pipeline de traitement des paquets qui gère les paquets reçus sur ces interfaces. Dans ce cas, les filtres de pare-feu sont installés sur l’espace mémoire TCAM du pipeline de traitement des paquets mappé à l’interface respective.
Lorsqu’un paquet pénètre dans une interface, le filtre de pare-feu effectue des actions de filtrage sur le paquet dans le pipeline de traitement des paquets en fonction des conditions de correspondance avant de sortir d’une interface de sortie. Dans le cas de plusieurs pipelines de traitement de paquets, lorsque des paquets pénètrent dans un équipement via plusieurs interfaces, le filtre de pare-feu effectue des actions de filtrage sur les paquets passant par les pipelines de traitement de paquets respectifs. Le fait que les filtres au niveau de l’interface sont répartis de manière égale entre les interfaces des différents pipelines de traitement de paquets permet une meilleure évolutivité
Vous pouvez utiliser la show pfe filter hw port-pipe-info
commande CLI pour afficher les détails du pipeline de traitement des paquets sur lequel chaque interface physique est mappée. La sortie de cette commande CLI fournit également des informations sur les filtres de pare-feu installés sur un pipeline de traitement des paquets. Vous pouvez utiliser ces informations pour planifier et distribuer les filtres de pare-feu sur les pipelines afin d’obtenir une évolutivité maximale.
L’exemple de sortie suivant de la show pfe filter hw port-pipe-info
commande CLI montre les détails du pipeline de traitement de paquets sur lequel chaque interface physique est mappée :
user@host> show pfe filter hw port-pipe-info IFD Pipe et-0/0/0 1 et-0/0/1 1 ... et-0/0/10 0
Comment les agents de contrôle peuvent-ils limiter les filtres sortants
Sur certains commutateurs, le nombre de polices de sortie que vous configurez peut affecter le nombre total de filtres de pare-feu de sortie autorisés. Chaque police dispose de deux compteurs implicites qui prennent deux entrées dans un TCAM de 1024 entrées. Ces derniers sont utilisés pour les compteurs, y compris les compteurs configurés comme modificateurs d’action en termes de filtre de pare-feu. (Les policers consomment deux entrées, car une est utilisée pour les paquets verts et une pour les paquets non verts, quel que soit le type de police.) Si le TCAM devient plein, vous ne pouvez plus valider les filtres de pare-feu sortants qui ont des termes avec des compteurs. Par exemple, si vous configurez et validez les polices de sortie 512 (deux couleurs, trois couleurs ou une combinaison des deux types de policer), toutes les entrées de mémoire pour les compteurs s’utilisent. Si plus tard dans votre fichier de configuration vous insérez des filtres de pare-feu sortant supplémentaires avec des termes qui incluent également des compteurs, aucun des termes de ces filtres n’est engagé car il n’y a pas d’espace mémoire disponible pour les compteurs.
Voici d’autres exemples :
-
Supposons que vous configurez des filtres de sortie qui comprennent un total de 512 policers et aucun compteur. Plus tard dans votre fichier de configuration, vous incluez un autre filtre de sortie avec 10 termes, dont 1 a un modificateur de contre-action. Aucun des termes de ce filtre n’est engagé parce qu’il n’y a pas assez d’espace TCAM pour le compteur.
-
Supposons que vous configurez des filtres sortants qui comprennent un total de 500 polices, de sorte que 1 000 entrées TCAM sont occupées. Plus tard dans votre fichier de configuration, vous incluez les deux filtres de sortie suivants :
-
Filtrez A avec 20 termes et 20 compteurs. Tous les termes de ce filtre sont engagés car il y a suffisamment d’espace TCAM pour tous les compteurs.
-
Le filtre B vient après le filtre A et comporte cinq termes et cinq compteurs. Aucun des termes de ce filtre n’est engagé parce qu’il n’y a pas assez d’espace mémoire pour tous les compteurs. (Cinq entrées TCAM sont requises, mais seulement quatre sont disponibles.)
-
Vous pouvez arrêter ce problème en vous assurant que les termes de filtre de pare-feu sortant avec contre-actions sont placés plus tôt dans votre fichier de configuration que les termes qui incluent des polices. Dans ce cas, Junos OS valide des polices même s’il n’y a pas assez d’espace TCAM pour les compteurs implicites. Prenons l’exemple suivant :
-
Vous avez 1024 termes de filtrage de pare-feu sortant avec contre-actions.
-
Plus tard dans votre fichier de configuration, vous avez un filtre de sortie avec 10 termes. Aucun des termes n’a de compteurs, mais on a un modificateur d’action de police.
Vous pouvez valider le filtre avec 10 termes même s’il n’y a pas assez d’espace TCAM pour les compteurs implicites du policer. Le policier est commis sans les compteurs.
Planification des polices spécifiques aux filtres
Vous pouvez configurer les polices pour qu’elles soient spécifiques aux filtres. Cela signifie que Junos OS ne crée qu’une seule instance de police, peu importe le nombre de fois que le policer est référencé. Lorsque vous le faites, la limitation de débit est appliquée dans l’agrégation, de sorte que si vous configurez un policer pour rejeter le trafic qui dépasse 1 Gbit/s et référencez ce policer dans trois termes différents, la bande passante totale autorisée par le filtre est de 1 Gbit/s. Toutefois, le comportement d’un policer spécifique à un filtre est affecté par la façon dont les termes du filtre de pare-feu qui font référence au policer sont stockés dans la mémoire adressable de contenu ternaire (TCAM). Si vous créez un policer spécifique à un filtre et que vous le référencez dans plusieurs termes de filtre de pare-feu, le policer autorise plus de trafic que prévu si les termes sont stockés dans différentes tranches TCAM. Par exemple, si vous configurez un policer pour éliminer le trafic qui dépasse 1 Gbit/s et référencez ce dernier en trois termes différents stockés dans trois tranches de mémoire distinctes, la bande passante totale autorisée par le filtre est de 3 Gbit/s, et non 1 Gbit/s.
Pour éviter que ce comportement inattendu ne se produise, utilisez les informations sur les tranches TCAM ci-dessus pour organiser votre fichier de configuration afin que tous les termes du filtre de pare-feu qui font référence à un policer spécifique à un filtre donné soient stockés dans la même tranche TCAM.
Planification du transfert basé sur des filtres
Vous pouvez utiliser des filtres de pare-feu ainsi que des instances de routage virtuel pour spécifier différents itinéraires pour les paquets à parcourir dans leurs réseaux. Pour configurer cette fonctionnalité appelée transfert basé sur des filtres, vous spécifiez un filtre et des critères de correspondance, puis spécifiez l’instance de routage virtuelle à qui envoyer les paquets. Les filtres utilisés de cette façon consomment également de la mémoire dans une TCAM supplémentaire. Pour plus d’informations , consultez Comprendre l’évolutivité de la surveillance FIP, de la FBF et du filtre MVR . La section Consommation de TCAM VFP du filtre FBF de cette rubrique traite spécifiquement du nombre de filtres pris en charge lors de l’utilisation du transfert basé sur des filtres.
Le transfert basé sur des filtres ne fonctionne pas avec les interfaces IPv6 sur certains commutateurs Juniper.
egress-scale
sous l’instruction eracl-profile
au niveau de la [edit system packet-forwarding-option firewall]
hiérarchie.egress-to-ingress
.