Übereinstimmungsbedingungen für Firewall-Filter basierend auf Adressfeldern
Sie können Übereinstimmungsbedingungen für Firewallfilter konfigurieren, die Paketadressfelder – IPv4-Quell- und Zieladressen, IPv6-Quell- und Zieladressen oder MAC-Quell- und Zieladressen (Media Access Control) – anhand bestimmter Adressen oder Präfixwerte auswerten.
Implizite Übereinstimmung mit der Adresse "0/0 außer" für Firewall-Filterübereinstimmungsbedingungen basierend auf Adressfeldern
Jede Übereinstimmungsbedingung für Firewallfilter, die auf einem Satz von Adressen oder Adresspräfixen basiert, ist mit einer impliziten Übereinstimmung der Adresse (für IPv4- oder VPLS-Datenverkehr) oder (für IPv6-Datenverkehr) verknüpft.0.0.0.0/0 except0:0:0:0:0:0:0:0/0 except Daher stimmt jedes Paket, dessen angegebenes Adressfeld mit keiner der angegebenen Adressen oder Adresspräfixe übereinstimmt, nicht mit der gesamten Laufzeit überein.
Zuordnen eines Adressfelds zu einer Subnetzmaske oder einem Subfix
Sie können eine einzelne Übereinstimmungsbedingung angeben, um eine Quell- oder Zieladresse abzugleichen, die in ein bestimmtes Adresspräfix fällt.
- IPv4-Subnetzmasken-Notation
- Präfix-Notation
- Standardpräfixlänge für IPv4-Adressen
- Standardpräfixlänge für IPv6-Adressen
- Standardpräfixlänge für MAC-Adressen
IPv4-Subnetzmasken-Notation
Für eine IPv4-Adresse können Sie anstelle einer Präfixlänge einen Subnetzmaskenwert angeben. Hier einige Zahlen zum Generationswechsel:
[edit firewall family inet filter filter_on_dst_addr term term3 from] user@host# set address 10.0.0.10/255.0.0.255
Präfix-Notation
Um das Adresspräfix anzugeben, verwenden Sie die Notation /.prefixprefix-length Im folgenden Beispiel tritt eine Übereinstimmung auf, wenn eine Zieladresse mit dem Präfix übereinstimmt:10.0.0.0/8
[edit firewall family inet filter filter_on_dst_addr term term1 from] user@host# set destination-address 10.0.0.0/8
Standardpräfixlänge für IPv4-Adressen
Wenn Sie keine IPv4-Adresse angeben, ist die Präfixlänge standardmäßig ./prefix-length/32 Das folgende Beispiel veranschaulicht den Standardpräfixwert:
[edit firewall family inet filter filter_on_dst_addr term term2 from] user@host# set destination-address 10 user@host# show destination-address { 10.0.0.0/32; }
Standardpräfixlänge für IPv6-Adressen
Wenn Sie keine IPv6-Adresse angeben, ist die Präfixlänge standardmäßig ./prefix-length/128 Das folgende Beispiel veranschaulicht den Standardpräfixwert:
[edit firewall family inet6 filter filter_on_dst_addr term term1 from] user@host# set destination-address ::10 user@host# show destination-address { ::10/128; }
Standardpräfixlänge für MAC-Adressen
Wenn Sie keine MAC-Adresse (Media Access Control) eines VPLS-, Layer-2-CCC- oder Layer-2-Bridging-Pakets angeben, wird die Präfixlänge standardmäßig auf ./prefix-length/48 Das folgende Beispiel veranschaulicht den Standardpräfixwert:
[edit firewall family vpls filter filter_on_dst_mac_addr term term1 from] user@host# set destination-mac-address 01:00:0c:cc:cc:cd user@host# show destination-address { 01:00:0c:cc:cc:cd/48; }
Abgleichen eines Adressfelds mit einem ausgeschlossenen Wert
Für die Übereinstimmungsbedingungen zwischen Adresse und Feld können Sie das Schlüsselwort angeben, um anzugeben, dass eine Übereinstimmung für ein Adressfeld auftritt, das nicht mit der angegebenen Adresse oder dem angegebenen Präfix übereinstimmt.except
- Ausschließen von IP-Adressen im IPv4- oder IPv6-Datenverkehr
- Ausschließen von IP-Adressen in VPLS- oder Layer 2-Bridging-Datenverkehr
- Ausschließen von MAC-Adressen in VPLS- oder Layer 2-Bridging-Datenverkehr
- Der Ausschluss aller Adressen erfordert eine explizite Übereinstimmung mit der '0/0'-Adresse
Ausschließen von IP-Adressen im IPv4- oder IPv6-Datenverkehr
Für die folgenden IPv4- und IPv6-Übereinstimmungsbedingungen können Sie das Schlüsselwort angeben, um anzugeben, dass eine Übereinstimmung für ein IP-Adressfeld auftritt, das nicht mit der angegebenen IP-Adresse oder dem angegebenen Präfix übereinstimmt:except
address address except—Eine Übereinstimmung tritt auf, wenn entweder die Quell-IP-Adresse oder die Ziel-IP-Adresse nicht mit der angegebenen Adresse oder dem angegebenen Präfix übereinstimmt.
source-address address except—Eine Übereinstimmung tritt auf, wenn die Quell-IP-Adresse nicht mit der angegebenen Adresse oder dem angegebenen Präfix übereinstimmt.
destination-address address except—Eine Übereinstimmung tritt auf, wenn die Ziel-IP-Adresse nicht mit der angegebenen Adresse oder dem angegebenen Präfix übereinstimmt.
Im folgenden Beispiel findet eine Übereinstimmung für alle IPv4-Zieladressen statt, die unter das Präfix fallen, mit Ausnahme von Adressen, die unter .172.0.0.0/8172.16.0.0/16 Alle anderen Adressen entsprechen implizit nicht dieser Bedingung.
[edit firewall family inet filter filter_on_dst_addr term term1 from] user@host# set destination-address 172.16.0.0/16 except user@host# set destination-address 172.0.0.0/8 user@host# show destination-address { 172.16.0.0/16 except; 172.0.0.0/8; }
Im folgenden Beispiel findet eine Übereinstimmung für jede IPv4-Zieladresse statt, die nicht in das Präfix fällt:10.1.1.0/24
[edit firewall family inet filter filter_on_dst_addr term term24 from] user@host# set destination-address 0.0.0.0/0 user@host# set destination-address 10.1.1.0/24 except user@host# show destination-address { 0.0.0.0/0; 10.1.1.0/24 except; }
Ausschließen von IP-Adressen in VPLS- oder Layer 2-Bridging-Datenverkehr
Nur für die folgenden VPLS- und Layer 2-Bridging-Übereinstimmungsbedingungen auf Routern der MX-Serie können Sie das Schlüsselwort angeben, um anzugeben, dass eine Übereinstimmung für ein IP-Adressfeld auftritt, das nicht mit der angegebenen IP-Adresse oder dem angegebenen Präfix übereinstimmt:except
ip-address address except—Eine Übereinstimmung tritt auf, wenn entweder die Quell-IP-Adresse oder die Ziel-IP-Adresse nicht mit der angegebenen Adresse oder dem angegebenen Präfix übereinstimmt.
source-ip-address address except—Eine Übereinstimmung tritt auf, wenn die Quell-IP-Adresse nicht mit der angegebenen Adresse oder dem angegebenen Präfix übereinstimmt.
destination-ip-address address except—Eine Übereinstimmung tritt auf, wenn die Ziel-IP-Adresse nicht mit der angegebenen Adresse oder dem angegebenen Präfix übereinstimmt.
Im folgenden Beispiel zum Filtern des VPLS-Datenverkehrs auf einem Router der MX-Serie kommt es zu einer Übereinstimmung, wenn die Quell-IP-Adresse in den Ausnahmebereich von fällt und die Ziel-IP-Adresse übereinstimmt :55.0.1.0/255.0.255.05172.16.5.0/8
[edit] firewall { family vpls { filter fvpls { term 1 { from { ip-address { 55.0.0.0/8; 55.0.1.0/255.0.255.0 except; } } then { count from-55/8; discard; } } } } }
Ausschließen von MAC-Adressen in VPLS- oder Layer 2-Bridging-Datenverkehr
Für die folgenden Übereinstimmungsbedingungen für VPLS- oder Layer-2-Bridging-Datenverkehr können Sie das Schlüsselwort angeben, um anzugeben, dass eine Übereinstimmung für ein MAC-Adressfeld auftritt, das nicht mit der angegebenen MAC-Adresse oder dem angegebenen Präfix übereinstimmt:except
source-mac-address address except—Eine Übereinstimmung tritt auf, wenn die Quell-MAC-Adresse nicht mit der angegebenen Adresse oder dem angegebenen Präfix übereinstimmt.
destination-mac-address address except—Eine Übereinstimmung tritt auf, wenn entweder die MAC-Zieladresse nicht mit der angegebenen Adresse oder dem angegebenen Präfix übereinstimmt.
Der Ausschluss aller Adressen erfordert eine explizite Übereinstimmung mit der '0/0'-Adresse
Wenn Sie eine Übereinstimmungsbedingung für Firewallfilter angeben, die aus einer oder mehreren Übereinstimmungsbedingungen für Adressausnahmen (Adressübereinstimmungsbedingungen, die das Schlüsselwort verwenden), aber keine übereinstimmenden Adressübereinstimmungsbedingungen besteht, schlagen Pakete, die mit keinem der konfigurierten Präfixe übereinstimmen, den Gesamtabgleichsvorgang fehl.except Wenn Sie einen Firewallfilterbegriff für Adressausnahmeübereinstimmungsbedingungen so konfigurieren möchten, dass er mit einer Adresse übereinstimmt, die nicht in der Präfixliste enthalten ist, schließen Sie eine explizite Übereinstimmung von ein, damit der Begriff eine übereinstimmende Adresse enthält.0/0
Beim folgenden Beispiel für einen Firewallfilter für IPv4-Datenverkehr kann der Begriff übereinstimmenden Datenverkehr nicht verwerfen, und der Zähler fehlt in der Ausgabe des Befehls für den Betriebsmodus:from-trusted-addressesINTRUDERS-COUNTshow firewall
[edit] user@host# show policy-options prefix-list TRUSTED-ADDRESSES { 10.2.1.0/24; 192.168.122.0/24; } [edit firewall family inet filter protect-RE] user@host# show term from-trusted-addresses { from { source-prefix-list { TRUSTED-ADDRESSES except; } protocol icmp; } then { count INTRUDERS-COUNT; discard; } } term other-icmp { from { protocol icmp; } then { count VALID-COUNT; accept; } } term all { then accept; }
[edit] user@host# run show firewall Filter: protect-RE Counters: Name Bytes Packets VALID-COUNT 2770 70 Filter: __default_bpdu_filter__
Damit ein Filterbegriff von Adressausnahme-Übereinstimmungsbedingungen mit einer Adresse übereinstimmt, die nicht in der Präfixliste enthalten ist, fügen Sie eine explizite Übereinstimmung von in den Satz von Übereinstimmungsbedingungen ein:0/0
[edit firewall family inet filter protect-RE] user@host# show term from-trusted-addresses from { source-prefix-list { 0.0.0.0/0; TRUSTED-ADDRESSES except; } protocol icmp; }
Durch Hinzufügen der Quellpräfixadresse zur Übereinstimmungsbedingung verwirft der Begriff übereinstimmenden Datenverkehr, und der INTRUDERS-COUNT-Zähler wird in der Ausgabe des Befehls für den Betriebsmodus angezeigt:0.0.0.0/0from-trusted-addressesshow firewall
[edit] user@host# run show firewall Filter: protect-RE Counters: Name Bytes Packets VALID-COUNT 2770 70 INTRUDERS-COUNT 420 5 Filter: __default_bpdu_filter__
Abgleichen eines der IP-Adressfelder mit einem einzelnen Wert
Nur für IPv4- und IPv6-Datenverkehr sowie für VPLS- und Layer-2-Bridging-Datenverkehr auf Routern der MX-Serie können Sie eine einzelne Übereinstimmungsbedingung verwenden, um eine einzelne Adresse oder einen Präfixwert entweder mit dem Quell- oder dem Ziel-IP-Adressfeld abzugleichen.
- Übereinstimmung mit einem IP-Adressfeld im IPv4- oder IPv6-Datenverkehr
- Übereinstimmung mit dem IP-Adressfeld in VPLS oder Layer 2 Bridging Traffic
Übereinstimmung mit einem IP-Adressfeld im IPv4- oder IPv6-Datenverkehr
Für IPv4- oder IPv6-Datenverkehr können Sie eine einzelne Übereinstimmungsbedingung verwenden, um denselben Adress- oder Präfixwert wie die Übereinstimmung für das Quell- oder Ziel-IP-Adressfeld anzugeben. Anstatt separate Filterbegriffe zu erstellen, die dieselbe Adresse für die Übereinstimmungsbedingungen und angeben, verwenden Sie nur die Übereinstimmungsbedingung.source-addressdestination-addressaddress Eine Übereinstimmung tritt auf, wenn entweder die Quell-IP-Adresse oder die Ziel-IP-Adresse mit der angegebenen Adresse oder dem angegebenen Präfix übereinstimmt.
Wenn Sie das Schlüsselwort mit der Übereinstimmungsbedingung verwenden, tritt eine Übereinstimmung auf, wenn sowohl die Quell-IP-Adresse als auch die Ziel-IP-Adresse mit dem angegebenen Wert übereinstimmen, bevor die Ausnahme angewendet wird.exceptaddress
In einem Firewallfilterbegriff, der entweder die Übereinstimmungsbedingung oder die Übereinstimmungsbedingung angibt, können Sie nicht auch die Übereinstimmungsbedingung angeben.source-addressdestination-addressaddress
Übereinstimmung mit dem IP-Adressfeld in VPLS oder Layer 2 Bridging Traffic
Nur für VPLS- oder Layer-2-Bridging-Datenverkehr auf Routern der MX-Serie können Sie eine einzelne Übereinstimmungsbedingung verwenden, um dieselbe Adresse oder denselben Präfixwert wie die Übereinstimmung für das Quell- oder Ziel-IP-Adressfeld anzugeben. Anstatt separate Filterbegriffe zu erstellen, die dieselbe Adresse für die Übereinstimmungsbedingungen und angeben, verwenden Sie nur die Übereinstimmungsbedingung.source-ip-addressdestination-ip-addressip-address Eine Übereinstimmung tritt auf, wenn entweder die Quell-IP-Adresse oder die Ziel-IP-Adresse mit der angegebenen Adresse oder dem angegebenen Präfix übereinstimmt.
Wenn Sie das Schlüsselwort mit der Übereinstimmungsbedingung verwenden, tritt eine Übereinstimmung auf, wenn sowohl die Quell-IP-Adresse als auch die Ziel-IP-Adresse mit dem angegebenen Wert übereinstimmen, bevor die Ausnahme angewendet wird.exceptip-address
In einem Firewallfilterbegriff, der entweder die Übereinstimmungsbedingung oder die Übereinstimmungsbedingung angibt, können Sie nicht auch die Übereinstimmungsbedingung angeben.source-ip-addressdestination-ip-addressip-address
Abgleichen eines Adressfelds mit nicht zusammenhängenden Präfixen
Geben Sie nur für IPv4-Datenverkehr eine einzelne Übereinstimmungsbedingung an, um das Feld für die IP-Quell- oder Zieladresse mit einem beliebigen Präfix abzugleichen. Die Präfixe müssen nicht zusammenhängend sein. Das heißt, die Präfixe unter der Übereinstimmungsbedingung "oder" müssen nicht benachbart oder benachbart zueinander sein.source-addressdestination-address
Im folgenden Beispiel tritt eine Übereinstimmung auf, wenn eine Zieladresse entweder mit dem Präfix oder dem Präfix übereinstimmt:10.0.0.0/8192.168.0.0/32
[edit firewall family inet filter filter_on_dst_addr term term5 from] user@host# set destination-address 10.0.0.0/8 user@host# set destination-address 192.168.0.0/32 user@host# show destination-address { destination-address 10.0.0.0/8; destination-address 192.168.0.0/32; }
Die Reihenfolge, in der Sie die Präfixe innerhalb der Übereinstimmungsbedingung angeben, ist nicht von Bedeutung. Pakete werden anhand aller Präfixe in der Übereinstimmungsbedingung ausgewertet, um zu bestimmen, ob eine Übereinstimmung auftritt. Wenn sich Präfixe überschneiden, werden Regeln für die längste Übereinstimmung verwendet, um zu bestimmen, ob eine Übereinstimmung auftritt. Eine Übereinstimmungsbedingung von nicht zusammenhängenden Präfixen enthält eine implizite Anweisung, was bedeutet, dass jedes Präfix, das nicht mit einem Präfix übereinstimmt, das in der Übereinstimmungsbedingung enthalten ist, explizit als nicht übereinstimmend betrachtet wird.0/0 except
Da die Präfixe reihenfolgeunabhängig sind und Regeln für längste Übereinstimmungen verwenden, subsumieren längere Präfixe kürzere, solange sie vom gleichen Typ sind (unabhängig davon, ob Sie angeben oder nicht).except Dies liegt daran, dass alles, was mit dem längeren Präfix übereinstimmt, auch mit dem kürzeren übereinstimmt.
Betrachten Sie das folgende Beispiel:
[edit firewall family inet filter filter_on_src_addr term term1 from] source-address { 172.16.0.0/10; 172.16.2.0/24 except; 192.168.1.0; 192.168.1.192/26 except; 192.168.1.254; 172.16.3.0/24; # ignored 10.2.2.2 except; # ignored }
Innerhalb der Übereinstimmungsbedingung werden zwei Adressen ignoriert.source-address Der Wert wird ignoriert, da er unter die Adresse fällt, die vom gleichen Typ ist.172.16.3.0/16172.16.0.0/10 Der Wert wird ignoriert, da er durch den impliziten Übereinstimmungswert subsumiert wird.10.2.2.2 except0.0.0.0/0 except
Angenommen, die folgende Quell-IP-Adresse wird von diesem Firewallfilter ausgewertet:
Quell-IP-Adresse —Diese Adresse stimmt mit dem Präfix überein, und daher wird die Aktion in der Anweisung ausgeführt.172.16.1.2172.16.0.0/10then
Quell-IP-Adresse —Diese Adresse stimmt mit dem Präfix überein.172.16.2.2172.16.2.0/24 Da dieses Präfix negiert wird (d. h. das Schlüsselwort enthält), tritt eine explizite Diskrepanz auf.except Der nächste Begriff im Filter wird ausgewertet, falls vorhanden. Wenn keine Begriffe mehr vorhanden sind, wird das Paket verworfen.
Quell-IP-Adresse —Diese Adresse stimmt mit keinem der in der Bedingung enthaltenen Präfixe überein.10.1.2.3source-address Stattdessen stimmt es mit dem impliziten Wert am Ende der Liste der Präfixe überein, die unter der Übereinstimmungsbedingung konfiguriert sind, und wird als Nichtübereinstimmung betrachtet.0.0.0.0/0 exceptsource-address
Die Anweisung wird ignoriert, da sie unter die Adresse fällt – beide sind vom gleichen Typ.172.16.3.0/24172.16.0.0/10
Die Anweisung wird ignoriert, da sie von der impliziten Anweisung am Ende der Liste der Präfixe subsumiert wird, die unter der Übereinstimmungsbedingung konfiguriert sind.10.2.2.2 except0.0.0.0/0 exceptsource-address
Wenn ein Firewallfilterbegriff die Übereinstimmungsbedingung und ein nachfolgender Begriff die Übereinstimmungsbedingung für dieselbe Adresse enthält, können Pakete von letzterem Begriff verarbeitet werden, bevor sie von dazwischenliegenden Begriffen ausgewertet werden.from address addressfrom source-address address Infolgedessen können Pakete, die von den dazwischenliegenden Bedingungen abgelehnt werden sollten, stattdessen akzeptiert werden, oder Pakete, die akzeptiert werden sollten, könnten stattdessen abgelehnt werden.
Um dies zu verhindern, empfehlen wir Folgendes. Ersetzen Sie für jeden Firewallfilterbegriff, der die Übereinstimmungsbedingung enthält, diesen Begriff durch zwei separate Begriffe:from address address eine, die die Übereinstimmungsbedingung enthält, und eine andere, die die Übereinstimmungsbedingung enthält.from source-address addressfrom destination-address address
Abgleichen eines Adressfelds mit einer Präfixliste
Sie können eine Liste von IPv4- oder IPv6-Adresspräfixen definieren, die in einer Routingrichtlinienanweisung oder in einer zustandslosen Firewallfilterübereinstimmungsbedingung verwendet werden sollen, die Paketadressfelder auswertet.
Um eine Liste von IPv4- oder IPv6-Adresspräfixen zu definieren, schließen Sie die Anweisung ein.prefix-list prefix-list
prefix-list name { ip-addresses; apply-path path; }
Sie können die Anweisung auf den folgenden Hierarchieebenen einbinden:
[edit policy-options]
[edit logical-systems logical-system-name policy-options]
Nachdem Sie eine Präfixliste definiert haben, können Sie sie verwenden, wenn Sie eine Übereinstimmungsbedingung für Firewallfilter basierend auf einem IPv4- oder IPv6-Adresspräfix angeben.
[edit firewall family family-name filter filter-name term term-name] from { source-prefix-list { prefix-lists; } destination-prefix-list { prefix-lists; } }