Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Flexible Übereinstimmungsbedingungen für Firewall-Filter

Die Übereinstimmungsbedingungen für Standard-Firewallfilter variieren je nach Protokollfamilie des abgeglichenen Datenverkehrs. Beispielsweise unterscheiden sich die für Bridge-Protokolldatenverkehr verfügbaren Begriffe von denen, die für die Protokollfamilien inet oder inet6 verfügbar sind. Die Felder, die für den Abgleich innerhalb der einzelnen Protokollfamilien zur Verfügung stehen, sind jedoch fest oder vordefiniert. Das bedeutet, dass Filter nur nach Mustern innerhalb dieser vordefinierten Felder übereinstimmen können.

Unter Verwendung flexibler Übereinstimmungsbedingungen können Firewall-Filter konstruiert werden, die die Übereinstimmung an Layer-2-, Layer-3-, Layer-4- oder Nutzlastpositionen starten. Von dort aus können zusätzliche Offset-Kriterien festgelegt werden, wodurch Musterübereinstimmungen an benutzerdefinierten Stellen innerhalb eines Pakets ermöglicht werden.

Flexible Anpassungsfilterbegriffe werden auf MPC- oder MIC-Schnittstellen als Eingangs- oder Ausgangsfilter angewendet, genau wie alle anderen Firewall-Filterbegriffe. Flexible Übereinstimmungsfilterbegriffe können auch als Vorlagen auf Hierarchieebene erstellt werden.[edit firewall] Auf diese Vorlagen kann dann innerhalb eines flexiblen Übereinstimmungsbegriffs verwiesen werden.

Bei Routern der MX-Serie werden flexible Übereinstimmungsbedingungen nur mit MPCs oder MICs unterstützt. In Umgebungen, in denen FPCs, PICs und/oder DPCs zusammen mit MPCs oder MICs installiert sind, sollten Sie die Filterkriterien für die flexible Anpassung der Firewall nur auf die MPC- oder MIC-Schnittstellen anwenden.

HINWEIS:

Bei Routern der MX-Serie mit MPCs müssen Sie den Filterzähler für Nur-Trio-Übereinstimmungsfilter in der MIB initialisieren, indem Sie die entsprechende SNMP-MIB durchlaufen. Beispielsweise müssen Sie für jeden Filter, der in Bezug auf seine Nur-Trio-Filter konfiguriert oder geändert wird, einen Befehl wie den folgenden ausführen: show snmp mib walk (ascii | decimal) object-id. Dadurch wird Junos gezwungen, die Filterzähler zu lernen und sicherzustellen, dass die Filterstatistiken angezeigt werden (dies liegt daran, dass bei der ersten Abfrage zum Filtern von Statistiken möglicherweise nicht alle Zähler angezeigt werden). Nur-Trio-Übereinstimmungsfilter sind solche, die mindestens eine Übereinstimmungsbedingung oder -aktion enthalten, die nur vom Trio-Chipsatz unterstützt wird.

Diese Anleitung gilt für alle Firewallfilter.enhanced-mode Sie gilt auch für flexible Übereinstimmungsfilterbedingungen für offset-range oder offset-mask und Firewall-Filter-Übereinstimmungsbedingungen für IPv6-Datenverkehr mit einer der folgenden Übereinstimmungsbedingungen:Übereinstimmungsbedingungen für Firewall-Filter für IPv4-Datenverkehrgre-keyÜbereinstimmungsbedingungen für Firewall-Filter für IPv6-Datenverkehr , , .payload-protocolextension headersis_fragment Dies gilt auch für Filter mit einer der folgenden Eigenschaften:Aktionen zum Beenden des Firewall-Filters oder , oder eine der folgenden Optionen :encapsulatedecapsulateNicht terminierende Aktionen für Firewall-Filter , und .policy-mapclear-policy-map

Anweisungshierarchie

Flexible Übereinstimmungsfilterbegriffe sind in drei Varianten verfügbar, wie in gezeigt.Tabelle 1 Die Variante wird auf Hierarchieebene konfiguriert.flexible-match[edit firewall] Es wird verwendet, um flexible Übereinstimmungsvorlagen zu definieren. Die und werden in der Hierarchie konfiguriert.flexible-filter-match-maskflexible-match-range[edit firewall family [inet|inet6|bridge|ethernet-switching|ccc|vpls] filter <filter-name> term <term-name> from] Verwenden Sie den Filter für EX9200-Switches.family ethernet-switching

Flexible Filter-Übereinstimmungstypen

Tabelle 1: Flexible Filter-Übereinstimmungstypen

Flexibler Filter-Übereinstimmungstyp

Verfügbare Attribute

Beschreibung

flexible-match

<name>

Erstellen Sie eine Vorlage mit flexiblem Abgleich, die als Attribut benannt ist.<name>

 

bit-length

Länge der abzugleichenden Daten in Bit, nicht benötigt für String-Eingabe (0..32)

Für QFX5120- und EX4650-Switches sind 16 und 32 die einzigen gültigen Bitlängen.

bit-offset

Bit-Offset nach dem (Match-Start + Byte) Offset (0..7)

byte-offset

Byte-Offset nach dem Startpunkt des Spiels

match-start

Startpunkt für den Abgleich im Paket

flexible-match-mask

bit-length

Länge der abzugleichenden Daten in Bits, nicht benötigt für String-Eingabe (0..128)

bit-offset

Bit-Offset nach dem (Match-Start + Byte) Offset (0..7)

byte-offset

Byte-Offset nach dem Startpunkt des Spiels

flexible-mask-name

Wählen Sie eine flexible Übereinstimmung aus dem vordefinierten Vorlagenfeld aus. Erforderlich, sofern nicht konfiguriert.match-start

mask-in-hex

Maskieren Sie Bits in den Paketdaten, die abgeglichen werden sollen.

match-start

Startpunkt, der im Paket abgeglichen werden soll. Erforderlich, sofern nicht konfiguriert.flexible-mask-name

prefix

Wertdaten/Zeichenfolge, die abgeglichen werden sollen.

flexible-match-range

bit-length

Länge der abzugleichenden Daten in Bits. (0..32) Erforderlich, sofern nicht konfiguriert.flexible-range-name

bit-offset

Bit-Offset nach dem (Match-Start + Byte) Offset. (0..7)

byte-offset

Byte-Offset nach dem Startpunkt des Spiels

flexible-range-name

Wählen Sie eine flexible Übereinstimmung aus der vordefinierten Vorlage aus.

match-start

Startpunkt, der im Paket abgeglichen werden soll. Erforderlich, sofern nicht konfiguriert.flexible-range-name

range

Bereich der abzugleichenden Werte.

range-except

Wertebereich, der nicht abgeglichen werden soll.

Flexible Startpositionen für Filterübereinstimmungen

Flexible Übereinstimmungsfilterterme werden erstellt, indem eine Startposition oder ein Ankerpunkt innerhalb des Pakets angegeben wird. Die Startorte können eine der folgenden sein: Layer-2, Layer-3, Layer-4 oder Payload, je nach verwendeter Protokollfamilie. Zeigt die verfügbaren Startpositionen für flexible Filterübereinstimmungen nach Protokollfamilie an.Tabelle 2 Sie verwenden diese verfügbaren Startpositionen als Positionen für die flexiblen Übereinstimmungsfilterbedingungen.match-start

Von diesen Startpositionen aus können bestimmte Byte- und Bit-Offsets verwendet werden, damit der Filter Muster an ganz bestimmten Stellen innerhalb des Pakets abgleichen kann.

Tabelle 2: Flexible Startpositionen für Filterübereinstimmungen

Protokoll-Familie

Verfügbare Startorte

inet

layer-3, layer-4 and payload

Für QFX5120- und EX4650-Switches wurde in Junos Version 20.1R1 Unterstützung für flexible Layer-2- und Layer-3-Filter (nur) hinzugefügt.

inet6

layer-3, layer-4 and payload

Für QFX5120- und EX4650-Switches wurde in Junos Version 20.1R1 Unterstützung für flexible Layer-2- und Layer-3-Filter (nur) hinzugefügt.

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

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

Für QFX5120- und EX4650-Switches wurde in Junos Version 20.1R1 Unterstützung für flexible Layer-2- und Layer-3-Filter (nur) hinzugefügt. Ein Beispiel für die Verwendung eines Layer-2-Paketoffsets und einer Übereinstimmungslänge finden Sie unten.

Beispiele für flexible Filteranpassungen

Das folgende Beispiel veranschaulicht die Verwendung und den Kontext von .flexible-match-mask

Die gibt an , für welche vordefinierte Vorlage die flexible Übereinstimmungsbedingung verwendet wird.<mask-name>flexible-mask-name Es können Vorlagen definiert werden, um festzulegen, an welcher Stelle (Position) im Paket die flexible Übereinstimmungsbedingung ausgeführt werden soll.

Das for ist im Hexadezimalformat.<mask>mask-in-hex Beispielsweise gibt eine konfigurierte Maske von eine Übereinstimmung für die ersten vier Bits im ersten Byte (wie durch ) und für die ersten sechs Bits im zweiten Byte an.0xf0fc<mask-name> Wenn es sich bei dem Paket um ein IPv4-Paket handelt und es sich auf die ersten beiden Bytes im L3-Header bezieht, wird nach den Feldern "IP-Version" und "DSCP" gesucht.<mask-name> Als weiteres Beispiel gibt eine konfigurierte Maske eine Suche nach dem gesamten ersten Byte und nach zwei Bits aus dem zweiten Byte an.0xffc0 Wenn sich das auf die ersten beiden Bytes im L3-Header bezieht und es sich bei dem Paket um ein IPv6-Paket handelt, werden das Feld "IP-Version" und DSCP im Feld "Datenverkehrsklasse" angegeben.<mask-name>

Das angegebene for ist eine ASCII-Zeichenfolge.<pattern>prefix Wenn die ersten zwei Zeichen sind , wird die Zeichenfolge als Hexadezimalzahl verarbeitet, die entsprechende Bits codiert.0x Zum Beispiel zeigt das konfigurierte Präfix in Kombination mit mask und verweisend auf die ersten beiden Bytes im L3-Header eine Suche nach in den ersten vier Bits (Versionsfeld ist gleich 4) und in IPv4 DSCP-Feld (DSCP ist gleich cs6) an.0x40c00xf0fc<mask-name>01001100 00 Oder geben Sie unter Verwendung des konfigurierten Präfixes in Kombination mit mask und dem Verweis auf die ersten beiden Bytes im L3-Header eine Suche nach in den ersten vier Bits (Versionsfeld ist gleich 6) und im IPv6-DSCP-Feld (DSCP ist gleich cs6) an.0x6c000xffc0<mask-name>01101100 00

Im ersten Beispiel wird eine Maskenvorlage definiert, die die ersten beiden Bytes (16 Bit) aus dem L3-Header für eine flexible Übereinstimmung auswählt:

Im nächsten Beispiel wird eine Maskenvorlage definiert, die das dritte bis sechste Byte (32 Bit) der Paketnutzlast für einen flexiblen Abgleich auswählt:

Dieses Beispiel zeigt eine ASCII-Zeichenübereinstimmung für die Zeichenfolge JNPR (ASCII-Zeichen: , , , ) im dritten bis sechsten Byte der Paketnutzlast.0x4a0x4e0x500x52 Der Filter verwendet die im vorherigen Beispiel definierte Maskenvorlage.FM-FOUR-PAYLOAD-BYTES

Dieses Beispiel zeigt einen Familien-ccc-Filter, der nach DSCP gleich und DSCP sucht, unabhängig davon, ob es sich bei den gekapselten Paketen um IPv4 oder IPv6 handelt.cs6ef Es verwendet die im ersten Beispiel definierte Maskenvorlage.FM-FIRST-TWO-L3-BYTES

In diesem Beispiel wird gezeigt, wie eine Übereinstimmungslänge, beginnend mit einem Layer-2-Paketoffset, in einem Firewallfilter für ein QFX5120-32C-, QFX5120-48Y- oder EX4650-Gerät mit Junos Version 20.1R1 verwendet wird. Hier verwenden wir eine Bitlänge von 32 Bit und die Familie ( und werden auch unterstützt, ebenso wie die Verwendung eines Layer-3-Offsets).ethernet-switchinginetinet6

Tabellarischer Änderungsverlauf

Die Unterstützung der Funktion hängt von der Plattform und der Version ab, die Sie benutzen. Verwenden Sie Feature Explorer, um festzustellen, ob eine Funktion auf Ihrer Plattform unterstützt wird.

Release
Beschreibung
23.2R1
Ab Junos OS Version 23.2R1 unterstützen wir auf den Switches EX4100-24P, EX4100-24T, EX4100-24MP, EX4100-48P, EX4100-48T, EX4400-24T, EX4400-24T, EX4400-24X und EX4400-48F flexible Match-Filter.
20.1R1
Für QFX5120- und EX4650-Switches wurde in Junos Version 20.1R1 Unterstützung für flexible Layer-2- und Layer-3-Filter (nur) hinzugefügt.