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 Bedingungen für die Übereinstimmung mit Standard-Firewall-Filtern hängen von der Protokollfamilie des abgleichten Datenverkehrs ab. Beispielsweise unterscheiden sich die für den Bridge-Protokollverkehr verfügbaren Begriffe von denen für die Protokollfamilien inet oder inet6. Die felder, die für das Abgleichen innerhalb jeder Protokollfamilie verfügbar sind, sind jedoch feste oder vordefinierte. Das bedeutet, dass Filter nur auf Muster innerhalb dieser vordefinierten Felder abgestimmt werden können.

Mithilfe flexibler Übereinstimmungsbedingungen können Firewall-Filter konstruiert werden, die die Übereinstimmung an Layer-2-, Layer-3-, Layer-4- oder Payload-Standorten starten. Anschließend können zusätzliche Versatzkriterien festgelegt werden, um Musterabgleiche an benutzerdefinierten, benutzerdefinierten Standorten innerhalb eines Pakets zu ermöglichen.

Flexible Übereinstimmungsfilterbegriffe werden ebenso wie alle anderen Firewall-Filterbegriffe auf MPC- oder MIC-Schnittstellen als Ein- oder Ausgabefilter angewendet. Flexible Übereinstimmungsfilterbegriffe können auch als Vorlagen auf Hierarchieebene [edit firewall] erstellt werden. Diese Vorlagen können dann innerhalb eines flexiblen Übereinstimmungsbegriffs referenziert 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, wenden Sie die flexiblen Firewall-Filterkriterien nur auf die MPC- oder MIC-Schnittstellen an.

Anmerkung:

Für Router der MX-Serie mit MPCs müssen Sie den Filterzähler für Nur-Trio-Match-Filter in der MIB initialisieren, indem Sie die entsprechende SNMP-MIB gehen. Beispielsweise müssen Sie für alle Filter, die in Bezug auf ihre Trio-Only-Filter konfiguriert oder geändert werden, einen Befehl wie den folgenden ausführen: show snmp mib walk (ascii | decimal) object-id. Dies zwingt Junos, die Filterzähler zu erlernen 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). Trio-Only-Match-Filter sind Filter, die mindestens eine Übereinstimmungsbedingung oder Aktion enthalten, die nur vom Trio-Chipsatz unterstützt wird.

Diese Anleitung gilt für alle enhanced-mode Firewall-Filter. Dies gilt auch für flexible Übereinstimmungsfilterbedingungen für Offset-Bereichs- oder Offset-Masken gre-keysowie Firewall-Filter-ÜbereinstimmungsbedingungenFirewall-Filter-Übereinstimmungsbedingungen für IPv4-Datenverkehr für IPv6-Datenverkehr mit einer der folgenden Übereinstimmungsbedingungen: payload-protocol, extension headers, is_fragment. Es gilt auch für Filter mit einem der folgenden Optionen Terminierungsaktionen für Firewall-Filter: encapsulateoder decapsulateeines der folgenden:Nicht-bestimmende Aktionen für Firewall-Filter policy-mapclear-policy-mapund .

Statement-Hierarchie

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

Flexible Filter-Übereinstimmungstypen

Tabelle 1: Flexible Filter-Übereinstimmungstypen

Flexibler Filter-Übereinstimmungstyp

Verfügbare Attribute

Beschreibung

flexible-match

<name>

Erstellen Sie eine Vorlage für flexible Übereinstimmungen, die als <name> attribut bezeichnet wird.

 

bit-length

Länge der Daten, die in Bits abgegleicht werden müssen, für String-Eingaben nicht erforderlich (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 Übereinstimmungs-Startpunkt

match-start

Startpunkt, der im Paket abgleicht

flexible-match-mask

bit-length

Länge der Daten, die in Bits abgegleicht werden müssen, für String-Eingaben nicht erforderlich (0.128)

bit-offset

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

byte-offset

Byte-Offset nach dem Übereinstimmungs-Startpunkt

flexible-mask-name

Wählen Sie eine flexible Übereinstimmung aus einem vordefinierten Vorlagenfeld aus. Erforderlich, es sei denn match-start , sie ist konfiguriert.

mask-in-hex

Maskieren Sie Bits in den paketzugleichenden Daten.

match-start

Startpunkt, der in Paketen abgleicht. Erforderlich, es sei denn flexible-mask-name , sie ist konfiguriert.

prefix

Wertedaten/Zeichenfolge, die angepasst werden sollen.

flexible-match-range

bit-length

Länge der daten, die in Bits übereinstimmen. (0..32) Erforderlich, es sei denn flexible-range-name , sie ist konfiguriert.

bit-offset

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

byte-offset

Byte-Offset nach dem Übereinstimmungs-Startpunkt

flexible-range-name

Wählen Sie eine flexible Übereinstimmung aus vordefinierter Vorlage aus.

match-start

Startpunkt, der in Paketen abgleicht. Erforderlich, es sei denn flexible-range-name , sie ist konfiguriert.

range

Bereich der zu gleichen Werte.

range-except

Bereich der werte, die nicht übereinstimmen.

Startorte für flexible Filter-Übereinstimmungen

Flexible Übereinstimmungsfilterbegriffe werden durch Angabe eines Startstandorts oder Ankerpunkts innerhalb des Pakets konstruiert. Die Startstandorte können beliebig sein: Layer-2, Layer-3, Layer-4 oder Payload, abhängig von der verwendeten Protokollfamilie. Tabelle 2 zeigt die verfügbaren flexiblen Filtermatch-Startstandorte nach Protokollfamilie an. Sie verwenden diese verfügbaren Startstandorte als match-start Standorte für die flexiblen Übereinstimmungsfilterbedingungen.

Von diesen Startstandorten aus können spezifische Byte- und Bit-Offsets verwendet werden, um dem Filter zu ermöglichen, Muster an sehr bestimmten Standorten innerhalb des Pakets abgleichen zu können.

Tabelle 2: Startorte für flexible Filter-Übereinstimmungen

Protokollfamilie

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 (nur) flexible Layer-2- und Layer-3-Matchfilter 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 (nur) flexible Layer-2- und Layer-3-Matchfilter 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 (nur) flexible Layer-2- und Layer-3-Filter hinzugefügt. Ein Beispiel für die Verwendung eines Layer-2-Paket-Offsets und der Übereinstimmungslänge finden Sie unten.

Beispiele für flexible Filtermatches

Das folgende Beispiel veranschaulicht die Verwendung und den Kontext für flexible-match-mask.

Der <mask-name> gibt für den flexiblen Maskennamen an, welche vordefinierte Vorlage für die Flexible-Match-Bedingung verwendet wird. Vorlagen können so definiert werden, dass die flexible Übereinstimmungsbedingung ausgeführt werden soll, an welcher Stelle (Position) im Paket ausgeführt werden soll.

Die <maske> für mask-in-hex ist im hexadezimalen Format. Eine konfigurierte Maske von 0xf0fc gibt beispielsweise eine Übereinstimmung für die Fist vier Bits im ersten Byte (wie durch <mask-name>) und für die ersten sechs Bits im zweiten Byte an. Wenn das Paket IPv4-Paket ist und <mask-Name> sich auf die ersten zwei Bytes im L3-Header bezieht, wird nach dem IP-Versionsfeld und dem DSCP-Feld gesucht. Als weiteres Beispiel gibt eine konfigurierte Maske 0xffc0 eine Suche nach dem gesamten ersten Byte und nach zwei Bits aus dem zweiten Byte an. Wenn der <mask-Name> sich auf die ersten zwei Bytes im L3-Header bezieht und das Paket ein IPv6-Paket ist, gibt dies das IP-Versionsfeld und DSCP im Feld Datenverkehrsklasse an.

Der für Prefix angegebene <pattern> ist eine ASCII-Zeichenfolge. Wenn die ersten zwei Zeichen sind 0x, wird die Zeichenfolge als hexadezimale Zahlenkodierung entsprechender Bits verarbeitet. Das konfigurierte Präfix 0x40c0 in Kombination mit Masken 0xf0fc und <mask-Name> das die ersten zwei Bytes im L3-Header verweist, gibt eine Suche nach 0100 den ersten vier Bits an (das Versionsfeld entspricht 4) und 1100 00 im IPv4-DSCP-Feld (DSCP entspricht cs6). Oder mithilfe des konfigurierten Präfixes 0x6c00 in Kombination mit Masken 0xffc0 und <mask-Name> das die ersten zwei Bytes im L3-Header verweist, wird eine Suche nach 0110 in den ersten vier Bits (Das Versionsfeld ist gleich 6) und 1100 00 im IPv6-DSCP-Feld (DSCP entspricht cs6) angegeben.

Das erste Beispiel definiert eine Maskenvorlage, die die ersten zwei Bytes (16 Bits) 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 Bits) der Paketnutzlast für eine flexible Übereinstimmung auswählt:

In diesem Beispiel wird eine ASCII-Zeichenüberschrift für die Zeichenfolge JNPR (ASCII-Zeichen: 0x4a, 0x4e, 0x50, 0x52) im dritten bis sechsten Byte der Paketnutzlast. Der Filter verwendet die FM-FOUR-PAYLOAD-BYTES im vorherigen Beispiel definierte Maskenvorlage.

Dieses Beispiel zeigt einen CCC-Familienfilter, der DSCP gleich cs6 DSCP und DSCP efsucht, unabhängig davon, ob die eingekapselten Pakete IPv4 oder IPv6 sind. Es verwendet die FM-FIRST-TWO-L3-BYTES im ersten Beispiel definierte Maskenvorlage.

In diesem Beispiel wird gezeigt, wie Sie eine Übereinstimmungsdauer, beginnend mit einem Layer-2-Paket-Offset, in einem Firewall-Filter für ein QFX5120-32C-, QFX5120-48Y- oder EX4650-Gerät verwenden, auf dem Junos Release 20.1R1 ausgeführt wird. Hier verwenden wir eine Bitlänge von 32 Bits und die ethernet-switching Familie (inet und inet6 werden auch unterstützt, wie bei einem Layer-3-Offset).

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