ICMPv6 erklärt: Das Protokoll, das IPv6 zum Laufen bringt
Verstehen Sie ICMPv6, das essentielle Protokoll für IPv6-Netzwerke. Lernen Sie Neighbor Discovery, Router Advertisements und warum das Blockieren von ICMPv6 Ihr Netzwerk kaputt macht.
ICMPv6 ist nicht optional#
In IPv4 kümmert sich ICMP um Diagnosen. Sie können es blockieren und die meisten Dinge funktionieren trotzdem. IPv6 funktioniert nicht so.
TL;DR - Kurzübersicht
Wichtige Punkte:
- ICMPv6 ist verpflichtend (nicht optional wie IPv4 ICMP); es kümmert sich um NDP, Router Discovery und PMTUD
- Neighbor Discovery Protocol (Typen 133-137) ersetzt ARP und ermöglicht SLAAC
- Typ 2 (Packet Too Big) ist kritisch für Path MTU Discovery—Blockieren bricht Verbindungen
- Essentielle Typen zum Erlauben: 1 (Unreachable), 2 (Too Big), 128-129 (Ping), 133-137 (NDP)
Direkt zu: Neighbor Discovery Protocol | Path MTU Discovery | Firewall-Regeln
ICMPv6 ist das Nervensystem von IPv6. Es kümmert sich um Fehlerberichte, Diagnosen, Neighbor Discovery, Router Discovery und Adressauflösung. Blockieren Sie die falschen ICMPv6-Nachrichtentypen und Sie werden die Basiskonnektivität zerstören, verhindern, dass Hosts ihr Default Gateway finden, und mysteriöse Verbindungsblockaden verursachen, deren Debugging Stunden dauert.
Die IPv6-Spezifikation behandelt ICMPv6 nicht als Add-on. Es ist eine verpflichtende, integrale Komponente. ICMPv6 zu verstehen bedeutet zu verstehen, wie IPv6 tatsächlich funktioniert.
ICMPv6 vs ICMP (IPv4)#
ICMPv6 hat sich aus ICMPv4 entwickelt, aber deutlich mehr Verantwortung übernommen.
| Merkmal | ICMPv4 | ICMPv6 | Auswirkung |
|---|---|---|---|
| Protokollnummer | 1 | 58 | Anderer IP Next Header Wert |
| Fehlermeldungen | Destination Unreachable, Time Exceeded, etc. | Gleiche Fehler, verfeinert | Ähnliche Funktionalität |
| Diagnosen | Echo Request/Reply (ping) | Echo Request/Reply (ping) | Identischer Zweck |
| Adressauflösung | ARP (separates Protokoll) | Neighbor Discovery (ICMPv6) | ICMPv6 ersetzt ARP vollständig |
| Router Discovery | ICMP Router Discovery (optional) | Router Advertisement (verpflichtend) | Kritisch für Auto-Konfiguration |
| Fragmentierung | Stillschweigend von Routern behandelt | Packet Too Big Nachrichten | Path MTU Discovery erforderlich |
| Multicast-Verwaltung | IGMP (separates Protokoll) | MLD-Nachrichten (ICMPv6) | ICMPv6 ersetzt IGMP |
Der Hauptunterschied: ICMPv6 hat Funktionalität absorbiert, die in IPv4 separate Protokolle verwendete. ARP läuft in IPv4 auf Layer 2. IPv6 hat kein ARP — Neighbor Discovery verwendet stattdessen ICMPv6. IGMP verwaltete Multicast-Gruppen in IPv4. IPv6 verwendet Multicast Listener Discovery (MLD) Nachrichten innerhalb von ICMPv6.
Diese Konsolidierung vereinfachte den Protokollstack, machte ICMPv6 aber absolut essentiell. Sie können es nicht blockieren, ohne Kernfunktionalität zu zerstören.
Struktur des Nachrichtentyps#
ICMPv6-Nachrichten haben eine einfache Struktur: Typ, Code, Checksum und nachrichtenspezifische Daten. Das Typfeld bestimmt die Nachrichtenkategorie.
Typnummernbereiche:
- 0-127: Fehlernachrichten
- 128-255: Informationsnachrichten
Diese Aufteilung macht das Filtern einfacher. Fehlernachrichten melden Probleme bei der Paketzustellung. Informationsnachrichten behandeln Anfragen, Antworten und Neighbor/Router Discovery.
Häufige Nachrichtentypen#
| Typ | Code | Name | Kategorie | Zweck |
|---|---|---|---|---|
| 1 | 0-6 | Destination Unreachable | Fehler | Port geschlossen, Route nicht verfügbar, etc. |
| 2 | 0 | Packet Too Big | Fehler | MTU auf Pfad überschritten |
| 3 | 0-1 | Time Exceeded | Fehler | Hop Limit erreicht oder Fragment Timeout |
| 4 | 0-2 | Parameter Problem | Fehler | Fehlerhafter Paket-Header |
| 128 | 0 | Echo Request | Info | Ping-Anfrage |
| 129 | 0 | Echo Reply | Info | Ping-Antwort |
| 133 | 0 | Router Solicitation | Info | Router-Informationen anfragen |
| 134 | 0 | Router Advertisement | Info | Router kündigt Präsenz und Konfiguration an |
| 135 | 0 | Neighbor Solicitation | Info | Adressauflösung und Erreichbarkeit |
| 136 | 0 | Neighbor Advertisement | Info | Antwort auf Solicitation |
| 137 | 0 | Redirect | Info | Besserer First-Hop-Router existiert |
Typnummern sind wichtig
Anders als IPv4, wo ICMP-Typen verstreute Nummern verwenden, macht ICMPv6s organisierter Typ-Raum Firewall-Regeln klarer. Typen 133-137 behandeln Neighbor Discovery Protocol, was es einfach macht, NDP als Gruppe zu erlauben oder zu blockieren.
Neighbor Discovery Protocol (NDP)#
Das Neighbor Discovery Protocol ersetzt IPv4s ARP und fügt Fähigkeiten hinzu, die IPv4 über mehrere Protokolle behandelte. NDP läuft vollständig über ICMPv6 und behandelt fünf kritische Funktionen:
- Adressauflösung — IPv6-Adressen auf MAC-Adressen mappen (ersetzt ARP)
- Router Discovery — Lokale Router ohne Konfiguration finden
- Präfix-Discovery — Netzwerkpräfixe für Auto-Konfiguration lernen
- Parameter-Discovery — MTU, Hop Limit und andere Parameter erhalten
- Next-Hop-Bestimmung — Den besten Router für ein Ziel identifizieren
Die fünf NDP-Nachrichtentypen#
Router Solicitation (Typ 133)#
Von Hosts gesendet, um Router zu bitten, sich sofort anzukündigen, anstatt auf das nächste geplante Router Advertisement zu warten.
Wann es gesendet wird:
- Host bootet
- Interface kommt online
- Host möchte schnell Konfiguration
Format:
Source: Link-Local-Adresse oder ::
Destination: ff02::2 (All-Routers Multicast)
Hop Limit: 255Router Solicitations lassen Hosts Netzwerkkonfiguration innerhalb von Sekunden erhalten, anstatt auf periodische Advertisements zu warten.
Router Advertisement (Typ 134)#
Von Routern gesendet, um ihre Präsenz anzukündigen, Präfixe für SLAAC zu bewerben und Konfigurationsparameter bereitzustellen.
Wann es gesendet wird:
- Periodisch (alle paar Minuten)
- Als Antwort auf Router Solicitation
- Wenn sich Router-Konfiguration ändert
Was es enthält:
- Router Lifetime (wie lange dieser Router zu verwenden ist)
- Netzwerkpräfix(e) und deren Gültigkeit
- MTU-Empfehlung
- Hop Limit Vorschlag
- Flags für SLAAC und DHCPv6
Format:
Source: Link-Local-Adresse des Routers
Destination: ff02::1 (All-Nodes Multicast) oder anfragender Host
Hop Limit: 255Router Advertisements sind wie Hosts ihre Netzwerkkonfiguration automatisch lernen. Kein DHCP erforderlich — Router broadcasten alles, was Hosts brauchen, um sich selbst zu konfigurieren.
SLAAC hängt von Router Advertisements ab
Stateless Address Autoconfiguration (SLAAC) hängt vollständig von Router Advertisements ab. Blockieren Sie Typ 134 und Hosts können sich nicht auto-konfigurieren. Sie haben nur Link-Local-Adressen, ohne Default Route und ohne global routbare Adressen.
Neighbor Solicitation (Typ 135)#
Das IPv6-Äquivalent von ARP-Anfragen. Gesendet, um die MAC-Adresse eines Nachbarn zu entdecken oder zu überprüfen, ob ein Nachbar noch erreichbar ist.
Wann es gesendet wird:
- Auflösen einer IPv6-Adresse zu MAC-Adresse
- Überprüfen, ob ein Nachbar noch erreichbar ist
- Duplicate Address Detection (prüfen, ob eine Adresse bereits in Benutzung ist)
Format:
Source: Adresse des Senders (oder :: für DAD)
Destination: Solicited-Node Multicast-Adresse oder Zieladresse
Hop Limit: 255Neighbor Solicitation Nachrichten verwenden Solicited-Node Multicast-Adressen anstelle von Broadcast. Dies reduziert unnötige Verarbeitung — nur der Ziel-Host und Hosts mit ähnlichen Adressen empfangen das Paket.
Neighbor Advertisement (Typ 136)#
Antwort auf Neighbor Solicitation. Liefert die MAC-Adresse des Senders oder bestätigt Erreichbarkeit.
Wann es gesendet wird:
- Antwort auf Neighbor Solicitation
- Unaufgeforderte Ankündigung einer Adressänderung
Format:
Source: Link-Local- oder globale Adresse des Senders
Destination: Adresse des Anfragenden oder All-Nodes Multicast
Hop Limit: 255Redirect (Typ 137)#
Von Routern gesendet, um Hosts zu informieren, dass ein besserer First-Hop-Router für ein bestimmtes Ziel existiert.
Wann es gesendet wird:
- Host sendet Paket an Router
- Router kennt besseren Next-Hop auf demselben Link
- Router leitet Paket weiter UND sendet Redirect
Format:
Source: Link-Local-Adresse des Routers
Destination: Ursprünglicher Sender
Hop Limit: 255Redirects optimieren Routing, ohne dass Hosts komplexe Routing-Tabellen pflegen müssen.
Wie Adressauflösung funktioniert#
Wenn ein Host ein Paket an eine andere IPv6-Adresse auf dem lokalen Link senden muss:
- Neighbor Cache prüfen — Ist die MAC-Adresse bereits bekannt?
- Neighbor Solicitation senden — Falls nicht, NS an Solicited-Node Multicast-Adresse senden
- Neighbor Advertisement empfangen — Ziel antwortet mit MAC-Adresse
- Cache aktualisieren — Mapping für zukünftige Verwendung speichern
- Paket senden — Ursprüngliches Paket ausliefern
Die Solicited-Node Multicast-Adresse wird aus der IPv6-Adresse des Ziels berechnet:
ff02::1:ff + letzte 24 Bits der IPv6-Adresse
Beispiel:
IPv6: 2001:db8::a4b2:c3d4:e5f6:7890
Solicited-Node: ff02::1:ff:f6:7890Dieser Multicast-Ansatz reduziert Netzwerkverkehr im Vergleich zu IPv4s broadcast-basiertem ARP.
Duplicate Address Detection
Bevor eine Adresse verwendet wird, senden Hosts eine Neighbor Solicitation mit Source :: und Target gesetzt auf die Adresse, die sie verwenden möchten. Wenn ein anderer Host antwortet, ist die Adresse bereits in Benutzung. Dies verhindert Adresskonflikte in SLAAC.
Router Discovery im Detail#
Router bewerben sich selbst und Netzwerkkonfiguration durch Router Advertisement Nachrichten. Hosts hören zu und konfigurieren sich basierend auf diesen Advertisements automatisch.
Router Advertisement Inhalte#
Ein typisches RA enthält:
Router-Informationen:
- Router Lifetime (0-9000 Sekunden, 0 bedeutet „kein Default Router")
- Reachability Time (wie lange ein Nachbar als erreichbar gilt)
- Retransmit Timer (Verzögerung zwischen Neighbor Solicitations)
Präfix-Informationen:
- Netzwerkpräfix (z.B. 2001:db8:1234::/64)
- Valid Lifetime (wie lange Adressen gültig sind)
- Preferred Lifetime (wie lange für neue Verbindungen zu verwenden)
- Flags:
- L (On-Link): Präfix ist auf lokalem Link
- A (Autonomous): Für SLAAC verwenden
Andere Optionen:
- MTU-Empfehlung
- DNS-Server (RDNSS-Option)
- DNS-Suchdomänen (DNSSL-Option)
SLAAC-Adressbildung#
Wenn ein Host ein RA mit gesetztem A-Flag empfängt:
- Präfix nehmen — z.B.
2001:db8:1234::/64 - Interface Identifier generieren — 64 Bits abgeleitet von MAC oder zufällig
- Sie kombinieren —
2001:db8:1234::a4b2:c3d4:e5f6:7890 - Duplicate Address Detection ausführen — Sicherstellen, dass niemand sonst sie verwendet
- Adresse konfigurieren — Zum Interface hinzufügen
- Default Route setzen — Router als Next Hop verwenden
Dies geschieht automatisch ohne Benutzereingriff oder DHCP-Server.
Flags, die Konfiguration steuern#
Router Advertisements enthalten Flags, die Hosts sagen, wie sie sich konfigurieren sollen:
- M (Managed): DHCPv6 für Adressen verwenden (nicht SLAAC)
- O (Other): DHCPv6 für andere Konfiguration verwenden (DNS, NTP, etc.)
Häufige Kombinationen:
| M | O | Verhalten |
|---|---|---|
| 0 | 0 | Nur SLAAC, kein DHCPv6 |
| 0 | 1 | SLAAC für Adressen, DHCPv6 für DNS/etc. |
| 1 | 0 | DHCPv6 für Adressen (ungewöhnlich) |
| 1 | 1 | DHCPv6 für alles |
Die meisten Netzwerke verwenden M=0, O=0 (reines SLAAC) oder M=0, O=1 (SLAAC + DHCPv6 für DNS).
Path MTU Discovery#
IPv6-Router fragmentieren keine Pakete. Die Quelle muss Pakete senden, die klein genug sind, um auf den gesamten Pfad zu passen. Hier wird ICMPv6 Typ 2 kritisch.
Wie PMTUD funktioniert#
- Host sendet Paket — Verwendet Interface-MTU (typischerweise 1500 Bytes)
- Router trifft auf kleinere MTU — Kann in IPv6 nicht fragmentieren
- Router verwirft Paket — Sendet ICMPv6 Packet Too Big Nachricht zurück
- Nachricht enthält MTU — Sagt Sender die maximal erlaubte Größe
- Host reduziert Paketgröße — Überträgt erneut mit kleinerer MTU
- Verbindung geht weiter — Mit geeigneter Paketgröße
Packet Too Big Nachrichtenformat:
Type: 2
Code: 0
MTU: 1280 (oder was der Next Hop unterstützt)
Originalpaket: Erster Teil des verworfenen PaketsDie minimale IPv6-MTU ist 1280 Bytes. Alle Links müssen mindestens diese Größe unterstützen. Größere Pakete erfordern, dass PMTUD funktioniert.
Was passiert, wenn Sie Typ 2 blockieren#
Verbindungssymptome, wenn Packet Too Big Nachrichten blockiert sind:
- Initiale Verbindung funktioniert — SYN, SYN-ACK, ACK Pakete sind klein
- Datenübertragung hängt — Große Pakete werden stillschweigend verworfen
- Keine Fehlermeldungen — Verbindung stagniert einfach
- Timeout nach Minuten — TCP gibt schließlich auf
Dies ist eines der frustrierendsten Probleme zum Debuggen, weil die Verbindung erfolgreich aufgebaut wird, bevor sie fehlschlägt.
Real-World-Szenario:
$ curl -6 https://example.com/
# Verbindung hängt nach TLS-Handshake
# Browser zeigt „Laden..." für immer
# SSH verbindet, aber hängt während Banner-AustauschAlles weil eine Middlebox ICMPv6 Typ 2 blockiert hat.
Blockieren Sie niemals Packet Too Big
Das Blockieren von ICMPv6 Typ 2 zerstört Verbindungen auf subtile, anwendungsspezifische Weise. Erlauben Sie diesen Nachrichtentyp immer in beiden Richtungen durch Firewalls und Router.
Echo Request und Echo Reply (Ping)#
Typ 128 (Echo Request) und Typ 129 (Echo Reply) funktionieren genau wie IPv4-Ping.
Format:
Type: 128 (Request) oder 129 (Reply)
Code: 0
Identifier: Beliebig (matcht Request/Reply)
Sequence: Inkrementiert bei jedem Ping
Data: Beliebige PayloadDiagnostische Verwendungen#
Ping ist der einfachste Konnektivitätstest:
# Basis-Ping
ping6 2001:4860:4860::8888
# Quelladresse angeben
ping6 -I 2001:db8::10 2001:4860:4860::8888
# Große Pakete zum Testen von PMTUD
ping6 -s 1400 google.com
# Flood Ping (erfordert root)
sudo ping6 -f 2001:4860:4860::8888Rate-Limiting-Überlegungen#
Viele Administratoren limitieren Ping-Rate, um Reconnaissance und DoS-Angriffe zu verhindern. Dies ist für Produktionsserver vernünftig, aber vollständiges Blockieren macht Troubleshooting schwieriger.
Empfohlener Ansatz:
- Echo Request/Reply erlauben
- Rate limitieren, um Missbrauch zu verhindern
- Exzessive Versuche protokollieren
Linux-Beispiel:
# Ping erlauben, aber Rate limitieren
ip6tables -A INPUT -p ipv6-icmp --icmpv6-type 128 \
-m limit --limit 10/sec --limit-burst 20 -j ACCEPT
ip6tables -A INPUT -p ipv6-icmp --icmpv6-type 128 -j DROPDies erlaubt 10 Pings pro Sekunde mit Bursts bis zu 20, verwirft übermäßigen Verkehr.
Firewall-Überlegungen#
ICMPv6-Filterung erfordert Verständnis, welche Typen essentiell und welche optional sind.
Muss erlauben (zerstört Konnektivität)#
Typ 2: Packet Too Big
- Richtung: Inbound und Outbound
- Grund: Path MTU Discovery funktioniert ohne nicht
- Umfang: Alle Verbindungen
Typen 133-136: Neighbor Discovery
- Richtung: Nur Link-Local (Hop Limit 255)
- Grund: Adressauflösung und Router Discovery scheitern
- Umfang: Nur lokales Netzwerk
Typ 1: Destination Unreachable
- Richtung: Inbound (Antworten auf Ihren Verkehr)
- Grund: TCP muss wissen, wenn Ports/Routen nicht existieren
- Umfang: Alle Verbindungen
Sollte erlauben (zerstört Diagnosen)#
Typ 3: Time Exceeded
- Richtung: Inbound
- Grund: Traceroute schlägt ohne fehl
- Auswirkung: Kann Routing-Probleme nicht diagnostizieren
Typen 128-129: Echo Request/Reply
- Richtung: Beide
- Grund: Ping ist der primäre Konnektivitätstest
- Auswirkung: Kann grundlegende Erreichbarkeit nicht überprüfen
Kann blockieren (nur informativ)#
Typen 130-132: Multicast Listener Discovery
- Umfang: Nur lokales Netzwerk
- Auswirkung: Multicast funktioniert möglicherweise nicht optimal
Typ 137: Redirect
- Auswirkung: Suboptimales Routing im lokalen Netzwerk
- Sicherheit: Einige Admins blockieren, um Routenmanipulation zu verhindern
Beispiel iptables-Regeln#
Minimale Host-Firewall:
# Essentielles ICMPv6
ip6tables -A INPUT -p ipv6-icmp --icmpv6-type 1 -j ACCEPT # Destination Unreachable
ip6tables -A INPUT -p ipv6-icmp --icmpv6-type 2 -j ACCEPT # Packet Too Big
ip6tables -A INPUT -p ipv6-icmp --icmpv6-type 3 -j ACCEPT # Time Exceeded
ip6tables -A INPUT -p ipv6-icmp --icmpv6-type 128 -j ACCEPT # Echo Request
ip6tables -A INPUT -p ipv6-icmp --icmpv6-type 129 -j ACCEPT # Echo Reply
# Neighbor Discovery (nur Link-Local, Hop Limit 255)
ip6tables -A INPUT -p ipv6-icmp --icmpv6-type 133 -m hl --hl-eq 255 -j ACCEPT
ip6tables -A INPUT -p ipv6-icmp --icmpv6-type 134 -m hl --hl-eq 255 -j ACCEPT
ip6tables -A INPUT -p ipv6-icmp --icmpv6-type 135 -m hl --hl-eq 255 -j ACCEPT
ip6tables -A INPUT -p ipv6-icmp --icmpv6-type 136 -m hl --hl-eq 255 -j ACCEPTDie Hop Limit-Prüfung (--hl-eq 255) stellt sicher, dass Neighbor Discovery Pakete vom lokalen Link stammen. Legitimes NDP verwendet immer Hop Limit 255. Pakete von Routern hätten dekrementierte Werte.
nftables-Äquivalent:
# Essentielles ICMPv6
nft add rule ip6 filter input icmpv6 type { destination-unreachable, packet-too-big, time-exceeded, echo-request, echo-reply } accept
# Neighbor Discovery mit Hop Limit-Prüfung
nft add rule ip6 filter input icmpv6 type { nd-router-solicit, nd-router-advert, nd-neighbor-solicit, nd-neighbor-advert } ip6 hoplimit 255 acceptHäufiger Fehler: Alles ICMPv6 blockieren
Der häufigste IPv6-Firewall-Fehler ist, alles ICMPv6 zu blockieren. Administratoren portieren IPv4-Regeln, die alles ICMP blockieren, und wundern sich, warum IPv6 bricht. ICMPv6 ist nicht optional — erlauben Sie die essentiellen Typen oder erwarten Sie Konnektivitätsausfälle.
Troubleshooting mit ICMPv6#
Fehlermeldungen lesen#
Wenn Verbindungen fehlschlagen, prüfen Sie ICMPv6-Fehlermeldungen mit tcpdump:
# Alles ICMPv6 erfassen
sudo tcpdump -i eth0 -n ip6 and icmp6
# Spezifische Typen
sudo tcpdump -i eth0 -n 'ip6 and icmp6 and ip6[40] == 1' # Typ 1 (Destination Unreachable)
sudo tcpdump -i eth0 -n 'ip6 and icmp6 and ip6[40] == 2' # Typ 2 (Packet Too Big)Häufige Fehlerszenarien:
Typ 1, Code 1: Communication administratively prohibited
# Firewall blockiert Verkehr
18:23:45.123456 IP6 2001:db8::1 > 2001:db8::10: ICMP6, destination unreachable,
administratively prohibited, length 68Firewall oder Access Control List blockiert die Verbindung.
Typ 1, Code 4: Port unreachable
# Dienst läuft nicht
18:23:45.234567 IP6 2001:db8::10 > 2001:db8::1: ICMP6, destination unreachable,
port unreachable, length 68Nichts lauscht auf dem Zielport.
Typ 2: Packet too big
# MTU-Problem
18:23:45.345678 IP6 2001:db8:1234::1 > 2001:db8::10: ICMP6, packet too big,
mtu 1280, length 1240Path MTU ist kleiner als Sender annahm. Sender sollte Paketgröße auf 1280 Bytes reduzieren.
Wireshark für NDP verwenden#
Wireshark macht NDP-Analyse mit Display-Filtern einfacher:
# Alles ICMPv6
icmpv6
# Nur Neighbor Discovery
icmpv6.type >= 133 && icmpv6.type <= 137
# Router Advertisements
icmpv6.type == 134
# Neighbor Solicitations für spezifische Adresse
icmpv6.type == 135 && icmpv6.nd.ns.target_address == 2001:db8::10Router Advertisements beobachten, um zu sehen, welche Konfiguration Ihr Netzwerk bereitstellt:
# RAs filtern, ICMPv6-Layer in Paketdetails erweitern
# Prüfen:
# - Flags (M, O)
# - Präfix-Informationen
# - DNS-Server (RDNSS-Option)
# - MTU-OptionHäufige Probleme und Lösungen#
Problem: Host hat keine globale IPv6-Adresse, nur fe80::*
Diagnose:
# Router Advertisements prüfen
sudo tcpdump -i eth0 -n 'icmp6 && ip6[40] == 134'Ursachen:
- Kein Router im Netzwerk
- Router sendet keine RAs
- Firewall blockiert Typ 134
Lösung: IPv6 auf Router aktivieren, RA-Konfiguration überprüfen, Firewall-Regeln prüfen.
Problem: Ping funktioniert, aber große Übertragungen hängen
Diagnose:
# Mit großen Ping-Paketen testen
ping6 -s 1400 target.example.comUrsachen:
- ICMPv6 Typ 2 irgendwo blockiert
- MTU-Mismatch im Pfad
- Firewall filtert Packet Too Big
Lösung: Typ 2 durch alle Firewalls erlauben, MTU-Konfiguration prüfen.
Problem: Kann Nachbarn im gleichen Subnet nicht erreichen
Diagnose:
# Neighbor Cache prüfen
ip -6 neigh show
# Auf Neighbor Solicitations achten
sudo tcpdump -i eth0 -n 'icmp6 && ip6[40] == 135'Ursachen:
- Firewall blockiert Typen 135/136
- Switch filtert Multicast
- IPv6 auf Ziel deaktiviert
Lösung: NDP durch Firewalls erlauben, Switch-Multicast-Konfiguration überprüfen.
Problem: Hosts ignorieren Router Advertisements
Diagnose:
# Überprüfen, ob RAs ankommen
sudo tcpdump -i eth0 -n 'icmp6 && ip6[40] == 134'
# accept_ra-Einstellung prüfen (Linux)
sysctl net.ipv6.conf.eth0.accept_raUrsachen:
- accept_ra deaktiviert (Linux)
- IPv6-Forwarding auf Host aktiviert (deaktiviert RA-Verarbeitung)
- RA hat ungültiges Hop Limit (!= 255)
Lösung: accept_ra aktivieren, Forwarding auf End-Hosts deaktivieren, Router-Konfiguration überprüfen.
Verwandte Artikel#
- IPv6 Grundlagen — Lernen Sie die Grundlagen der IPv6-Adressierung und warum IPv6 existiert
- IPv6 Firewall-Konfiguration — Konfigurieren Sie Ihre Firewall, um essentielles ICMPv6 zu erlauben und dabei Sicherheit zu wahren
- Wie man IPv6 aktiviert — Bringen Sie IPv6 auf Ihren Geräten und Netzwerk mit ordentlicher NDP-Konfiguration zum Laufen
Testen Sie Ihr Netzwerk
Verwenden Sie unser Ping-Tool, um ICMPv6-Konnektivität zu testen, und unser Traceroute-Tool, um ICMPv6 Time Exceeded Nachrichten in Aktion zu sehen.
Häufig gestellte Fragen#
Kann ich ICMPv6-Ping blockieren wie bei IPv4-ICMP?
Sie können Echo Request/Reply (Typen 128-129) rate-limitieren oder blockieren, ohne Konnektivität zu zerstören, aber es macht Troubleshooting viel schwieriger. Anders als IPv4, wo ICMP hauptsächlich diagnostisch ist, enthält ICMPv6 essentielle Funktionen wie Neighbor Discovery und Path MTU Discovery, die Sie niemals blockieren dürfen. Blockieren Sie Ping, wenn Sie wollen, aber blockieren Sie niemals Typen 1, 2 oder 133-136.
Warum verwendet NDP Multicast statt Broadcast wie ARP?
Multicast ist effizienter. IPv4-ARP sendet Broadcasts, die jeder Host im Netzwerk verarbeiten muss, auch wenn sie nicht das Ziel sind. IPv6-NDP verwendet Solicited-Node Multicast-Adressen, die aus der IPv6-Adresse des Ziels berechnet werden. Nur Hosts mit passenden Adressen verarbeiten das Paket — alle anderen filtern es in Hardware. Dies reduziert CPU-Last und Netzwerkrauschen, besonders auf großen Netzwerken.
Was ist der Unterschied zwischen Router Solicitation und Router Advertisement?
Router Solicitation (Typ 133) ist eine von Hosts gesendete Anfrage, die Router bittet, sich sofort anzukündigen. Router Advertisement (Typ 134) ist die von Routern gesendete Antwort, die Netzwerkpräfixe, Konfigurationsparameter und Router-Informationen enthält. Router senden auch RAs periodisch ohne Solicitation. RS lässt Hosts beim Booten schnell Konfiguration erhalten, statt auf das nächste periodische RA zu warten.
Wie oft sollten Router Router Advertisements senden?
RFC 4861 empfiehlt RAs zwischen 200-600 Sekunden (3,3-10 Minuten) auseinander. Die meisten Implementierungen verwenden standardmäßig 200 Sekunden. Router antworten auch sofort auf Router Solicitations. Das Intervall balanciert schnelle Konfiguration für neue Hosts mit minimalem Netzwerk-Overhead. Zu häufig verschwendet Bandbreite; zu selten verzögert Auto-Konfiguration.
Warum erfordern einige ICMPv6-Nachrichten Hop Limit 255?
Die Hop Limit 255-Anforderung verhindert, dass Off-Link-Angreifer gefälschte Neighbor Discovery Nachrichten senden. Legitime NDP-Pakete stammen vom lokalen Link und verwenden immer Hop Limit 255. Pakete von entfernten Angreifern würden durch Router gehen und das Hop Limit dekrementieren. Durch Ablehnen von Paketen mit Hop Limit < 255 schützen sich Hosts vor bösartigen Router Advertisements und Neighbor Advertisements von außerhalb des lokalen Netzwerks.