IPv6 und Neighbor Discovery

Veröffentlicht am:

Die wichtigsten Befehle zum Merken

  • ip -6 address — IPv6-Adressen und Präfixe untersuchen.
  • ip -6 route — IPv6-Routen und Gateways untersuchen.
  • ip -6 neigh — IPv6-Nachbarn und ihre Link-Layer-Adressen untersuchen.

Befehle und Optionen

Diese Befehle kommen im kurzen Beispiel unten vor.

Befehl Bedeutung
ip -6 address show IPv6-Adressen, Präfixe, Gültigkeitsbereiche und Adresskennzeichen anzeigen.
ip -6 route show Die IPv6-Hauptroutingtabelle anzeigen.
ip -6 neigh show Die IPv6-Nachbartabelle anzeigen.

-6 wählt IPv6. Das sind die Adress-, Routen- und Nachbarsichten aus den vorherigen Trips, jetzt für eine andere IP-Version. Die Netzwerkkonfiguration wird nicht verändert.

Die entscheidenden Konzepte

1. IPv6 verwendet einen größeren Adressraum

Eine IPv6-Adresse enthält 128 statt der 32 Bits von IPv4. Sie wird in acht hexadezimalen Gruppen mit Doppelpunkten geschrieben. Führende Nullen einer Gruppe dürfen entfallen. :: ersetzt aufeinanderfolgende Nullgruppen und darf nur einmal pro Adresse vorkommen.

2001:db8:1::2 ist beispielsweise eine verkürzte Adresse aus einem Dokumentationsbereich. Bei 2001:db8:1::2/64 beschreiben die ersten 64 Bits das Präfix. /64 ist für IPv6-LAN-Subnetze üblich. Die Routingtabelle bestimmt, welche Ziele Linux als direkt erreichbar behandelt.

IPv6 ist eine separate Protokollversion. Funktionierendes IPv4 beweist keine IPv6-Verbindung und umgekehrt.

2. Eine Schnittstelle kann Adressen mit unterschiedlichen Gültigkeitsbereichen haben

Eine IPv6-Schnittstelle besitzt häufig eine Link-Local-Adresse aus fe80::/10 und weitere Adressen. Link-Local-Adressen gelten nur auf ihrer Verbindung. Router leiten Verkehr mit diesen Adressen nicht auf andere Links weiter.

Sie ermöglichen die Kommunikation mit lokalen Routern und Nachbarn auch ohne Internetzugang. Eine Schnittstelle kann zusätzlich globale oder private Adressen besitzen. Manche Konfigurationen ergänzen temporäre Adressen für mehr Privatsphäre. Eine IPv6-Adresse wird nicht zwangsläufig aus der MAC-Adresse abgeleitet.

In Linux-Ausgaben steht scope link für den lokalen Link. scope global allein beweist keine öffentliche Interneterreichbarkeit: Routen und das umgebende Netzwerk bleiben entscheidend.

3. Neighbor Discovery übernimmt die lokale Auflösung von ARP

IPv6 verwendet Neighbor Discovery (ND) als Teil von ICMPv6, um die Link-Layer-Adresse eines lokalen nächsten Hops aufzulösen. Es verwendet kein ARP.

Bei der ersten Adressauflösung über Ethernet sendet ein Host eine Neighbor Solicitation an eine zur Zieladresse gehörende Solicited-Node-Multicast-Gruppe. Das Ziel antwortet normalerweise mit einer Neighbor Advertisement samt Link-Layer-Informationen. Linux speichert die Zuordnung.

Multicast adressiert eine Gruppe statt aller Schnittstellen wie ein Broadcast. IPv6 besitzt keine Broadcast-Adressierung. Die Gruppenanfrage verringert, wer die Auflösung verarbeiten muss. Ein Switch kann Multicast-Frames dennoch lokal fluten.

4. ICMPv6 unterstützt den grundlegenden Netzwerkbetrieb

Neighbor Discovery ordnet nicht nur Adressen zu. Es unterstützt die Routererkennung und die Prüfung der Nachbarerreichbarkeit. Seine Nachrichten helfen außerdem zu prüfen, ob eine Adresse vor ihrer Zuweisung bereits verwendet wird: Duplicate Address Detection.

Router Advertisements können Präfixe und Informationen über Standardrouter bekannt geben und die automatische Adresskonfiguration unterstützen. ICMPv6 transportiert damit grundlegende Netzwerkkontrollnachrichten neben diagnostischen Echo-Nachrichten.

Für ein entferntes Ziel löst Linux die lokale Adresse des nächsten Routers auf, nicht die MAC des entfernten Hosts. Adresse → Route → Nachbar bleibt die hilfreiche Reihenfolge, um die Zustellung zu verstehen.

Ein kleines Beispiel

Optional: Führe diese Befehle in einem Linux-Terminal mit installiertem iproute2 aus. Administratorrechte sind nicht erforderlich:

ip -6 address show
ip -6 route show
ip -6 neigh show

Suche in den Adressen nach inet6, /PRÄFIX und scope. ::1 ist Loopback: Die Maschine spricht mit sich selbst. Eine Link-Local-Adresse allein belegt keinen Weg über die lokale Verbindung hinaus.

In den Routen nennt dev die Schnittstelle und via den nächsten Router. Ein Standardrouter kann eine Link-Local-Adresse verwenden. Die Schnittstelle sagt Linux, zu welchem Link diese gehört.

In der Nachbartabelle ist lladdr die Link-Layer-Adresse. Der abschließende Zustand beschreibt die Erreichbarkeit. REACHABLE bedeutet kürzlich bestätigt. STALE ist eine gespeicherte Zuordnung, die erneut bestätigt werden muss, kein automatischer Fehler. Adressen, Routen und Nachbarn variieren. Leere Routen- oder Nachbarausgaben können ohne konfigurierte IPv6-Verbindung oder aktuelle Nachbaraktivität normal sein.

Das Beispiel liest vorhandenen Zustand. Es erzeugt oder erfasst keinen Neighbor-Discovery-Verkehr. Aufräumen ist nicht erforderlich.

Merke dir: IPv6 hat eigene Adressen und Routen und verwendet ICMPv6 Neighbor Discovery, um den lokalen nächsten Hop zu erreichen.