ICMP-Funktionen
ZUSAMMENFASSUNG Verwenden Sie ICMP-Funktionen (Internet Control Message Protocol), um Netzwerkprobleme zu diagnostizieren und die Erreichbarkeit von Geräten zu überprüfen.
Verwenden Sie den Funktions-Explorer , um die Plattform- und Releaseunterstützung für bestimmte Features zu bestätigen.
Protokollumleitungsnachrichten
ICMP-Umleitung, auch bekannt als Protokollumleitung, ist ein Mechanismus, der von Switches und Routern verwendet wird, um Routing-Informationen an Hosts zu übermitteln. Geräte verwenden Protokollumleitungsnachrichten, um die Hosts auf derselben Datenverbindung über die beste verfügbare Route für ein bestimmtes Ziel zu informieren.
Grundlegendes zu Protokollumleitungsnachrichten
Protokollumleitungsnachrichten weisen einen Host an, seine Routing-Informationen zu aktualisieren und Pakete auf einer alternativen Route zu senden. Angenommen, ein Host versucht, ein Datenpaket über einen Switch S1 zu senden, und S1 sendet das Datenpaket an einen anderen Switch, S2. Angenommen, es ist ein direkter Pfad vom Host zu S2 verfügbar (d. h., der Host und S2 befinden sich im selben Ethernet-Segment). S1 sendet dann eine Protokollumleitungsnachricht, um den Host darüber zu informieren, dass die beste Route für das Ziel die direkte Route zu S2 ist. Der Host sollte dann Pakete direkt an S2 senden, anstatt sie über S1 zu senden. S2 sendet weiterhin das ursprüngliche Paket, das es von S1 empfangen hat, an das beabsichtigte Ziel.
Weitere Informationen zur Protokollumleitung finden Sie unter RFC-1122 und RFC-4861 .
-
Switches senden keine Protokollumleitungsnachrichten, wenn das Datenpaket Routing-Informationen enthält.
-
Alle Switches der EX-Serie unterstützen das Senden von Protokollumleitungsnachrichten sowohl für IPv4- als auch für IPv6-Datenverkehr.
Deaktivieren von Protokollumleitungsnachrichten
Standardmäßig senden Geräte Protokollumleitungsnachrichten sowohl für IPv4- als auch für IPv6-Datenverkehr. Aus Sicherheitsgründen können Sie das Senden von Protokollumleitungsnachrichten durch das Gerät deaktivieren.
Um Protokollumleitungsnachrichten für das gesamte Gerät zu deaktivieren, fügen Sie die no-redirects
oder-Anweisung no-redirects-ipv6
auf Hierarchieebene [edit system]
ein.
-
Für IPv4-Datenverkehr:
[edit system] user@host# set no-redirects
-
Für IPv6-Datenverkehr:
[edit system] user@host# set no-redirects-ipv6
Um das Senden von Umleitungsnachrichten auf dem Gerät wieder zu aktivieren, löschen Sie die no-redirects
Anweisung (für IPv4-Datenverkehr) oder die no-redirects-ipv6
Anweisung (für IPv6-Datenverkehr) aus der Konfiguration.
Um Protokollumleitungsnachrichten pro Schnittstelle zu deaktivieren, schließen Sie die no-redirects
Anweisung auf Hierarchieebene [edit interfaces interface-name unit logical-unit-number family family]
ein.
-
Für IPv4-Datenverkehr:
[edit interfaces interface-name unit logical-unit-number] user@host# set family inet no-redirects
-
Für IPv6-Datenverkehr:
[edit interfaces interface-name unit logical-unit-number] user@host# set family inet6 no-redirects
Pings
Pings verwenden ICMP. Ein erfolgreicher Ping liegt vor, wenn ein Gerät eine ICMP-Echoanforderung an ein Ziel sendet und das Ziel mit einer ICMP-Echoantwort antwortet. Es kann jedoch Situationen geben, in denen Sie nicht möchten, dass Ihr Gerät auf Ping-Anfragen reagiert.
- Deaktivieren der Routing-Engine-Antwort auf Multicast-Ping-Pakete
- Deaktivieren der Berichterstellung von IP-Adressen und Zeitstempeln in Ping-Antworten
Deaktivieren der Routing-Engine-Antwort auf Multicast-Ping-Pakete
Standardmäßig antwortet die Routing-Engine auf ICMP-Echoanforderungen, die an Multicast-Gruppenadressen gesendet werden. Indem Sie die Routing-Engine so konfigurieren, dass Multicast-Ping-Pakete ignoriert werden, können Sie verhindern, dass Unbefugte die Liste der Provider-Edge-Geräte (PE) im Netzwerk ermitteln.
Um zu verhindern, dass die Routing-Engine auf diese ICMP-Echoanforderungen reagiert, fügen Sie die no-multicast-echo
Anweisung auf Hierarchieebene [edit system]
ein:
[edit system] user@host# set no-multicast-echo
Deaktivieren der Berichterstellung von IP-Adressen und Zeitstempeln in Ping-Antworten
Wenn Sie den ping
Befehl mit der record-route
Option ausgeben, zeigt die Routing-Engine standardmäßig den Pfad der ICMP-Echoanforderungspakete und die Zeitstempel in den ICMP-Echoantworten an. Durch die Konfiguration der no-ping-record-route
Optionen und no-ping-timestamp
können Sie verhindern, dass Unbefugte Informationen über das Provider-Edge-Gerät (PE) und seine Loopback-Adresse ermitteln.
Sie können die Routing-Engine so konfigurieren, dass die Einstellung der record-route
Option im IP-Header der Ping-Anforderungspakete deaktiviert wird. Durch Deaktivieren der record-route
Option wird verhindert, dass die Routing-Engine den Pfad der ICMP-Echoanforderungspakete aufzeichnet und in der Antwort anzeigt.
Um die Routing-Engine so zu konfigurieren, dass die Einstellung der record route
Option deaktiviert wird, fügen Sie die no-ping-record-route
Anweisung auf Hierarchieebene [edit system]
ein:
[edit system] user@host# set no-ping-record-route
Um die Berichterstellung von Zeitstempeln in den ICMP-Echoantworten zu deaktivieren, fügen Sie die no-ping-time-stamp
Option auf Hierarchieebene [edit system]
hinzu:
[edit system] user@host# set no-ping-time-stamp
Quelllöschnachrichten
Wenn ein Gerät zu viele oder unerwünschte Datagramme empfängt, kann es eine Quelllöschnachricht an das Ursprungsgerät senden. Die Quelllöschnachricht signalisiert dem Ursprungsgerät, dass es die Menge des gesendeten Datenverkehrs reduzieren soll.
Standardmäßig reagiert das Gerät auf ICMP-Quelllöschmeldungen. Um ICMP-Quelllöschmeldungen zu ignorieren, fügen Sie die no-source-quench
Anweisung auf Hierarchieebene [edit system internet-options]
ein:
[edit system internet-options] no-source-quench;
Verwenden Sie die source-quench
folgende Anweisung, um das Ignorieren von ICMP-Quelllöschmeldungen zu beenden:
[edit system internet-options] source-quench;
Ablauf der Gültigkeitsdauer (TTL)
Der TTL-Wert (Time-to-Live) in einem Paket-Header bestimmt, wie lange das Paket durch das Netzwerk übertragen wird. Der TTL-Wert verringert sich mit jedem Gerät (oder Hop), das das Paket durchläuft. Wenn ein Gerät ein Paket mit einem TTL-Wert von 0 empfängt, wird das Paket verworfen. Die TTL-Ablaufnachricht wird mithilfe von ICMP gesendet.
Sie können Ihr Gerät so konfigurieren, dass es eine IPv4-Adresse als Quelladresse für ICMP-TTL-Ablauffehlermeldungen (Time-to-Live) verwendet. Dies bedeutet, dass Sie die Loopback-Adresse als Quelladresse als Reaktion auf ICMP-Fehlerpakete konfigurieren können. Dies ist nützlich, wenn Sie die Geräteadresse nicht für Traceroute-Zwecke verwenden können, weil Sie doppelte IPv4-Adressen in Ihrem Netzwerk haben.
Die Quelladresse muss eine IPv4-Adresse sein. Um die Quelladresse anzugeben, verwenden Sie die ttl-expired-source-address source-address
Option auf Hierarchieebene [edit system icmp (System)]
:
[edit system icmp] user@host# set ttl-expired-source-address source-address
Diese Konfiguration gilt nur für ICMP-TTL-Ablaufmeldungen. Andere ICMP-Fehlerantworten verwenden weiterhin die Adresse der Eingangsschnittstelle als Quelladresse.
Ratenbegrenzung ICMP-Datenverkehr
Um die Rate zu begrenzen, mit der ICMPv4- oder ICMPv6-Nachrichten vom Routingmodul generiert und an das Routingmodul gesendet werden können, fügen Sie die entsprechende Anweisung zur Ratenbegrenzung auf Hierarchieebene [edit system internet-options]
ein.
-
Für IPv4:
[edit system internet-options] icmpv4-rate-limit bucket-size bucket-size packet-rate packet-rate
-
Für IPv6:
[edit system internet-options] icmpv6-rate-limit bucket-size bucket-size packet-rate packet-rate
ICMP-Fehlermeldungen zur Ratenbegrenzung
Standardmäßig werden ICMP-Fehlermeldungen für IPv4- und IPv6-Pakete, die nicht TTL-abgelaufen sind, mit einer Rate von 1 Paket pro Sekunde (pps) generiert. Sie können diese Rate auf einen Wert einstellen, der Ihrer Meinung nach genügend Informationen für Ihr Netzwerk liefert, ohne dass es zu einer Überlastung des Netzwerks kommt.
Bei IPv4- oder IPv6-Paketen mit abgelaufener TTL kann die Rate für ICMP-Fehlermeldungen nicht konfiguriert werden. Es ist auf 500 pps festgelegt.
- Gründe für die Ratenbegrenzung ICMPv4- und ICMPv6-Fehlermeldungen
- So begrenzen Sie ICMPv4- und ICMPv6-Fehlermeldungen
Gründe für die Ratenbegrenzung ICMPv4- und ICMPv6-Fehlermeldungen
Ein Beispiel für einen Anwendungsfall für die Anpassung des Ratenlimits ist ein Datencenter, das Webservices bereitstellt. Angenommen, dieses Datencenter verfügt über viele Server im Netzwerk, die Jumbo-Frames mit einer MTU von 9100 Byte verwenden, wenn sie über das Internet mit Hosts kommunizieren. Diese anderen Hosts benötigen eine MTU von 1500 Byte. Wenn die maximale Segmentgröße (MSS) nicht auf beiden Seiten der Verbindung erzwungen wird, antwortet ein Server möglicherweise mit einem Paket, das zu groß ist, um über das Internet übertragen zu werden, ohne fragmentiert zu werden, wenn es den Edge-Router im Datencenter erreicht.
Da bei TCP/IP-Implementierungen die Pfad-MTU-Erkennung häufig standardmäßig aktiviert ist und das dont-fragment
Bit auf 1 gesetzt ist, verwirft ein Transitgerät ein zu großes Paket, anstatt es zu fragmentieren. Das Gerät gibt eine ICMP-Fehlermeldung zurück, die darauf hinweist, dass das Ziel nicht erreichbar war, weil das Paket zu groß war. Die Meldung enthält auch die MTU, die an der Stelle erforderlich ist, an der der Fehler aufgetreten ist. Der sendende Host sollte die sendende MSS für diese Verbindung anpassen und die Daten in kleineren Paketgrößen erneut senden, um das Fragmentierungsproblem zu vermeiden.
Bei hohen Geschwindigkeiten der Core-Schnittstelle reicht die standardmäßige Ratenbegrenzung von 1 pps für die Fehlermeldungen möglicherweise nicht aus, um alle Hosts zu benachrichtigen, wenn es viele Hosts im Netzwerk gibt, die diesen Service benötigen. Die Folge ist, dass ausgehende Pakete stillschweigend verworfen werden. Diese Aktion kann zusätzliche Neuübertragungen oder Backoff-Verhaltensweisen auslösen, abhängig vom Volumen der Anforderungen, die der Edge-Router des Datencenters auf jeder Core-Schnittstelle verarbeitet.
In diesem Fall können Sie die Ratenbegrenzung erhöhen, damit ein höheres Volumen an übergroßen Paketen die sendenden Hosts erreichen kann. (Das Hinzufügen weiterer Core-Schnittstellen kann ebenfalls zur Lösung des Problems beitragen.)
So begrenzen Sie ICMPv4- und ICMPv6-Fehlermeldungen
Obwohl Sie die Ratenbegrenzung auf Hierarchieebene [edit chassis]
konfigurieren, handelt es sich nicht um eine gehäuseweite Begrenzung. Stattdessen gilt die Ratenbegrenzung pro Schnittstellenfamilie. Dies bedeutet beispielsweise, dass mehrere physikalische Schnittstellen, die mit konfiguriert sind family inet
, gleichzeitig die ICMP-Fehlermeldungen mit der konfigurierten Rate erzeugen können.
Diese Ratenbegrenzung gilt nur für Datenverkehr, der mindestens 10 Sekunden dauert. Die Ratenbegrenzung wird nicht auf Datenverkehr mit einer kürzeren Dauer angewendet, z. B. 5 Sekunden oder 9 Sekunden.
-
Verwenden Sie die
icmp
folgende Anweisung, um die Ratenbegrenzung für ICMPv4 zu konfigurieren:[edit chassis] user@host# set icmp rate-limit rate-limit
Ab Junos OS Version 19.1R1 wurde die maximale Rate von 50 pps auf 1000 pps erhöht.
-
Verwenden Sie die
icmp6
folgende Anweisung, um die Ratenbegrenzung für ICMPv6 zu konfigurieren:[edit chassis] user@host# set icmp6 rate-limit rate-limit
Sie müssen auch berücksichtigen, dass der Ratengrenzwert mit Ihrer DDoS-Schutzkonfiguration interagieren kann. Der Standard-Bandbreitenwert für ausgenommene Pakete, die die MTU überschreiten, beträgt 250 pps. DDoS-Schutz kennzeichnet einen Verstoß, wenn die Anzahl der Pakete diesen Wert überschreitet. Wenn Sie die Ratenbegrenzung höher als den aktuellen mtu-exceeded
Bandbreitenwert festlegen, müssen Sie den Bandbreitenwert so konfigurieren, dass er mit der Ratenbegrenzung übereinstimmt.
Angenommen, Sie legen die ICMP-Ratenbegrenzung auf 300 pps fest:
user@host# set chassis icmp rate-limit 300
Sie müssen den DDoS-Schutz mtu-exceeded bandwidth
so konfigurieren, dass er diesem Wert entspricht.
user@host# set system ddos-protection protocols exceptions mtu-exceeded bandwidth 300