Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Conditions de correspondance flexibles du filtre de pare-feu

Les conditions de correspondance du filtre de pare-feu standard varient en fonction de la famille de protocoles du trafic mis en correspondance. Par exemple, les termes disponibles pour le trafic du protocole de pont sont différents de ceux disponibles pour les familles de protocoles inet ou inet6. Les champs disponibles pour la mise en correspondance au sein de chaque famille de protocoles sont toutefois fixes ou prédéfinis. Cela signifie que les filtres ne peuvent correspondre qu’à des modèles dans ces champs prédéfinis.

En utilisant des conditions de correspondance flexibles, des filtres de pare-feu peuvent être construits pour démarrer la correspondance à des emplacements de couche 2, de couche 3, de couche 4 ou de charge utile. À partir de là, des critères de décalage supplémentaires peuvent être spécifiés, ce qui permet des correspondances de motifs à des emplacements personnalisés et définis par l’utilisateur dans un paquet.

Des termes de filtrage de correspondance flexibles sont appliqués aux interfaces MPC ou MIC en tant que filtres d’entrée ou de sortie, comme n’importe quel autre terme de filtre de pare-feu. Des termes de filtrage de correspondance flexibles peuvent également être créés en tant que modèles au niveau de la [edit firewall] hiérarchie. Ces modèles peuvent ensuite être référencés dans un terme de correspondance flexible.

Pour les routeurs MX Series, seules les conditions de correspondance flexibles sont prises en charge avec les MPC ou les MIC. Pour les environnements dans lesquels des FPC, des PIC et/ou des DPC sont installés en même temps que des MPC ou des MIC, veillez à appliquer les critères de filtre de pare-feu à correspondance flexible uniquement aux interfaces MPC ou MIC.

REMARQUE :

Pour les routeurs MX Series avec MPC, vous devez initialiser le compteur de filtres pour les filtres de correspondance Trio uniquement dans la MIB en parcourant la MIB SNMP correspondante. Par exemple, pour tout filtre configuré ou modifié par rapport à ses filtres Trio uniquement, vous devez exécuter une commande telle que la suivante : show snmp mib walk (ascii | decimal) object-id. Cela oblige Junos à apprendre les compteurs de filtre et à s’assurer que les statistiques de filtre sont affichées (en effet, le premier sondage pour filtrer les statistiques peut ne pas afficher tous les compteurs). Les filtres de correspondance Trio uniquement sont ceux qui incluent au moins une condition ou une action de correspondance qui n’est prise en charge que par le chipset Trio.

Ces instructions s’appliquent à tous les enhanced-mode filtres de pare-feu. Elle s’applique également aux conditions de correspondance avec des termes de filtrage de correspondance flexibles pour offset-range ou offset-mask, et aux conditions de correspondance de filtre de pare-feu pour le trafic IPv6 avec l’une Conditions de correspondance du filtre de pare-feu pour le trafic IPv4 des conditions de correspondance suivantes : gre-key payload-protocol, extension headers, is_fragment. Elle s’applique également aux filtres présentant l’un ou l’autre des éléments suivants Actions de terminaison du filtre de pare-feu: encapsulate ou , ou decapsulatel’un des éléments suivants Actions non résiliantes du filtre de pare-feu: policy-mapclear-policy-mapet .

Hiérarchie des instructions

Des termes de filtrage de correspondance flexibles sont disponibles en trois variantes, comme illustré à la .Tableau 1 La flexible-match variation est configurée au niveau de la [edit firewall] hiérarchie. Il est utilisé pour définir des modèles de correspondance flexibles. Les flexible-filter-match-mask et flexible-match-range sont configurés au niveau de la [edit firewall family [inet|inet6|bridge|ethernet-switching|ccc|vpls] filter <filter-name> term <term-name> from] hiérarchie. Utilisez le family ethernet-switching filtre pour les commutateurs EX9200.

Types de correspondance de filtre flexibles

Tableau 1 : Types de correspondance de filtre flexibles

Type de correspondance de filtre flexible

Attributs disponibles

Description

flexible-match

<name>

Créez un modèle de correspondance flexible nommé en tant qu’attribut <name> .

 

bit-length

Longueur des données à apparier en bits, non nécessaire pour l’entrée de chaîne (0..32)

Pour les commutateurs QFX5120 et EX4650, les longueurs de bits 16 et 32 sont les seules valides.

bit-offset

Décalage binaire après le décalage (match-start + octet) (0..7)

byte-offset

Décalage d’octets après le point de départ de la correspondance

match-start

Point de départ à faire correspondre dans le paquet

flexible-match-mask

bit-length

Longueur des données à mettre en correspondance en bits, non nécessaire pour l’entrée de chaîne (0..128)

bit-offset

Décalage binaire après le décalage (match-start + octet) (0..7)

byte-offset

Décalage d’octets après le point de départ de la correspondance

flexible-mask-name

Sélectionnez une correspondance flexible à partir d’un champ de modèle prédéfini. Obligatoire sauf si match-start configuré.

mask-in-hex

Masquez les bits dans les données de paquet à mettre en correspondance.

match-start

Point de départ à faire correspondre dans le paquet. Obligatoire sauf si flexible-mask-name configuré.

prefix

Données/chaîne de valeur à mettre en correspondance.

flexible-match-range

bit-length

Longueur des données à apparier en bits. (0..32) Obligatoire sauf si flexible-range-name configuré.

bit-offset

Décalage binaire après le décalage (match-start + octet). (0..7)

byte-offset

Décalage d’octets après le point de départ de la correspondance

flexible-range-name

Sélectionnez une correspondance flexible à partir d’un modèle prédéfini.

match-start

Point de départ à faire correspondre dans le paquet. Obligatoire sauf si flexible-range-name configuré.

range

Plage de valeurs à faire correspondre.

range-except

Plage de valeurs à ne pas correspondre.

Emplacements de départ flexibles pour les filtres

Les termes flexibles du filtre de correspondance sont construits en donnant un emplacement de départ ou un point d’ancrage dans le paquet. Les lieux de départ peuvent être l’un des suivants : couche 2, couche 3, couche 4 ou charge utile, selon la famille de protocoles utilisée. Tableau 2 Affiche les emplacements de départ flexibles disponibles pour les correspondances de filtres par famille de protocoles. Vous utilisez ces emplacements de départ disponibles comme emplacements pour les match-start termes de filtrage de correspondance flexibles.

À partir de ces emplacements de départ, des décalages d’octets et de bits spécifiques peuvent être utilisés pour permettre au filtre de faire correspondre des modèles à des emplacements très spécifiques dans le paquet.

Tableau 2 : Emplacements de départ flexibles pour les filtres

Famille de protocoles

Lieux de départ disponibles

inet

layer-3, layer-4 and payload

Pour les commutateurs QFX5120 et EX4650, la prise en charge des filtres de correspondance flexibles de couche 2 et de couche 3 (uniquement) a été ajoutée dans la version 20.1R1 de Junos.

inet6

layer-3, layer-4 and payload

Pour les commutateurs QFX5120 et EX4650, la prise en charge des filtres de correspondance flexibles de couche 2 et de couche 3 (uniquement) a été ajoutée dans la version 20.1R1 de Junos.

bridge

layer-2, layer-3, layer-4 and payload

ccc

layer-2, layer-3, layer-4 and payload

mpls

layer-3 and payload

vpls

layer-2, layer-3, layer-4 and payload

ethernet-switching

(Commutateurs EX9200) layer-2, layer-3, layer-4 and payload

Pour les commutateurs QFX5120 et EX4650, la prise en charge des filtres de correspondance flexibles de couche 2 et de couche 3 (uniquement) a été ajoutée dans la version 20.1R1 de Junos. Vous trouverez ci-dessous un exemple d’utilisation d’un décalage de paquet de couche 2 et d’une longueur de correspondance.

Exemples de correspondance de filtres flexibles

L’exemple suivant illustre l’utilisation et le contexte de flexible-match-mask.

Le <mask-name> spécifie le modèle prédéfini utilisé flexible-mask-name pour la condition de correspondance flexible. Des modèles peuvent être définis pour spécifier à quel endroit (position) dans le paquet la condition de correspondance flexible doit être exécutée.

Le <mask> for mask-in-hex est au format hexadécimal. Par exemple, un masque configuré de 0xf0fc spécifie une correspondance pour les quatre premiers bits du premier octet (comme indiqué par <mask-name>), et pour les six premiers bits du deuxième octet. S’il s’agit d’un paquet IPv4 et qu’il fait référence aux deux premiers octets de l’en-tête L3, la recherche porte sur les champs de version IP et <mask-name> DSCP. Autre exemple, un masque 0xffc0 configuré spécifie une recherche pour le premier octet entier et pour deux bits à partir du deuxième octet. Si le fait référence aux deux premiers octets de l’en-tête L3 et que le paquet est un paquet IPv6, cela spécifie le champ de version IP et DSCP dans le <mask-name> champ Classe de trafic.

Le <pattern> for prefix spécifié est une chaîne ASCII. Si les deux premiers caractères sont 0x, la chaîne est traitée comme un nombre hexadécimal codant les bits appropriés. Par exemple, le préfixe 0x40c0 configuré en combinaison avec mask 0xf0fc et faisant référence aux deux premiers octets dans l’en-tête L3, indique une recherche 0100 dans les quatre premiers bits (le champ version est égal à 4) et <mask-name>1100 00 dans le champ DSCP IPv4 (DSCP est égal à cs6). Ou, en utilisant le préfixe 0x6c00 configuré en combinaison avec mask 0xffc0 et en se référant aux deux premiers octets de l’en-tête L3, spécifie une recherche pour dans 0110 les quatre premiers bits (le champ version est égal à 6) et <mask-name>1100 00 dans le champ DSCP IPv6 (DSCP est égal à cs6).

Le premier exemple définit un modèle de masque qui sélectionne les deux premiers octets (16 bits) de l’en-tête L3 pour une correspondance flexible :

L’exemple suivant définit un modèle de masque qui sélectionne le troisième au sixième octet (32 bits) de la charge utile du paquet pour une correspondance flexible :

Cet exemple montre une correspondance de caractères ASCII pour la chaîne JNPR (caractères ASCII : 0x4a, , , 0x4e0x500x52) du troisième au sixième octet de la charge utile du paquet. Le filtre utilise le modèle de FM-FOUR-PAYLOAD-BYTES masque défini dans l’exemple précédent.

Cet exemple montre un filtre ccc de famille à la recherche de DSCP égal à cs6 et DSCP ef, que les paquets encapsulés soient IPv4 ou IPv6. Il utilise le modèle de FM-FIRST-TWO-L3-BYTES masque défini dans le premier exemple.

Cet exemple montre comment utiliser une longueur de correspondance, à partir d’un décalage de paquet de couche 2, dans un filtre de pare-feu pour un périphérique QFX5120-32C, QFX5120-48Y ou EX4650 exécutant Junos version 20.1R1. Ici, nous utilisons une longueur de bits de 32 bits et la ethernet-switching famille (inet et inet6 sont également pris en charge, tout comme l’utilisation d’un décalage de couche 3).

Tableau de l'historique des modifications

La prise en charge des fonctionnalités est déterminée par la plateforme et la version que vous utilisez. Utilisez l' Feature Explorer pour déterminer si une fonctionnalité est prise en charge sur votre plateforme.

Version
Description
23.2R1
À partir de la version 23.2R1 de Junos OS, nous prenons en charge les filtres flexibles de couche 2 et de couche 3 (uniquement) sur les commutateurs EX4100-24P, EX4100-24T, EX4100-24MP, EX4100-48P, EX4100-48T, EX4400-24T, EX4400-24X et EX4400-48F.
20.1R1
Pour les commutateurs QFX5120 et EX4650, la prise en charge des filtres de correspondance flexibles de couche 2 et de couche 3 (uniquement) a été ajoutée dans la version 20.1R1 de Junos.