In diesem Dokument werden der "Code Red"-Wurm und die Probleme beschrieben, die der Wurm in einer Cisco Routing-Umgebung verursachen kann. In diesem Dokument werden auch Techniken zur Verhinderung eines Befalls durch Würmer beschrieben. Außerdem werden Links zu entsprechenden Ratgebern bereitgestellt, in denen Lösungen für wurmbezogene Probleme beschrieben werden.
Der Wurm "Code Red" nutzt eine Schwachstelle im Indexdienst des Microsoft Internet Information Server (IIS) Version 5.0 aus. Wenn der Wurm "Code Red" einen Host infiziert, veranlasst er diesen, eine zufällige Reihe von IP-Adressen zu untersuchen und zu infizieren, was zu einem starken Anstieg des Netzwerkverkehrs führt. Dies ist besonders problematisch, wenn redundante Verbindungen im Netzwerk vorhanden sind und/oder Cisco Express Forwarding (CEF) nicht zum Vermitteln von Paketen verwendet wird.
Es gibt keine spezifischen Anforderungen für dieses Dokument.
Dieses Dokument ist nicht auf bestimmte Software- und Hardware-Versionen beschränkt.
Die Informationen in diesem Dokument beziehen sich auf Geräte in einer speziell eingerichteten Testumgebung. Alle Geräte, die in diesem Dokument benutzt wurden, begannen mit einer gelöschten (Nichterfüllungs) Konfiguration. Wenn Ihr Netz Live ist, überprüfen Sie, ob Sie die mögliche Auswirkung jedes möglichen Befehls verstehen.
Weitere Informationen zu Dokumentkonventionen finden Sie unter Cisco Technical Tips Conventions (Technische Tipps von Cisco zu Konventionen).
Der Wurm "Code Red" versucht, eine Verbindung zu zufällig generierten IP-Adressen herzustellen. Jeder infizierte IIS-Server kann versuchen, denselben Gerätesatz zu infizieren. Sie können die Quell-IP-Adresse und den TCP-Port des Wurms verfolgen, da dieser nicht gefälscht ist. Unicast Reverse Path Forwarding (URPF) kann einen Wurmangriff nicht unterdrücken, da die Quelladresse legal ist.
Diese Ratschläge beschreiben den "Code Red" Wurm und erklären, wie man die vom Wurm betroffene Software patcht:
Cisco Security Advisory: "Code Red"-Wurm - Auswirkungen auf den Kunden
ISAPI-Erweiterungspufferüberlauf für den Remote-IIS-Indexserver
ZERT? Advisory CA-2001-19 "Code Red"-Wurm nutzt Pufferüberlauf in IIS-Indexdienst-DLL
Hier sind einige Symptome, die darauf hinweisen, dass ein Cisco Router von dem "Code Red"-Wurm betroffen ist:
Große Anzahl von Flows in NAT- oder PAT-Tabellen (wenn Sie NAT oder PAT verwenden).
Große Anzahl von ARP-Anfragen oder ARP-Stürmen im Netzwerk (verursacht durch den IP-Adressscan).
Übermäßige Speichernutzung durch IP Input-, ARP Input-, IP Cache Ager- und CEF-Prozesse.
Hohe CPU-Auslastung bei ARP, IP Input, CEF und IPC.
Hohe CPU-Auslastung auf Interrupt-Ebene bei niedrigen Datenverkehrsraten oder hohe CPU-Auslastung auf Prozessebene bei IP-Eingabe, wenn NAT verwendet wird.
Ein niedriger Speicherstatus oder eine dauerhaft hohe CPU-Auslastung (100 Prozent) bei Unterbrechungen können dazu führen, dass ein Cisco IOS® Router neu geladen wird. Das Nachladen wird durch einen Prozess verursacht, der sich aufgrund der Spannungsbedingungen nicht verhält.
Wenn Sie nicht vermuten, dass Geräte in Ihrer Site von dem Wurm "Code Red" infiziert sind oder das Ziel dieses Wurms sind, finden Sie im Abschnitt Verwandte Informationen weitere URLs zur Fehlerbehebung bei auftretenden Problemen.
Verwenden Sie Flow Switching, um die IP-Quelladresse des betroffenen Geräts zu identifizieren. Konfigurieren Sie den ip route-cache-Fluss auf allen Schnittstellen, um alle vom Router geswitchten Datenflüsse aufzuzeichnen.
Geben Sie nach einigen Minuten den Befehl show ip cache flow ein, um die aufgezeichneten Einträge anzuzeigen. Während der Anfangsphase der "Code Red"-Wurminfektion versucht der Wurm, sich selbst zu replizieren. Die Replikation erfolgt, wenn der Wurm HT-Anforderungen an zufällige IP-Adressen sendet. Aus diesem Grund müssen Sie nach Cache-Flow-Einträgen mit Zielport 80 suchen (HT., 0050 in Hex).
Der show ip cache flow | include 0050 zeigt alle Cache-Einträge mit einem TCP-Port 80 (0050 in Hex) an:
Router#show ip cache flow | include 0050 ... scram scrappers dative DstIPaddress Pr SrcP DstP Pkts Vl1 193.23.45.35 Vl3 2.34.56.12 06 0F9F 0050 2 Vl1 211.101.189.208 Null 158.36.179.59 06 0457 0050 1 Vl1 193.23.45.35 Vl3 34.56.233.233 06 3000 0050 1 Vl1 61.146.138.212 Null 158.36.175.45 06 B301 0050 1 Vl1 193.23.45.35 Vl3 98.64.167.174 06 0EED 0050 1 Vl1 202.96.242.110 Null 158.36.171.82 06 0E71 0050 1 Vl1 193.23.45.35 Vl3 123.231.23.45 06 121F 0050 1 Vl1 193.23.45.35 Vl3 9.54.33.121 06 1000 0050 1 Vl1 193.23.45.35 Vl3 78.124.65.32 06 09B6 0050 1 Vl1 24.180.26.253 Null 158.36.179.166 06 1132 0050 1
Wenn Sie eine ungewöhnlich hohe Anzahl von Einträgen mit derselben Quell-IP-Adresse, zufälliger Ziel-IP-Adresse1, DstP = 0050 (HTTP) und Pr = 06 (TCP) finden, haben Sie wahrscheinlich ein infiziertes Gerät gefunden. In diesem Beispiel ist die Quell-IP-Adresse 193.23.45.35 und stammt aus VLAN1.
1Eine andere Version des Wurms "Code Red", genannt "Code Red II", wählt keine völlig zufällige Ziel-IP-Adresse aus. Stattdessen behält "Code Red II" den Netzwerkteil der IP-Adresse bei und wählt einen zufälligen Hostteil der IP-Adresse, um sich weiterzugeben. Dadurch kann sich der Wurm im selben Netzwerk schneller verbreiten.
"Code Red II " verwendet diese Netzwerke und Masken:
Mask Probability of Infection 0.0.0.0 12.5% (random) 255.0.0.0 50.0% (same class A) 255.255.0.0 37.5% (same class B)
Ausgeschlossene Ziel-IP-Adressen sind 127.X.X.X und 224.X.X.X. Ein Oktett darf nicht 0 oder 255 sein. Darüber hinaus versucht der Host nicht, sich selbst neu zu infizieren.
Weitere Informationen finden Sie unter Code Red (II).
Manchmal kann man netflow nicht ausführen, um einen "Code Red"-Befallversuch zu erkennen. Dies kann daran liegen, dass Sie eine Codeversion ausführen, die NetFlow nicht unterstützt, oder daran, dass der Router nicht über ausreichend oder übermäßig fragmentierten Speicher verfügt, um NetFlow zu aktivieren. Cisco empfiehlt, NetFlow nicht zu aktivieren, wenn mehrere Eingangsschnittstellen und nur eine Ausgangsschnittstelle auf dem Router vorhanden sind, da die NetFlow-Abrechnung auf dem Eingangspfad ausgeführt wird. In diesem Fall ist es besser, die IP-Abrechnung auf der einzigen Ausgangsschnittstelle zu aktivieren.
Hinweis: Der Befehl ip accounting deaktiviert DCEF. Aktivieren Sie das IP-Accounting nicht auf Plattformen, auf denen Sie das DCEF-Switching verwenden möchten.
Router(config)#interface vlan 1000 Router(config-if)#ip accounting Router#show ip accounting Source Destination Packets Bytes 20.1.145.49 75.246.253.88 2 96 20.1.145.43 17.152.178.57 1 48 20.1.145.49 20.1.49.132 1 48 20.1.104.194 169.187.190.170 2 96 20.1.196.207 20.1.1.11 3 213 20.1.145.43 43.129.220.118 1 48 20.1.25.73 43.209.226.231 1 48 20.1.104.194 169.45.103.230 2 96 20.1.25.73 223.179.8.154 2 96 20.1.104.194 169.85.92.164 2 96 20.1.81.88 20.1.1.11 3 204 20.1.104.194 169.252.106.60 2 96 20.1.145.43 126.60.86.19 2 96 20.1.145.49 43.134.116.199 2 96 20.1.104.194 169.234.36.102 2 96 20.1.145.49 15.159.146.29 2 96
Suchen Sie in der Ausgabe des Befehls show ip accounting nach Quelladressen, die versuchen, Pakete an mehrere Zieladressen zu senden. Wenn sich der infizierte Host in der Scan-Phase befindet, versucht er, HTTP-Verbindungen zu anderen Routern herzustellen. Es werden also Versuche angezeigt, mehrere IP-Adressen zu erreichen. Die meisten dieser Verbindungsversuche schlagen normalerweise fehl. Daher sehen Sie nur eine kleine Anzahl von übertragenen Paketen, von denen jedes eine kleine Byteanzahl aufweist. In diesem Beispiel sind wahrscheinlich 20.1.145.49 und 20.1.104.194 infiziert.
Wenn Sie Multi-Layer Switching (MLS) auf der Catalyst Serie 5000 und der Catalyst Serie 6000 ausführen, müssen Sie verschiedene Schritte unternehmen, um die NetFlow-Abrechnung zu aktivieren und den Befall zu verfolgen. Bei einem Cat6000-Switch mit Supervisor 1 Multilayer Switch Feature Card (MSFC1) oder SUP I/MSFC2 ist netzflussbasiertes MLS standardmäßig aktiviert, der Datenflussmodus ist jedoch auf das Ziel beschränkt. Daher wird die Quell-IP-Adresse nicht zwischengespeichert. Sie können den "full-flow"-Modus aktivieren, um infizierte Hosts mithilfe des Befehls set mls flow full auf dem Supervisor zu verfolgen.
Verwenden Sie für den Hybridmodus den Befehl set mls flow full:
6500-sup(enable)set mls flow full Configured IP flowmask is set to full flow. Warning: Configuring more specific flow mask may dramatically increase the number of MLS entries.
Verwenden Sie für den Native IOS-Modus den Befehl mls flow ip full:
Router(config)#mls flow ip full
Wenn Sie den "Voll-Flow"-Modus aktivieren, wird eine Warnung angezeigt, die auf einen dramatischen Anstieg der MLS-Einträge hinweist. Die Auswirkungen der erhöhten MLS-Einträge sind für eine kurze Zeit vertretbar, wenn Ihr Netzwerk bereits mit dem Wurm "Code Red" befallen ist. Der Wurm führt dazu, dass Ihre MLS-Einträge übermäßig sind und im Anstieg begriffen sind.
Um die erfassten Informationen anzuzeigen, verwenden Sie die folgenden Befehle:
Verwenden Sie für den Hybridmodus den Befehl set mls flow full:
6500-sup(enable)set mls flow full Configured IP flowmask is set to full flow. Warning: Configuring more specific flow mask may dramatically increase the number of MLS entries.
Im nativen IOS-Modus verwenden Sie den Befehl mls flow ip full:
Router(config)#mls flow ip full
Wenn Sie den "Voll-Flow"-Modus aktivieren, wird eine Warnung angezeigt, die auf einen dramatischen Anstieg der MLS-Einträge hinweist. Die Auswirkungen der erhöhten MLS-Einträge sind für eine kurze Zeit vertretbar, wenn Ihr Netzwerk bereits mit dem Wurm "Code Red" befallen ist. Der Wurm führt dazu, dass Ihre MLS-Einträge übermäßig sind und im Anstieg begriffen sind.
Um die erfassten Informationen anzuzeigen, verwenden Sie die folgenden Befehle:
Verwenden Sie für den Hybridmodus den Befehl show mls ent:
6500-sup(enable)show mls ent Destination-IP Source-IP Prot DstPrt SrcPrt Destination-Mac Vlan EDst ESrc DPort SPort Stat-Pkts Stat-Bytes Uptime Age -------------- --------------- ----- ------ ------ ----------------- ---- ---- ---- --------- --------- ---------- ----------- -------- --------
Hinweis: Alle diese Felder werden ausgefüllt, wenn sie sich im Vollbildmodus befinden.
Verwenden Sie für den nativen IOS-Modus den Befehl show mls ip:
Router#show mls ip DstIP SrcIP Prot:SrcPort:DstPort Dst i/f:DstMAC -------------------------------------------------------------------- Pkts Bytes SrcDstPorts SrcDstEncap Age LastSeen --------------------------------------------------------------------
Wenn Sie die IP-Quelladresse und den Ziel-Port des Angriffs ermitteln, können Sie MLS wieder in den Nur-Ziel-Modus versetzen.
Verwenden Sie für den Hybridmodus den Befehl set mls flow destination:
6500-sup(enable) set mls flow destination Usage: set mls flow <destination|destination-source|full>
Im nativen IOS-Modus verwenden Sie den Befehl mls flow ip destination:
Router(config)#mls flow ip destination
Die Supervisor (SUP) II/MSFC2-Kombination ist vor Angriffen geschützt, da CEF-Switching in der Hardware ausgeführt wird und NetFlow-Statistiken verwaltet werden. Selbst bei einem "Code Red"-Angriff wird der Router durch den schnelleren Switching-Mechanismus nicht überlastet, wenn Sie den Full-Flow-Modus aktivieren. Die Befehle zum Aktivieren des vollständigen Durchlaufmodus und zum Anzeigen der Statistiken sind auf SUP I/MFSC1 und SUP II/MSFC2 identisch.
Verwenden Sie die in diesem Abschnitt aufgeführten Techniken, um die Auswirkungen des Wurms "Code Red" auf den Router zu minimieren.
Wenn es in Ihrem Netzwerk machbar ist, ist der einfachste Weg, den "Code Red"-Angriff zu verhindern, den gesamten Datenverkehr an Port 80 zu blockieren, der der bekannte Port für das WWW ist. Erstellen Sie eine Zugriffsliste, um IP-Pakete abzulehnen, die an Port 80 gerichtet sind, und wenden Sie sie eingehend auf die Schnittstelle an, die der Infektionsquelle gegenüberliegt.
ARP-Eingaben benötigen sehr viel Speicher, wenn eine statische Route auf eine Broadcast-Schnittstelle verweist. Beispiel:
ip route 0.0.0.0 0.0.0.0 Vlan3
Jedes Paket für die Standardroute wird an das VLAN3 gesendet. Da jedoch keine Next-Hop-IP-Adresse angegeben ist, sendet der Router eine ARP-Anforderung für die Ziel-IP-Adresse. Der nächste Hop-Router für dieses Ziel antwortet mit seiner eigenen MAC-Adresse, es sei denn, Proxy-ARP ist deaktiviert. Die Antwort des Routers erstellt einen zusätzlichen Eintrag in der ARP-Tabelle, in der die Ziel-IP-Adresse des Pakets der Next-Hop-MAC-Adresse zugeordnet wird. Der Wurm "Code Red" sendet Pakete an zufällige IP-Adressen, wodurch für jede zufällige Zieladresse ein neuer ARP-Eintrag hinzugefügt wird. Jeder neue ARP-Eintrag belegt im Rahmen des ARP-Eingabeprozesses mehr und mehr Speicher.
Erstellen Sie keine statische Standardroute zu einer Schnittstelle, insbesondere dann nicht, wenn es sich um eine Broadcast-Schnittstelle (Ethernet/Fast Ethernet/GE/SMDS) oder eine Multipoint-Schnittstelle (Frame Relay/ATM) handelt. Jede statische Standardroute muss auf die IP-Adresse des nächsten Hop-Routers verweisen. Wenn Sie die Standardroute auf die nächste Hop-IP-Adresse verweisen, löschen Sie mit dem Befehl clear arp-cache alle ARP-Einträge. Dieser Befehl behebt das Problem der Speichernutzung.
Um die CPU-Auslastung auf einem IOS-Router zu verringern, wechseln Sie von Fast/Optimum/Netflow-Switching zu CEF-Switching. Es gibt einige Vorbehalte bei der Aktivierung von CEF. Im nächsten Abschnitt wird der Unterschied zwischen CEF und Fast Switching erläutert. Außerdem werden die Auswirkungen bei der Aktivierung von CEF erläutert.
Aktivieren Sie CEF, um die durch den Wurm "Code Red" verursachte erhöhte Datenverkehrslast zu reduzieren. Die Cisco IOS® Software-Versionen 11.1( )CC, 12.0 und höher unterstützen CEF auf den Cisco 7200-/7500-/GSR-Plattformen. Unterstützung für CEF auf anderen Plattformen ist ab Version 12.0 der Cisco IOS-Software verfügbar. Weitere Informationen erhalten Sie mit dem Software Advisor-Tool.
Manchmal kann die CEF-Funktion nicht auf allen Routern aktiviert werden, weil einer der folgenden Gründe vorliegt:
Unzureichender Speicher
Nicht unterstützte Plattformarchitekturen
Nicht unterstützte Schnittstellenkapselungen
Vorteile von Fast Switching:
Datenverkehrsgesteuerter Cache: Der Cache ist leer, bis der Router Pakete umschaltet und den Cache füllt.
Erstes Paket wird per Prozess-Switching übermittelt - Das erste Paket wird per Prozess-Switching übermittelt, da der Cache zu Beginn leer ist.
Feinstufiger Cache - Der Cache wird mit der Feinstufigkeit des spezifischsten RIB-Eintrags (Routing Information Base) in einem größeren Netz erstellt. Wenn RIB /24s für das Hauptnetz 131.108.0.0 hat, wird der Cache mit /24s für dieses Hauptnetz erstellt.
/32-Cache wird verwendet—/32-Cache wird verwendet, um die Last für jedes Ziel auszugleichen. Wenn der Cache die Last ausgleicht, wird der Cache mit /32s für dieses Hauptnetz erstellt.
Hinweis: Diese beiden letzten Probleme können möglicherweise einen riesigen Cache verursachen, der den gesamten Speicher beansprucht.
Caching an wichtigen Netzwerkgrenzen - Bei der Standardroute wird das Caching an wichtigen Netzwerkgrenzen durchgeführt.
Cache-Alter: Der Cache-ager wird jede Minute ausgeführt und überprüft 1/20 (5 Prozent) des Cache auf nicht verwendete Einträge unter normalen Speicherbedingungen und 1/4 (25 Prozent) des Cache unter niedrigen Speicherbedingungen (200 KB).
Um die obigen Werte zu ändern, verwenden Sie den Befehl ip cache-ager-interval X Y Z, wobei:
X ist <0-2147483> die Anzahl der Sekunden, die zwischen dem Ausführen des Lagers vergehen. Standard = 60 Sekunden.
Y ist <2-50> 1/(Y+1) des Cache-Speichers, der pro Durchlauf altert (geringer Speicher). Standard = 4.
Z ist <3-100> 1/(Z+1) des Cache, der pro Lauf altert (normal). Standard = 20.
Im Folgenden finden Sie eine Beispielkonfiguration, die den IP-Cache-ager 60 5 25 verwendet.
Router#show ip cache IP routing cache 2 entries, 332 bytes 27 adds, 25 invalidates, 0 refcounts Cache aged by 1/25 every 60 seconds (1/5 when memory is low). Minimum invalidation interval 2 seconds, maximum interval 5 seconds, quiet interval 3 seconds, threshold 0 requests Invalidation rate 0 in last second, 0 in last 3 seconds Last full cache invalidation occurred 03:55:12 ago Prefix/Length Age Interface Next Hop 4.4.4.1/32 03:44:53 Serial1 4.4.4.1 192.168.9.0/24 00:03:15 Ethernet1 20.4.4.1 Router#show ip cache verbose IP routing cache 2 entries, 332 bytes 27 adds, 25 invalidates, 0 refcounts Cache aged by 1/25 every 60 seconds (1/5 when memory is low). Minimum invalidation interval 2 seconds, maximum interval 5 seconds, quiet interval 3 seconds, threshold 0 requests Invalidation rate 0 in last second, 0 in last 3 seconds Last full cache invalidation occurred 03:57:31 ago Prefix/Length Age Interface Next Hop 4.4.4.1/32-24 03:47:13 Serial1 4.4.4.1 4 0F000800 192.168.9.0/24-0 00:05:35 Ethernet1 20.4.4.1 14 00000C34A7FC00000C13DBA90800
Basierend auf der Einstellung des Cache-Lagers wird ein gewisser Prozentsatz Ihrer Cache-Einträge aus der Fast-Cache-Tabelle entfernt. Wenn Einträge schnell altern, altert ein größerer Prozentsatz der Fast-Cache-Tabelle, und die Cache-Tabelle wird kleiner. Dadurch wird der Speicherverbrauch auf dem Router reduziert. Ein Nachteil besteht darin, dass der Datenverkehr für die Einträge, die aus der Cache-Tabelle veraltet waren, weiterhin fließt. Die ersten Pakete werden prozessgesteuert, was einen kurzen Anstieg der CPU-Auslastung bei der IP-Eingabe verursacht, bis ein neuer Cache-Eintrag für den Fluss erstellt wird.
Ab den Cisco IOS Software-Versionen 10.3(8), 11.0(3) und höher wird der IP-Cache-Manager anders gehandhabt, wie hier erläutert:
Die Befehle ip cache-ager-interval und ip cache-invalidate-delay sind nur verfügbar, wenn der dienstinterne Befehl in der Konfiguration definiert ist.
Wenn der Zeitraum zwischen der Auslösung des Pagers auf 0 gesetzt ist, wird der Pager-Prozess vollständig deaktiviert.
Die Zeit wird in Sekunden ausgedrückt.
Hinweis: Wenn Sie diese Befehle ausführen, erhöht sich die CPU-Auslastung des Routers. Verwenden Sie diese Befehle nur, wenn dies unbedingt erforderlich ist.
Router#clear ip cache ? A.B.C.D Address prefix <CR>--> will clear the entire cache and free the memory used by it! Router#debug ip cache IP cache debugging is on
Die Forwarding Information Base (FIB)-Tabelle basiert auf der Routing-Tabelle. Daher existieren Weiterleitungsinformationen, bevor das erste Paket weitergeleitet wird. Die FIB enthält auch /32-Einträge für direkt verbundene LAN-Hosts.
Die Adjacency-Tabelle (ADJ) enthält die Layer-2-Umschreibungsinformationen für die nächsten Hops und direkt verbundenen Hosts (ein ARP-Eintrag erstellt eine CEF-Adjacency).
Es gibt kein Cache-ager-Konzept mit CEF, um die CPU-Auslastung zu erhöhen. Ein FIB-Eintrag wird gelöscht, wenn ein Routing-Tabelleneintrag gelöscht wird.
Achtung: Auch hier bedeutet eine Standardroute, die auf eine Broadcast- oder Multipoint-Schnittstelle verweist, dass der Router für jedes neue Ziel ARP-Anforderungen sendet. ARP-Anfragen vom Router können eine riesige Adjacency-Tabelle erstellen, bis der Router nicht mehr über genügend Arbeitsspeicher verfügt. Wenn CEF keinen Speicher zuweist, deaktiviert sich CEF/DCEF selbst. Sie müssen CEF/DCEF erneut manuell aktivieren.
Hier ist eine Beispielausgabe des Befehls show ip cef summary, der die Speichernutzung anzeigt. Diese Ausgabe ist eine Momentaufnahme eines Cisco 7200 Routing-Servers mit Cisco IOS Software, Version 12.0.
Router>show ip cef summary IP CEF with switching (Table Version 2620746) 109212 routes, 0 reresolve, 0 unresolved (0 old, 0 new), peak 84625 109212 leaves, 8000 nodes, 22299136 bytes, 2620745 inserts, 2511533 invalidations 17 load sharing elements, 5712 bytes, 109202 references universal per-destination load sharing algorithm, id 6886D006 1 CEF resets, 1 revisions of existing leaves 1 in-place/0 aborted modifications Resolution Timer: Exponential (currently 1s, peak 16s) refcounts: 2258679 leaf, 2048256 node Adjacency Table has 16 adjacencies Router>show processes memory | include CEF PID TTY Allocated Freed Holding Getbufs Retbufs Process 73 0 147300 1700 146708 0 0 CEF process 84 0 608 0 7404 0 0 CEF Scanner Router>show processes memory | include BGP 2 0 6891444 6891444 6864 0 0 BGP Open 80 0 3444 2296 8028 0 0 BGP Open 86 0 477568 476420 7944 0 0 BGP Open 87 0 2969013892 102734200 338145696 0 0 BGP Router 88 0 56693560 2517286276 7440 131160 4954624 BGP I/O 89 0 69280 68633812 75308 0 0 BGP Scanner 91 0 6564264 6564264 6876 0 0 BGP Open 101 0 7635944 7633052 6796 780 0 BGP Open 104 0 7591724 7591724 6796 0 0 BGP Open 105 0 7269732 7266840 6796 780 0 BGP Open 109 0 7600908 7600908 6796 0 0 BGP Open 110 0 7268584 7265692 6796 780 0 BGP Open Router>show memory summary | include FIB Alloc PC Size Blocks Bytes What 0x60B8821C 448 7 3136 FIB: FIBIDB 0x60B88610 12000 1 12000 FIB: HWIDB MAP TABLE 0x60B88780 472 6 2832 FIB: FIBHWIDB 0x60B88780 508 1 508 FIB: FIBHWIDB 0x60B8CF9C 1904 1 1904 FIB 1 path chunk pool 0x60B8CF9C 65540 1 65540 FIB 1 path chunk pool 0x60BAC004 1904 252 479808 FIB 1 path chun 0x60BAC004 65540 252 16516080 FIB 1 path chun Router>show memory summary | include CEF 0x60B8CD84 4884 1 4884 CEF traffic info 0x60B8CF7C 44 1 44 CEF process 0x60B9D12C 14084 1 14084 CEF arp throttle chunk 0x60B9D158 828 1 828 CEF loadinfo chunk 0x60B9D158 65540 1 65540 CEF loadinfo chunk 0x60B9D180 128 1 128 CEF walker chunk 0x60B9D180 368 1 368 CEF walker chunk 0x60BA139C 24 5 120 CEF process 0x60BA139C 40 1 40 CEF process 0x60BA13A8 24 4 96 CEF process 0x60BA13A8 40 1 40 CEF process 0x60BA13A8 72 1 72 CEF process 0x60BA245C 80 1 80 CEF process 0x60BA2468 60 1 60 CEF process 0x60BA65A8 65488 1 65488 CEF up event chunk Router>show memory summary | include adj 0x60B9F6C0 280 1 280 NULL adjacency 0x60B9F734 280 1 280 PUNT adjacency 0x60B9F7A4 280 1 280 DROP adjacency 0x60B9F814 280 1 280 Glean adjacency 0x60B9F884 280 1 280 Discard adjacency 0x60B9F9F8 65488 1 65488 Protocol adjacency chunk
Bei einer großen Anzahl von Datenflüssen benötigt CEF in der Regel weniger Speicher als schnelles Switching. Wenn der Speicher bereits von einem schnellen Switching-Cache belegt ist, müssen Sie den ARP-Cache (über den Befehl clear ip arp) löschen, bevor Sie CEF aktivieren.
Hinweis: Wenn Sie den Cache leeren, wird ein Spitzen in der CPU-Auslastung des Routers verursacht.
A. Kürzlich wurde ein Fehler bei NAT Cisco behoben (CSCdu63623 (nur registrierte Kunden)), der Skalierbarkeit betrifft. Wenn es Zehntausende NAT-Flows gibt (basierend auf dem Plattformtyp), verursacht der Fehler eine 100-prozentige CPU-Auslastung auf Prozess- oder Interrupt-Ebene.
Um festzustellen, ob dieser Fehler die Ursache ist, geben Sie den Befehl show align ein, und überprüfen Sie, ob beim Router Ausrichtungsfehler auftreten. Wenn Ausrichtungsfehler oder fehlerhafte Speicherzugriffe auftreten, geben Sie den Befehl show align mehrmals aus, und überprüfen Sie, ob die Fehler auftreten. Wenn die Anzahl der Fehler zunimmt, können Ausrichtungsfehler die Ursache für eine hohe CPU-Auslastung auf Interrupt-Ebene sein und nicht Cisco bug CSCdu63623 (nur registrierte Kunden) . Weitere Informationen finden Sie unter Troubleshooting Spurious Access and Alignment Errors.
Der Befehl show ip nat translation zeigt die Anzahl der aktiven Übersetzungen an. Der Schmelzpunkt eines Prozessors der NPE-300-Klasse liegt bei etwa 20.000 bis 40.000 Übersetzungen. Diese Anzahl variiert je nach Plattform.
Diese Kernschmelze Problem wurde zuvor von ein paar Kunden beobachtet, aber nach "Code Red", mehr Kunden haben dieses Problem erlebt. Die einzige Problemumgehung besteht darin, NAT (statt PAT) auszuführen, sodass weniger aktive Übersetzungen vorhanden sind. Wenn Sie über einen 7200 verfügen, verwenden Sie einen NSE-1-Wert, und senken Sie die NAT-Timeout-Werte.
A. Der HyBridge-Eingabeprozess verarbeitet alle Pakete, die nicht durch den IRB-Prozess schnell umgeschaltet werden können. Der IRB-Prozess kann ein Paket aus folgenden Gründen nicht schnell vermitteln:
Das Paket ist ein Broadcast-Paket.
Das Paket ist ein Multicast-Paket.
Das Ziel ist unbekannt, und ARP muss ausgelöst werden.
Es gibt Spanning Tree-BPDUs.
Bei HyBridge Input treten Probleme auf, wenn es Tausende von Point-to-Point-Schnittstellen in derselben Bridge-Gruppe gibt. Bei HyBridge Input treten ebenfalls Probleme auf (jedoch in geringerem Maße), wenn sich Tausende von VSs in derselben Multipoint-Schnittstelle befinden.
Was sind mögliche Gründe für Probleme mit IRB? Angenommen, ein mit "Code rot" infiziertes Gerät scannt IP-Adressen.
Der Router muss für jede Ziel-IP-Adresse eine ARP-Anforderung senden. Für jede VC der Bridge-Gruppe ergibt sich für jede gescannte Adresse eine Flut von ARP-Anfragen. Der normale ARP-Prozess verursacht kein CPU-Problem. Wenn jedoch ein ARP-Eintrag ohne Bridge-Eintrag vorhanden ist, überflutet der Router Pakete für Adressen, für die bereits ARP-Einträge vorhanden sind. Dies kann zu einer hohen CPU-Auslastung führen, da der Datenverkehr prozessgesteuert ist. Um das Problem zu vermeiden, erhöhen Sie die Bridge-Alterungszeit (standardmäßig 300 Sekunden oder 5 Minuten) so, dass sie mit dem ARP-Timeout (standardmäßig 4 Stunden) übereinstimmt oder diesen überschreitet, sodass die beiden Timer synchronisiert werden.
Die Adresse, die der Endhost zu infizieren versucht, ist eine Broadcast-Adresse. Der Router führt das Äquivalent eines Subnetz-Broadcasts aus, der vom HyBridge-Eingabeprozess repliziert werden muss. Dies geschieht nicht, wenn der Befehl no ip directed-broadcast konfiguriert wird. Ab Version 12.0 der Cisco IOS-Software ist der Befehl ip directed-broadcast standardmäßig deaktiviert, wodurch alle IP-gerichteten Übertragungen verworfen werden.
Hier ist ein Randbemerkung, unabhängig von "Code Red" und bezogen auf IRB-Architekturen:
Layer-2-Multicast- und Broadcast-Pakete müssen repliziert werden. Daher kann ein Problem mit IPX-Servern, die in einem Broadcast-Segment ausgeführt werden, die Verbindung zum Abbruch bringen. Sie können Abonnentenrichtlinien verwenden, um das Problem zu vermeiden. Weitere Informationen finden Sie unter x Digital Subscriber Line (xDSL) Bridge Support. Sie müssen auch Bridge-Zugriffslisten in Betracht ziehen, die die Art des Datenverkehrs begrenzen, der den Router passieren darf.
Um dieses IRB-Problem zu beheben, können Sie mehrere Bridge-Gruppen verwenden und sicherstellen, dass eine 1:1-Zuordnung für BVIs, Subschnittstellen und VCs vorhanden ist.
RBE ist IRB überlegen, da es den Bridging-Stack vollständig vermeidet. Sie können von IRB zu RBE migrieren. Diese Bugs von Cisco fördern eine solche Migration:
CSCdr11146 (nur registrierte Kunden)
CSCdp18572 (nur registrierte Kunden)
CSCds40806 (nur registrierte Kunden)
A. Hier ist ein Beispiel für die Ausgabe des Befehls show logging:
Router#show logging Syslog logging: enabled (0 messages dropped, 0 flushes, 0 overruns) ^ this value is non-zero Console logging: level debugging, 9 messages logged
Überprüfen Sie, ob Sie sich bei der Konsole anmelden. Wenn ja, überprüfen Sie, ob HTTP-Anforderungen für den Datenverkehr vorliegen. Überprüfen Sie anschließend, ob Zugriffslisten mit Protokollschlüsselwörtern vorhanden sind oder ob Debug-Meldungen bestimmte IP-Datenflüsse überwachen. Wenn Flushes auf dem Vormarsch sind, kann dies daran liegen, dass die Konsole, in der Regel ein Gerät mit 9600 Baud, nicht in der Lage ist, die empfangene Informationsmenge zu verarbeiten. In diesem Szenario deaktiviert der Router Interrupts und verarbeitet lediglich Konsolenmeldungen. Die Lösung besteht darin, die Konsolenprotokollierung zu deaktivieren oder jede Art von Protokollierung zu entfernen, die Sie durchführen.
A. "Code Red" kann hier der Grund sein. Cisco empfiehlt, den Befehl ip http server auf dem IOS-Router zu deaktivieren, damit er nicht mit zahlreichen Verbindungsversuchen von infizierten Hosts fertig werden muss.
Es gibt verschiedene Problemumgehungen, die in den Ratgebern besprochen werden, die den "Code Red"-Wurm-Abschnitt besprechen. Die Problemumgehungen finden Sie in den Ratgebern.
Eine weitere Methode zum Blockieren des "Code Red"-Wurms an den Netzwerkeintrittspunkten besteht in Network-Based Application Recognition (NBAR) und Access Control Lists (ACLs) in der IOS-Software auf Cisco Routern. Verwenden Sie diese Methode in Verbindung mit den empfohlenen Patches für IIS-Server von Microsoft. Weitere Informationen zu dieser Methode finden Sie unter Verwenden von NBAR und ACLs zum Blockieren des Wurms "Code Red" an den Netzwerkeingangspunkten.
Überarbeitung | Veröffentlichungsdatum | Kommentare |
---|---|---|
1.0 |
10-Dec-2001 |
Erstveröffentlichung |