Auf dieser Seite
Beispiel: Konfigurieren eines zustandslosen Firewallfilters zum Schutz eines logischen Systems vor ICMP-Floods
In diesem Beispiel wird gezeigt, wie ein zustandsloser Firewallfilter konfiguriert wird, der vor ICMP-Denial-of-Service-Angriffen auf ein logisches System schützt.
Anforderungen
In diesem Beispiel ist keine spezielle Konfiguration erforderlich, die über die Geräteinitialisierung hinausgeht.
Überblick
Dieses Beispiel zeigt einen zustandslosen Firewallfilter namens protect-RE, der ICMP-Pakete überwacht. Dies begrenzt die Datenverkehrsrate der ICMP-Pakete auf 1.000.000 bps und die Burst-Größe auf 15.000 Byte.icmp-policer
Pakete, die die Datenverkehrsrate überschreiten, werden verworfen.
Der Policer wird in die Aktion eines Filterbegriffs namens integriert .icmp-term
In diesem Beispiel wird ein Ping von einem direkt verbundenen physischen Router an die auf dem logischen System konfigurierte Schnittstelle gesendet. Das logische System akzeptiert die ICMP-Pakete, wenn sie mit einer Rate von bis zu 1 Mbit/s (Bandbreitengrenze) empfangen werden. Das logische System verwirft alle ICMP-Pakete, wenn diese Rate überschritten wird. Die Anweisung akzeptiert Datenverkehrsspitzen von bis zu 15 Kbit/s.burst-size-limit
Wenn Bursts diesen Grenzwert überschreiten, werden alle Pakete verworfen. Wenn die Flussrate nachlässt, werden ICMP-Pakete wieder akzeptiert.
Topologie
Abbildung 1 Zeigt die in diesem Beispiel verwendete Topologie.
Konfiguration
CLI-Schnellkonfiguration
Um dieses Beispiel schnell zu konfigurieren, kopieren Sie die folgenden Befehle, fügen Sie sie in eine Textdatei ein, entfernen Sie alle Zeilenumbrüche, ändern Sie alle Details, die für Ihre Netzwerkkonfiguration erforderlich sind, und kopieren Sie dann die Befehle und fügen Sie sie in die CLI auf Hierarchieebene ein.[edit]
set logical-systems LS1 interfaces so-0/0/2 unit 0 family inet policer input icmp-policer set logical-systems LS1 interfaces so-0/0/2 unit 0 family inet address 10.0.45.2/30 set logical-systems LS1 firewall family inet filter protect-RE term icmp-term from protocol icmp set logical-systems LS1 firewall family inet filter protect-RE term icmp-term then policer icmp-policer set logical-systems LS1 firewall family inet filter protect-RE term icmp-term then accept set logical-systems LS1 firewall policer icmp-policer if-exceeding bandwidth-limit 1m set logical-systems LS1 firewall policer icmp-policer if-exceeding burst-size-limit 15k set logical-systems LS1 firewall policer icmp-policer then discard
Verfahren
Schritt-für-Schritt-Anleitung
Im folgenden Beispiel müssen Sie durch verschiedene Ebenen in der Konfigurationshierarchie navigieren. Weitere Informationen zum Navigieren in der CLI finden Sie unter Verwenden des CLI-Editors im Konfigurationsmodus im CLI-Benutzerhandbuch.Verwenden des CLI-Editors im Konfigurationsmodushttps://www.juniper.net/documentation/en_US/junos/information-products/pathway-pages/junos-cli/junos-cli.html
So konfigurieren Sie einen ICMP-Firewallfilter auf einem logischen System:
Konfigurieren Sie die Schnittstelle auf dem logischen System.
[edit] user@host# set logical-systems LS1 interfaces so-0/0/2 unit 0 family inet address 10.0.45.2/30
Aktivieren Sie explizit den Empfang von ICMP-Paketen auf der Schnittstelle.
[edit] user@host# set logical-systems LS1 firewall family inet filter protect-RE term icmp-term from protocol icmp user@host# set logical-systems LS1 firewall family inet filter protect-RE term icmp-term then accept
Erstelle den Policer.
[edit] user@host# set logical-systems LS1 firewall policer icmp-policer if-exceeding bandwidth-limit 1m user@host# set logical-systems LS1 firewall policer icmp-policer if-exceeding burst-size-limit 15k user@host# set logical-systems LS1 firewall policer icmp-policer then discard
Wenden Sie den Policer auf einen Filterbegriff an.
[edit] user@host# set logical-systems LS1 firewall family inet filter protect-RE term icmp-term then policer icmp-policer
Wenden Sie den Policer auf die logische Systemschnittstelle an.
[edit] user@host# set logical-systems LS1 interfaces so-0/0/2 unit 0 family inet policer input icmp-policer
Wenn Sie mit der Konfiguration des Geräts fertig sind, bestätigen Sie die Konfiguration.
[edit] user@host# commit
Ergebnisse
Bestätigen Sie Ihre Konfiguration, indem Sie den Befehl eingeben.show logical-systems LS1
user@host# show logical-systems LS1 interfaces { so-0/0/2 { unit 0 { family inet { policer { input icmp-policer; } address 10.0.45.2/30; } } } } firewall { family inet { filter protect-RE { term icmp-term { from { protocol icmp; } then { policer icmp-policer; accept; } } } } policer icmp-policer { if-exceeding { bandwidth-limit 1m; burst-size-limit 15k; } then discard; } }
Überprüfung
Vergewissern Sie sich, dass die Konfiguration ordnungsgemäß funktioniert.
Überprüfen, ob der Ping funktioniert, es sei denn, die Grenzwerte werden überschritten
Zweck
Stellen Sie sicher, dass die logische Systemschnittstelle vor ICMP-basierten DoS-Angriffen geschützt ist.
Was
Melden Sie sich bei einem System an, das mit dem logischen System verbunden ist, und führen Sie den Befehl aus.ping
user@R2> ping 10.0.45.2 PING 10.0.45.2 (10.0.45.2): 56 data bytes 64 bytes from 10.0.45.2: icmp_seq=0 ttl=64 time=1.316 ms 64 bytes from 10.0.45.2: icmp_seq=1 ttl=64 time=1.277 ms 64 bytes from 10.0.45.2: icmp_seq=2 ttl=64 time=1.269 ms
user@R2> ping 10.0.45.2 size 20000 PING 10.0.45.2 (10.0.45.2): 20000 data bytes ^C --- 10.0.45.2 ping statistics --- 4 packets transmitted, 0 packets received, 100% packet loss
Bedeutung
Wenn Sie einen normalen Ping senden, wird das Paket akzeptiert. Wenn Sie ein Ping-Paket senden, das das Filterlimit überschreitet, wird das Paket verworfen.