Firewall-Filter stimmen Bedingungen basierend auf Adressfeldern ab
Sie können Firewall-Filter mit Bedingungen übereinstimmen, die Paketadressfelder (IPv4-Quell- und Zieladressen, IPv6-Quell- und Zieladressen oder MAC-Quell- und Zieladressen) anhand der angegebenen Adressen oder Präfixwerte auswerten.
Stillschweigende Übereinstimmung der Adresse "0/0 außer" für Firewall-Filter Übereinstimmungsbedingungen basierend auf Adressfeldern
Jede Firewall-Filter-Übereinstimmungsbedingung basierend auf einer Reihe von Adressen oder Adresspräfixen ist mit einer impliziten Übereinstimmung mit der Adresse 0.0.0.0/0 except (für IPv4- oder VPLS-Datenverkehr) oder 0:0:0:0:0:0:0:0/0 except (für IPv6-Datenverkehr) verknüpft. Infolgedessen stimmen Pakete, deren angegebenes Adressfeld nicht mit einer der angegebenen Adressen oder Adresspräfixe übereinstimmt, nicht mit dem gesamten Begriff überein.
Abgleichen eines Adressfeldes mit einer Subnet-Maske oder einem Präfix
Sie können eine einzelne Übereinstimmungsbedingung angeben, die einer Quell- oder Zieladresse entspricht, die zu einem angegebenen Adresspräfix gehört.
- IPv4-Subnetzmasken-Notation
- Präfix-Notation
- Standard-Präfixlänge für IPv4-Adressen
- Standard-Präfixlänge für IPv6-Adressen
- Standard-Präfixlänge für MAC-Adressen
IPv4-Subnetzmasken-Notation
Für eine IPv4-Adresse können Sie einen Subnetzmaskenwert anstelle einer Präfixlänge angeben. Zum Beispiel:
[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 prefix/prefix-length. Im folgenden Beispiel erfolgt eine Übereinstimmung, wenn eine Zieladresse mit dem Präfix 10.0.0.0/8übereinstimmt:
[edit firewall family inet filter filter_on_dst_addr term term1 from] user@host# set destination-address 10.0.0.0/8
Standard-Präfixlänge für IPv4-Adressen
Wenn Sie keine IPv4-Adresse angeben /prefix-length , wird die Präfixlänge standardmäßig auf /32. Im folgenden Beispiel wird der Standard-Präfixwert veranschaulicht:
[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; }
Standard-Präfixlänge für IPv6-Adressen
Wenn Sie keine IPv6-Adresse angeben /prefix-length , wird die Präfixlänge standardmäßig auf /128. Im folgenden Beispiel wird der Standard-Präfixwert veranschaulicht:
[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; }
Standard-Präfixlänge für MAC-Adressen
Wenn Sie für eine MAC-Adresse (Media Access Control) eines VPLS, Layer 2 CCC oder Layer 2 Bridging-Pakets nicht angeben /prefix-length , ist die Präfixlänge standardmäßig auf /48. Im folgenden Beispiel wird der Standard-Präfixwert veranschaulicht:
[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; }
Abgleich eines Adressfeldes mit einem ausgeschlossenen Wert
Für die Bedingungen für die Adressfeld-Übereinstimmung können Sie das except Schlüsselwort angeben, um anzugeben, dass eine Übereinstimmung für ein Adressfeld erfolgt, das nicht mit der angegebenen Adresse oder dem angegebenen Präfix übereinstimmt.
- Ausschließen von IP-Adressen im IPv4- oder IPv6-Datenverkehr
- Ausschluss 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 except Schlüsselwort angeben, um anzugeben, dass eine Übereinstimmung für ein IP-Adressfeld erfolgt, das nicht mit der angegebenen IP-Adresse oder dem angegebenen Präfix übereinstimmt:
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 wird eine Übereinstimmung für alle IPv4-Zieladressen, die unter das Präfix fallen, mit Ausnahme von 172.0.0.0/8 Adressen, die unter 172.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 wird eine Übereinstimmung für jede IPv4-Zieladresse durchgeführt, die nicht zum Präfix 10.1.1.0/24gehört:
[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; }
Ausschluss von IP-Adressen in VPLS oder Layer-2-Bridging-Datenverkehr
Für die folgenden VPLS- und Layer 2-Bridging-Bedingungen nur auf Routern der MX-Serie können Sie das except Schlüsselwort angeben, um anzugeben, dass eine Übereinstimmung für ein IP-Adressfeld erfolgt, das nicht mit der angegebenen IP-Adresse oder dem angegebenen Präfix übereinstimmt:
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 für das Filtern von VPLS-Datenverkehr auf einem Router der MX-Serie tritt eine Übereinstimmung auf, wenn die Quell-IP-Adresse in den Ausnahmebereich von 55.0.1.0/255.0.255.0 fällt und die Ziel-IP-Adresse übereinstimmt 5172.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 BEDINGUNGEN für VPLS- oder Layer 2-Bridging-Datenverkehrsgleichbedingungen können Sie das except Schlüsselwort angeben, um anzugeben, dass eine Übereinstimmung für ein MAC-Adressfeld erfolgt, das nicht mit der angegebenen MAC-Adresse oder dem angegebenen Präfix übereinstimmt:
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 die MAC-Adresse des Ziels 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 Firewall-Filter-Übereinstimmungsbedingung angeben, die aus einer oder mehreren Adressen-Ausnahme-Übereinstimmungsbedingungen (Adress-Übereinstimmungsbedingungen, die das except Schlüsselwort verwenden), aber keine abgleichbaren Adress-Übereinstimmungsbedingungen enthält, schlägt der gesamte Übereinstimmungsvorgang fehl, Pakete, die keinem der konfigurierten Präfixe entsprechen. Um einen Firewall-Filterbegriff für Adress-Ausnahme-Übereinstimmungsbedingungen zu konfigurieren, der mit einer Adresse übereinstimmt, die nicht in der Präfixliste enthalten ist, fügen Sie eine explizite Übereinstimmung von ein 0/0 , sodass der Begriff eine abgleichbare Adresse enthält.
Für den folgenden Firewall-Filter für IPv4-Datenverkehr kann der Begriff den from-trusted-addresses übereinstimmenden Datenverkehr nicht verwerfen, und der INTRUDERS-COUNT Zähler fehlt in der Ausgabe des show firewall Betriebsmodusbefehls:
[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__
Um zu bewirken, dass ein Filterbegriff der Adress-Ausnahmebedingungen mit einer Adresse übereinstimmt, die nicht in der Präfixliste enthalten ist, fügen Sie eine explizite Übereinstimmung von in 0/0 die Menge der Übereinstimmungsbedingungen ein:
[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; }
Wenn die Quellpräfixadresse zur Übereinstimmungsbedingung hinzugezahlt 0.0.0.0/0 wird, verwirft der Begriff den from-trusted-addresses übereinstimmenden Datenverkehr, und der INTRUDERS-COUNT-Zähler wird in der Ausgabe des show firewall Betriebsmodus-Befehls angezeigt:
[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__
Abgleich eines IP-Adressfeldes 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 einzige Übereinstimmungsbedingung verwenden, um einen einzelnen Adress- oder Präfixwert mit dem Quell- oder Ziel-IP-Adressfeld abzugleichen.
- Abgleich von IP-Adressfeld im IPv4- oder IPv6-Datenverkehr
- Abgleich von IP-Adressfeld in VPLS oder Layer 2 Bridging-Datenverkehr
Abgleich von IP-Adressfeld im IPv4- oder IPv6-Datenverkehr
Für IPv4- oder IPv6-Datenverkehr können Sie eine einzige Ü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 source-address Bedingungen angeben destination-address , verwenden Sie nur die Übereinstimmungsbedingung 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 except Schlüsselwort mit der Übereinstimmungsbedingung address 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.
In einem Firewall-Filterbegriff, der entweder die source-address Übereinstimmungsbedingung oder die destination-address Übereinstimmungsbedingung angibt, können Sie auch die Übereinstimmungsbedingung address nicht angeben.
Abgleich von IP-Adressfeld in VPLS oder Layer 2 Bridging-Datenverkehr
Nur für VPLS- oder Layer 2-Bridging-Datenverkehr auf Routern der MX-Serie können Sie eine einzige Übereinstimmungsbedingung verwenden, um den gleichen 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 source-ip-address Bedingungen angeben destination-ip-address , verwenden Sie nur die Übereinstimmungsbedingung ip-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 except Schlüsselwort mit der Übereinstimmungsbedingung ip-address 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.
In einem Firewall-Filterbegriff, der entweder die source-ip-address Übereinstimmungsbedingung oder die destination-ip-address Übereinstimmungsbedingung angibt, können Sie auch die Übereinstimmungsbedingung ip-address nicht angeben.
Abgleich eines Adressfeldes mit nicht kondenshaften Präfixen
Geben Sie nur für IPv4-Datenverkehr eine einzige Übereinstimmungsbedingung an, um das IP-Quell- oder Zieladressenfeld einem beliebigen angegebenen Präfix zu entsprechen. Die Präfixe müssen nicht zusammenhängend sein. Das heißt, die Präfixe unter der source-address Oder destination-address Übereinstimmungsbedingung müssen nicht nebeneinander oder nebeneinander stehen.
Im folgenden Beispiel tritt eine Übereinstimmung auf, wenn eine Zieladresse entweder mit dem 10.0.0.0/8 Präfix oder dem 192.168.0.0/32 Präfix übereinstimmt:
[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 signifikant. Pakete werden anhand aller Präfixe in der Übereinstimmungsbedingung ausgewertet, um zu bestimmen, ob eine Übereinstimmung auftritt. Wenn Präfixe sich überschneiden, werden Regeln für die längste Übereinstimmung verwendet, um zu bestimmen, ob eine Übereinstimmung auftritt. Eine Übereinstimmungsbedingung von nichtkondigenten Präfixen umfasst eine implizite 0/0 except Anweisung, was bedeutet, dass alle Präfixe, die nicht mit einem in der Übereinstimmungsbedingung enthaltenen Präfix übereinstimmen, explizit als nicht übereinstimmend angesehen werden.
Da die Präfixe reihenfolgeunabhängig sind und Regeln für die längste Übereinstimmung verwenden, subsumieren längere Präfixe kürzere, solange sie derselbe Typ sind (unabhängig davon, ob Sie angeben except oder nicht). Dies liegt daran, dass alles, was mit dem längeren Prefix übereinstimmt, auch mit dem kürzeren präfix übereinstimmt.
Sehen Sie sich das folgende Beispiel an:
[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 source-address werden zwei Adressen ignoriert. Der 172.16.3.0/16 Wert wird ignoriert, weil er unter die Adresse 172.16.0.0/10fällt, die derselbe Typ ist. Der 10.2.2.2 except Wert wird ignoriert, weil er durch den impliziten 0.0.0.0/0 except Übereinstimmungswert subsumiert wird.
Nehmen wir an, die folgende Quell-IP-Adresse wird von diesem Firewall-Filter ausgewertet:
Quell-IP-Adresse 172.16.1.2— Diese Adresse entspricht dem 172.16.0.0/10 Präfix, und daher wird die Aktion in der then Anweisung durchgeführt.
Quell-IP-Adresse 172.16.2.2— Diese Adresse entspricht dem 172.16.2.0/24 Präfix. Da dieses Präfix negiert wird (d. h. das except Schlüsselwort enthält), tritt eine explizite Mismatch auf. Der nächste Begriff im Filter wird ausgewertet, wenn es einen gibt. Wenn es keine Begriffe mehr gibt, wird das Paket verworfen.
Quell-IP-Adresse 10.1.2.3— Diese Adresse entspricht nicht den Präfixen, die in der source-address Bedingung enthalten sind. Stattdessen entspricht es dem impliziten 0.0.0.0/0 except Am Ende der Liste der Präfixe, die unter der source-address Übereinstimmungsbedingung konfiguriert sind, und wird als Mismatch angesehen.
Die 172.16.3.0/24 Anweisung wird ignoriert, weil sie unter die Adresse 172.16.0.0/10fällt – beide sind derselbe Typ.
Die 10.2.2.2 except Anweisung wird ignoriert, weil sie durch die implizite 0.0.0.0/0 except Anweisung am Ende der Liste der Präfixe subsumiert wird, die unter der Übereinstimmungsbedingung source-address konfiguriert ist.
Wenn ein Firewall-Filterbegriff die from address address Übereinstimmungsbedingung und ein späterer Begriff die from source-address address Übereinstimmungsbedingung für dieselbe Adresse enthält, können Pakete von dem letztgenannten Begriff verarbeitet werden, bevor sie mit dazwischenliegenden Begriffen bewertet werden. Infolgedessen können Pakete, die von den dazwischenliegenden Bedingungen abgelehnt werden sollten, stattdessen akzeptiert werden, oder Pakete, die akzeptiert werden sollten, stattdessen abgelehnt werden.
Um dies zu verhindern, empfehlen wir, folgendes zu tun. Ersetzen Sie diesen Begriff für jeden Firewall-Filterbegriff, der die from address address Übereinstimmungsbedingung enthält, durch zwei separate Begriffe: eine, die die Übereinstimmungsbedingung from source-address address enthält, und eine andere, die die Übereinstimmungsbedingung from destination-address address enthält.
Abgleich eines Adressfeldes mit einer Präfixliste
Sie können eine Liste von IPv4- oder IPv6-Adresspräfixen für die Verwendung in einer Routing-Richtlinienaussage oder in einer zustandslosen Firewall-Filter-Übereinstimmungsbedingung definieren, die Paketadressfelder auswertet.
Um eine Liste von IPv4- oder IPv6-Adresspräfixen zu definieren, fügen 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 einschließen:
[edit policy-options]
[edit logical-systems logical-system-name policy-options]
Nachdem Sie eine Präfixliste definiert haben, können Sie diese verwenden, wenn Sie eine Firewall-Filter-Übereinstimmungsbedingung 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; } }