Beispiel: Verwenden von zweifarbigen Policern und Präfixlisten
Wenn Sie internen oder externen Kunden bestimmte Bandbreitenmengen zur Verfügung stellen, können Sie mithilfe der Überwachung sicherstellen, dass Kunden nicht mehr Bandbreite verbrauchen, als sie erhalten sollten. Angenommen, Sie verbinden viele Kunden mit einer 10-Gbit/s-Schnittstelle und möchten sicherstellen, dass keiner von ihnen die Schnittstelle überlastet, indem er mehr Bandbreite als ihnen zugewiesen nutzt.
Sie können dies erreichen, indem Sie für jeden Kunden einen zweifarbigen Policer ähnlich dem folgenden erstellen:
firewall { policer Limit-Customer-1 { if-exceeding { bandwidth-limit 100m; burst-size-limit 150m; } then discard; }
Die Erstellung eines Policers für jeden Kunden ist jedoch eindeutig keine skalierbare Lösung. Alternativ können Sie Präfixlisten erstellen, die Kundenklassen gruppieren, und dann Policer für jede Präfixliste erstellen. Sie können z. B. Präfixlisten wie , , und (auf der Hierarchieebene) erstellen und die folgenden entsprechenden Policer erstellen:Class-A-Customer-PrefixesClass-B-Customer-PrefixesClass-C-Customer-Prefixes[edit policy-options]
firewall { policer Class-A { if-exceeding { bandwidth-limit 100m; burst-size-limit 150m; } then discard; } policer Class-B { if-exceeding { bandwidth-limit 75m; burst-size-limit 100m; } then discard; } policer Class-C { if-exceeding { bandwidth-limit 50m; burst-size-limit 75m; } then discard; } }
Sie müssen Filterbegriffe erstellen, die die Präfixlisten in ihren Anweisungen und die entsprechenden Policer in ihren Anweisungen ähnlich wie folgt angeben:from
then
firewall family inet { filter Class-A-Customers { term term-1 { from { destination-prefix-list { Class-A-Customer-Prefixes; } } then policer Class-A; } } filter Class-B-Customers { term term-1 { from { destination-prefix-list { Class-B-Customer-Prefixes; } } then policer Class-B; } } filter Class-C-Customers { term term-1 { from { destination-prefix-list { Class-C-Customer-Prefixes; } } then policer Class-C; } } }
Hier sind die Schritte zum Erstellen dieser Firewall-Konfiguration:
Erstelle den ersten Policer:
[edit firewall] user@switch# set policer Class-A if-exceeding bandwidth-limit 100m burst-size-limit 150m user@switch# set policer Class-A then discard
Erstellen Sie den zweiten Policer:
[edit firewall] user@switch# set policer Class-B if-exceeding bandwidth-limit 75m burst-size-limit 100m user@switch# set policer Class-B then discard
Erstellen Sie den dritten Policer:
[edit firewall] user@switch# set policer Class-C if-exceeding bandwidth-limit 50m burst-size-limit 75m user@switch# set policer Class-C then discard
Erstellen Sie einen Filter für Kunden der Klasse A:
[edit firewall] user@switch# edit family inet filter Class-A-Customers
Konfigurieren Sie den Filter so, dass Pakete, die der Präfixliste entsprechen, an den Policer gesendet werden:Class-A-Customer-PrefixesClass-A
[edit firewall family inet filter Class-A-Customers] user@switch# set term term-1 from source-prefix-list Class-A-Customers user@switch# set term term-1 then policer Class-A
Erstellen Sie einen Filter für Kunden der Klasse B:
[edit firewall] user@switch# edit family inet filter Class-B-Customers
Konfigurieren Sie den Filter so, dass Pakete, die der Präfixliste entsprechen, an den Policer gesendet werden:Class-B-Customer-PrefixesClass-B
[edit firewall family inet filter Class-B-Customers] user@switch# set term term-1 from source-prefix-list Class-B-Customers user@switch# set term term-1 then policer Class-B
Erstellen Sie einen Filter für Kunden der Klasse C:
[edit firewall] user@switch# edit family inet filter Class-C-Customers
Konfigurieren Sie den Filter so, dass Pakete, die der Präfixliste entsprechen, an den Policer gesendet werden:Class-C-Customer-PrefixesClass-C
[edit firewall family inet filter Class-C-Customers] user@switch# set term term-1 from source-prefix-list Class-C-Customers user@switch# set term term-1 then policer Class-C
Wenden Sie die von Ihnen erstellten Filter auf die entsprechenden Schnittstellen in Ausgaberichtung an.
Beachten Sie, dass die implizite deny-Anweisung in diesem Filter den Datenverkehr von allen Quellen blockiert, die nicht mit einer der Präfixlisten übereinstimmen. Wenn der Filter diesen Datenverkehr zulassen soll, müssen Sie einen expliziten Begriff für diesen Zweck angeben.