Planen der Anzahl der zu erstellenen Firewall-Filter
Maximale Anzahl unterstützter Firewall-Filter
Tabelle 1 zeigt die maximale Anzahl von Firewall-Filtern an, die jeder Switch unterstützt. Die Gesamtzahl der Filter wird aggregiert angewendet. Beispielsweise können Sie auf den Switches QFX5200 und QFX5210 insgesamt 768 Begriffe in der Eingangsrichtung und 1024 Begriffe in der Ausgaberichtung anwenden. Die tatsächliche Anzahl der Filter, die ein Switch unterstützt, hängt davon ab, wie die Filter im ternary Content Addressable Memory (TCAM) gespeichert werden.
Für QFX5120-48Y- und EX4650-Switches mit Junos OS Version 20.3R1 oder höher können Sie den Befehl aktivieren, um die [set chassis loopback-firewall-optimization
Standardsystemgrenze für Loopback-Filterbegriffe auf 768 für IPv6 und 1152 Begriffe für IPv4 zu erhöhen.
Filtertyp | QFX3500, QFX3600 | QFX5100, EX4600 | QFX5120, EX4650 | QFX5110 | QFX5200, QFX5210, QFX5220 | QFX10000 |
Eindringen |
768 |
1536 |
1536 |
6144 |
768 |
8.192 |
Ausstieg |
1024 |
1024 |
2048 |
1024 oder 2048 |
1024 512 (QFX5220) |
8.192 |
So erhöhen Sie die Anzahl der Firewall-Filter
Sie können die Anzahl der Firewall-Filter auf Ihrem Gerät auf mehrere Arten erhöhen:
(QFX5220) Um mehr als 512 Ausgangs-VLAN-Filter zu erstellen, geben Sie die erste VLAN-ID als 6, die zweite VLAN-ID als 7, die dritte VLAN-ID als 5 und so weiter an. Für jedes konfigurierte VLAN steigt die Anzahl um 1 und setzt sich über DIE VLAN-ID 1029 fort. Wenn Sie weniger als 512 Ausgehende VLAN-Filter erstellen möchten, die Gesamtzahl der Begriffe in diesen Filtern jedoch mehr als 512 beträgt, stellen Sie sicher, dass Sie Ihre VLAN-IDs auf dieselbe Weise nummerieren. Andernfalls beträgt die Gesamtzahl der zulässigen Begriffe oder Filter weniger als 1024 und bleibt bei 512.
Ab Junos OS Version 19.1R1 können Sie die Anzahl der Ausgehenden VLAN-Firewall-Filter auf dem QFX5110 von 1024 auf 2048 erhöhen, indem Sie die
egress-to-ingress
Option verwenden. Sie fügen diese Option unter derfrom
Anweisung in der Hierarchie ein[edit firewall]
.Ab Junos OS Evolved Release 19.4R2 können Sie bis zu 2.000 Ausgangs-Firewall-Filter auf dem QFX5220 konfigurieren, indem Sie die
egress-scale
Option unter dereracl-profile
Anweisung auf[edit system packet-forwarding-option firewall]
Hierarchieebene integrieren. Diese Funktion wird nur in Ausgangsrichtung unterstützt (gerouteten Datenverkehr, der das Gerät verlässt).Berücksichtigen Sie bei der Konfiguration dieser Funktion Folgendes:
Sie können keine Filter mit den gleichen Übereinstimmungsbedingungen auf verschiedene Ausgangs-VLANs oder Layer-3-Schnittstellen anwenden.
Sie können keine Ausgangsskalierung auf GRE-Schnittstellen anwenden.
Wenn ein Paket mehrere Filter mit unterschiedlichen Qualifizierern erfüllt und Sie auf verschiedene Ausgangsschnittstellen angewendet werden, kann dies zu unvorhersehbaren Verhaltensweisen führen.
Sie können die
egress-scale
Option nur im globalen Modus konfigurieren. Die neue Cli-Konfiguration wird im globalen Modus bereitgestellt. Sobald ein Benutzer die ERACL-Gruppe im Ausgangsskalierungsmodus (Egress to Ingress) konfiguriert, kann er die ERACL nicht mehr auf die ältere Weise konfigurieren, d. h. ohne verwendung von IFP-tcam-Speicherplatz. Mit anderen Worten, ERACL im gemischten Modus wird nicht unterstützt.
TCAM
Ternary Content Addressable Memory (TCAM) für Firewall-Filter ist in Slices unterteilt, die 256 Begriffe erfüllen. Wenn Sie einen Firewall-Filter konfigurieren, müssen alle Begriffe in einem Speicher-Slice in Filter desselben Typs enthalten und in derselben Richtung angewendet werden. Ein Speicher-Slice wird reserviert, sobald Sie einen Filter festlegen. Wenn Sie beispielsweise einen Portfilter erstellen und ihn in Eingaberichtung anwenden, wird ein Speicherbereich reserviert, in dem nur Eingangsportfilter gespeichert werden. Wenn Sie nur einen Eingangsport-Filter erstellen und anwenden, und dieser Filter hat nur einen Begriff, wird der Rest dieses Slices nicht verwendet und ist für andere Filtertypen nicht verfügbar.
In einer EVPN-Umgebung unterstützen Switches der QFX5200-Serie bis zu 512 TCAM-Einträge.
Nehmen wir beispielsweise an, dass Sie 256 Eingangsportfilter mit jeweils einem Begriff erstellen und anwenden, sodass ein Speicher-Slice gefüllt ist. Dadurch bleiben zwei weitere Speicher-Slices für Eingangsfilter verfügbar. (In diesem Fall beträgt die maximale Anzahl der Eingangsbedingungen 768.) Wenn Sie dann einen Eingangs-Layer-3-Filter mit einem Begriff erstellen und anwenden, ist ein weiterer Speicher-Slice für eingehende Layer-3-Filter reserviert. Wie zuvor ist der Rest des Slices ungenutzt und für verschiedene Filtertypen nicht verfügbar. Jetzt steht für jeden Eingangsfiltertyp ein Speicher-Slice zur Verfügung.
Gehen Sie nun davon aus, dass Sie einen VLAN-Eingangsfilter erstellen und anwenden. Der letzte Speicher-Slice ist für VLAN-Eingangsfilter reserviert. Die Speicherzuweisung für Eingangsfilter (einmal mehr unter der Annahme eines Begriffs pro Filter) lautet:
Slice 1: Gefüllt mit 256 Eingangs-Port-Filtern. Sie können keine eingehenden Portfilter mehr festlegen.
Slice 2: Enthält einen Eingangs-Layer-3-Filter mit einem Begriff. Sie können 255 weitere Begriffe in Eingangs-Layer-3-Filtern festlegen.
Slice 3: Enthält einen eingehenden VLAN-Filter mit einem Begriff. Sie können 255 weitere Begriffe in eingehenden VLAN-Filtern festlegen.
Hier ist ein weiteres Beispiel. Nehmen wir an, Sie erstellen 257 Eingangsportfilter mit einem Begriff pro Filter – das heißt, Sie erstellen einen weiteren Begriff, als ein einzelner Speicher-Slice unterstützt werden kann. Wenn Sie die Filter anwenden und die Konfiguration bestätigen, lautet die Filterspeicherzuweisung:
Slice 1: Gefüllt mit 256 Eingangs-Port-Filtern. Sie können keine eingehenden Portfilter mehr anwenden.
Slice 2: Enthält einen Eingangsportfilter. Sie können 255 weitere Begriffe in Eingangsportfiltern anwenden.
Slice 3: Dieser Slice ist nicht zugewiesen. Sie können 256 Begriffe in Eingangsfiltern jeder Art (Port, Layer 3 oder VLAN) erstellen und anwenden, aber alle Filter müssen vom gleichen Typ sein.
Alle oben genannten Beispiele gelten auch für Ausgangsfilter. Der Unterschied besteht darin, dass vier Speicher-Slices verwendet werden, da IPv4- und IPv6-Layer-3-Filter in separaten Slices gespeichert sind. Die Speicher-Slices für Ausgangsfilter haben dieselbe Größe wie für Eingangsfilter, sodass die maximale Anzahl von Filtern gleich ist (1024).
Vermeiden Sie die Konfiguration zu vieler Filter
Wenn Sie gegen eine dieser Einschränkungen verstoßen und eine Konfiguration festlegen, die nicht den Anforderungen entspricht, lehnt Junos OS die übermäßigen Filter ab. Wenn Sie beispielsweise 300 Eingangsport-Filter und 300 Eingangs-Layer-3-Filter konfigurieren und versuchen, die Konfiguration zu bestätigen, übernimmt Junos OS folgendes (wiederum unter der Annahme eines Begriffs pro Filter):
Akzeptiert die 300 Eingangsport-Filter (die in zwei Speicher-Slices gespeichert werden).
Akzeptiert die ersten 256 eingehenden Layer-3-Filter, die es verarbeitet (speichert sie im dritten Speicher-Slice).
Lehnt die restlichen 44 eingehenden Layer-3-Filter ab.
Stellen Sie sicher, dass Sie die exzessiven Filter (z. B. die restlichen 44 eingehenden Layer-3-Filter) aus der Konfiguration löschen, bevor Sie das Gerät neu starten. Wenn Sie ein Gerät mit einer nicht konformen Konfiguration neu starten, ist es schwer vorherzusagen, welche Filter nach dem Neustart installiert wurden. Im obigen Beispiel können die 44 eingehenden Layer-3-Filter installiert werden, die ursprünglich abgelehnt wurden, und 44 der ursprünglich akzeptierten Portfilter werden abgelehnt.
Konfigurieren von TCAM-Fehlermeldungen
Wenn Ihnen kein TCAM-Speicherplatz zur Installation eines Firewall-Filters fehlt, können Sie Den Switch so konfigurieren, dass Fehlermeldungen auf folgende Weise gesendet werden:
Geben Sie die Eingabe
set system syslog file filename pfe emergency
ein, um Fehlermeldungen an eine Syslog-Datei zu senden.Geben Sie die Eingabe
set system syslog console pfe emergency
ein, um Fehlermeldungen an die Konsole zu senden.Geben Sie ein
set system syslog user user-login pfe emergency
, um Fehlermeldungen an eine SSH-Terminalsitzung zu senden.
So erhöhen Sie die Skalierbarkeit von Firewall-Filtern mithilfe von Profilen
Wenn Sie einen Firewall-Filter konfigurieren, bietet die Begriffsaussage in der Konfiguration der Firewallfilter einen umfangreichen Satz von Übereinstimmungsbedingungen. Übereinstimmungsbedingungen sind die Felder und Werte, die ein Paket enthalten muss, um als Übereinstimmung betrachtet zu werden. Sie können eine einzelne oder mehrere Übereinstimmungsbedingungen basierend auf Ihrer Anforderung definieren. Wenn ein Paket mit einem Filter übereinstimmt, führt das Gerät die im Begriff angegebene Aktion aus. Die Skalierbarkeit von Firewall-Filtern hängt im Allgemeinen von der Anzahl der verwendeten Übereinstimmungsbedingungen ab.
In typischen Bereitstellungsszenarien müssen Sie nur einen Teil der Übereinstimmungsbedingungen verwenden. Mit der Einführung von Profilen können Sie eines der verfügbaren Firewall-Filterprofile mit vordefinierten Übereinstimmungsbedingungen verwenden, um die Anzahl der verwendeten Firewall-Filter zu erhöhen, um eine maximale Skalierung zu erreichen.
Sie können Firewall-Filterprofile für die Produktfamilie Inet und Ethernet-basiertes Switching konfigurieren. Verwenden Sie die Konfigurationsaussage der Profile auf der Hierarchieebene [Systempaketweiterleitungsoptionen Firewall bearbeiten], um Firewall-Filterprofile zu konfigurieren.
Wenn Sie Änderungen an den Firewall-Filterprofilen vornehmen, entweder durch Auswahl eines Profils oder durch den Wechsel von einem Profil in ein anderes, wird die Paketweiterleitungs-Engine neu gestartet, was zu einer Unterbrechung des Datenverkehrsstroms führt.
In der folgenden Tabelle werden die Firewall-Filterprofile und die vordefinierten Übereinstimmungsbedingungen für inet- und Ethernet-basiertes Switching beschrieben.
Familientyp | Firewall-Filterprofile | Übereinstimmungsbedingung (vordefiniert) | Konfigurationshierarchie |
---|---|---|---|
inet (IPv4/IPv6) | profile1 |
IP-Source-Prefix-Liste Protokoll Next-Header Quell-Port Ziel-Port erstes Fragment is-Fragment icmp-Code icmp-Typ tcp-eingerichtet tcp-initial TCP-Flags |
[edit system packet-forwarding-options firewall profiles inet profile1 ] |
profile2 |
IP-Quell-Adresse ip6-source-address IP-Source-Prefix-Liste ip6-source-prefix-list Protokoll Next-Header Quell-Port Ziel-Port erstes Fragment is-Fragment icmp-Code icmp-Typ tcp-eingerichtet tcp-initial TCP-Flags Dscp Vorrang Traffic-Klasse Ttl Hop-Limit |
[edit system packet-forwarding-options firewall profiles inet profile2 ] |
|
Ethernet-Switching | profile1 |
Quell-Mac-Adresse Ziel-Mac-Adresse |
[edit system packet-forwarding-options firewall profiles ethernet-switching profile1 ] |
profil2 |
Quell-Mac-Adresse Ziel-Mac-Adresse Ether-Typ IP-Quell-Adresse IP-Source-Prefix-Liste IP-Protokoll Quell-Port Ziel-Port Next-Header |
[edit system packet-forwarding-options firewall profiles ethernet-switching profile2 ] |
|
Wenn Sie ein Firewall-Filterprofil auswählen, müssen Sie eine Übereinstimmungsbedingung anwenden, die Teil der vordefinierten Übereinstimmungsbedingung ist. Wenn Sie eine Übereinstimmungsbedingung anwenden, die nicht Teil der vordefinierten Übereinstimmungsbedingung des Firewall-Filterprofils ist, tritt ein Commit-Fehler auf. Wenn Sie beispielsweise für inet-Filter auswählen profile1
und die Übereinstimmungsbedingung als ip-destination-address
anwenden, die nicht Teil der vordefinierten Übereinstimmungsbedingung ist, wird während des Commit-Vorgangs ein Fehler angezeigt, der besagt, dass die ip-destination-address
Übereinstimmung nicht Teil von profile1
inet-Filter ist.
Sie können den show pfe filter hw profile-info
CLI-Befehl verwenden, um die Details der Firewall-Filterprofile anzuzeigen.
Um eine maximale Firewall-Filtergröße zu erreichen, wird empfohlen, Filter auf Schnittstellenebene (Layer 2 oder Layer 3) anzuwenden und die Filter gleichmäßig auf die Schnittstellen verschiedener Paketverarbeitungs-Pipelines zu verteilen. Jeder Satz von Schnittstellen wird einer Paketverarbeitungspipeline zugeordnet, die die auf diesen Schnittstellen empfangenen Pakete verarbeitet. In diesem Fall werden die Firewall-Filter im TCAM-Speicherplatz der Paketverarbeitungspipeline installiert, der der jeweiligen Schnittstelle zugeordnet ist.
Wenn ein Paket in eine Schnittstelle gelangt, führt der Firewall-Filter Filteraktionen für das Paket in der Paketverarbeitungs-Pipeline basierend auf den Übereinstimmungsbedingungen aus, bevor er eine Ausgangsschnittstelle verlässt. Wenn Pakete über mehrere Schnittstellen in ein Gerät gelangen, führt der Firewall-Filter Filteraktionen für die Pakete durch, die die jeweiligen Paketverarbeitungs-Pipelines passieren. Die Filter auf Schnittstellenebene sind gleichmäßig auf die Schnittstellen verschiedener Paketverarbeitungs-Pipelines verteilt, ergibt eine bessere Skalierung
Sie können den show pfe filter hw port-pipe-info
CLI-Befehl verwenden, um die Details der Paketverarbeitungspipeline anzuzeigen, der jede physische Schnittstelle zugeordnet ist. Die Ausgabe dieses CLI-Befehls liefert auch Informationen zu den Firewall-Filtern, die in einer Paketverarbeitungspipeline installiert sind. Sie können diese Informationen verwenden, um Firewall-Filter über Pipelines hinweg zu planen und zu verteilen, um eine maximale Skalierbarkeit zu erreichen.
Die folgende Beispielausgabe des show pfe filter hw port-pipe-info
CLI-Befehls zeigt die Details der Paketverarbeitungspipeline, der jeder physischen Schnittstelle zugeordnet ist:
user@host> show pfe filter hw port-pipe-info IFD Pipe et-0/0/0 1 et-0/0/1 1 ... et-0/0/10 0
So können Policer Ausgangsfilter begrenzen
Bei einigen Switches kann sich die Anzahl der von Ihnen konfigurierten Ausgangs-Policer auf die Gesamtzahl der zulässigen Ausgangs-Firewall-Filter auswirken. Jeder Policer verfügt über zwei implizite Zähler, die zwei Einträge in einem TCAM mit 1024 Einträgen aufnehmen. Diese werden für Zähler verwendet, einschließlich Zähler, die in den Begriffen der Firewall-Filter als Aktionsmodifizierer konfiguriert sind. (Policer verbrauchen zwei Einträge, da eine für grüne Pakete und eine für nichtgrüne Pakete verwendet wird, unabhängig vom Policer-Typ.) Wenn das TCAM voll ist, können Sie keine weiteren Ausgangs-Firewall-Filter mit Zählern festlegen. Wenn Sie beispielsweise 512 Ausgangs-Policer (zweifarbig, dreifarbig oder eine Kombination aus beiden Policer-Typen) konfigurieren und festlegen, werden alle Speichereinträge für Zähler aufgebraucht. Wenn Sie zu einem späteren Zeitpunkt in Ihrer Konfigurationsdatei zusätzliche Ausgangs-Firewall-Filter mit Begriffen einfügen, die auch Zähler enthalten, wird keiner der Begriffe in diesen Filtern festgelegt, da für die Leistungsindikatoren kein Speicherplatz verfügbar ist.
Hier sind einige weitere Beispiele:
Gehen Sie davon aus, dass Sie Ausgangsfilter konfigurieren, die insgesamt 512 Policer und keine Zähler enthalten. Später fügen Sie in Ihrer Konfigurationsdatei einen weiteren Ausgangsfilter mit 10 Begriffen hinzu, von denen 1 über einen Modifizierer für Zähleraktionen verfügt. Keiner der Begriffe in diesem Filter wird festgelegt, da es nicht genügend TCAM-Platz für den Zähler gibt.
Gehen Sie davon aus, dass Sie Ausgangsfilter konfigurieren, die insgesamt 500 Policer umfassen, sodass 1000 TCAM-Einträge belegt sind. Später in Ihrer Konfigurationsdatei schließen Sie die folgenden zwei Ausgangsfilter ein:
Filter A mit 20 Begriffen und 20 Zählern. Alle Begriffe in diesem Filter werden festgelegt, da genügend TCAM-Platz für alle Zähler vorhanden ist.
Filter B kommt nach Filter A und hat fünf Begriffe und fünf Zähler. Keiner der Begriffe in diesem Filter wird festgelegt, da nicht genügend Speicherplatz für alle Zähler vorhanden ist. (Es sind fünf TCAM-Einträge erforderlich, aber nur vier sind verfügbar.)
Sie können dieses Problem verhindern, indem Sie sicherstellen, dass Ausgangs-Firewall-Filterbegriffe mit Gegenmaßnahmen früher in Ihrer Konfigurationsdatei platziert sind als Begriffe, die Policer enthalten. In diesem Fall begeht Junos OS Policer, auch wenn nicht genügend TCAM-Speicherplatz für die impliziten Zähler vorhanden ist. Nehmen wir zum Beispiel folgendes an:
Sie haben 1024 Ausgangs-Firewall-Filterbegriffe mit Gegenmaßnahmen.
Später in Ihrer Konfigurationsdatei haben Sie einen Ausgangsfilter mit 10 Begriffen. Keiner der Begriffe hat Zähler, aber einer hat einen Policer Action-Modifizierer.
Sie können den Filter mit 10 Begriffen erfolgreich festlegen, obwohl nicht genügend TCAM-Speicherplatz für die impliziten Zähler des Policers vorhanden ist. Der Polizist wird ohne Gegenwehr engagiert.
Planung für filterspezifische Policer
Sie können Policer so konfigurieren, dass sie filterspezifisch sind. Das bedeutet, dass Junos OS nur eine Policer-Instanz erstellt, unabhängig davon, wie oft auf den Policer verwiesen wird. Wenn Sie dies tun, wird die Geschwindigkeitsbegrenzung aggregiert angewendet. Wenn Sie also einen Policer so konfigurieren, dass Datenverkehr über 1 Gbit/s verworfen und diesen Policer in drei verschiedenen Begriffen referenziert wird, beträgt die vom Filter zulässige Gesamtbandbreite 1 Gbit/s. Das Verhalten eines filterspezifischen Policers wird jedoch dadurch beeinflusst, wie die Firewall-Filterbegriffe, die auf den Policer verweisen, im ternary Content Addressable Memory (TCAM) gespeichert werden. Wenn Sie einen filterspezifischen Policer erstellen und ihn in mehreren Firewall-Filterbegriffen referenzieren, erlaubt der Policer mehr Datenverkehr als erwartet, wenn die Begriffe in verschiedenen TCAM-Slices gespeichert sind. Wenn Sie beispielsweise einen Policer konfigurieren, um Datenverkehr über 1 Gbit/s zu verwerfen und auf diesen Policer in drei verschiedenen Begriffen zu verweisen, die in drei separaten Speicher-Slices gespeichert sind, beträgt die vom Filter zulässige Gesamtbandbreite 3 Gbit/s und nicht 1 Gbit/s.
Um dieses unerwartete Verhalten zu verhindern, verwenden Sie die oben genannten Informationen zu TCAM-Slices, um die Konfigurationsdatei so zu organisieren, dass alle Firewall-Filterbegriffe, die auf einen bestimmten filterspezifischen Policer verweisen, im selben TCAM-Slice gespeichert werden.
Planung der filterbasierten Weiterleitung
Sie können Firewall-Filter zusammen mit virtuellen Routing-Instanzen verwenden, um verschiedene Routen für Pakete anzugeben, die in ihren Netzwerken weitergeleitet werden sollen. Zum Einrichten dieser Funktion , der sogenannten filterbasierten Weiterleitung, geben Sie einen Filter und die Übereinstimmungskriterien an und geben dann die virtuelle Routing-Instanz an, an die Pakete gesendet werden sollen. Filter, die auf diese Weise verwendet werden, verbrauchen auch Speicher in einem zusätzlichen TCAM. Weitere Informationen finden Sie unter Grundlegendes zu FIP-Snooping, FBF und MVR-Filter-Skalierbarkeit . Der Abschnitt FBF-Filter VFP-TCAM-Verbrauch in diesem Thema befasst sich speziell mit der Anzahl der unterstützten Filter bei der Verwendung einer filterbasierten Weiterleitung.
Filterbasierte Weiterleitung funktioniert nicht mit IPv6-Schnittstellen auf einigen Juniper Switches.
egress-scale
Option unter der eracl-profile
Anweisung auf [edit system packet-forwarding-option firewall]
Hierarchieebene integrieren.egress-to-ingress
Option verwenden.