Workshop: IPv6-Tuning mit der Netshell

IPv6-Werkzeugkasten an Bord

Auch wenn Windows über das Netzwerk- und Freigabecenter in den Eigenschaften der Netzwerk-Schnittstellen ein Dialogfenster zur Konfiguration von IPv6 bereitstellt, kratzt dieses nur an der Oberfläche. IPv6 bringt viele neue Features und Konzepte mit sich, die sich in erster Linie über das Kommandozeilen-basierte Tool Netshell administrieren lassen. Dieser Artikel zeigt die Verwaltung und Optimierung wichtiger IPv6-Dienste mit der Netshell.
Die Verwaltung von IT-Landschaften wird immer komplexer - die explosionsartige Vermehrung mobiler Clients ist nur eine der vielen Erschwernisse. Zeit also für ... (mehr)

Für eine Grundkonfiguration von IPv6 ist die Windows-Eingabemaske der Netzwerk-Schnittstelle ausreichend (Bild 1). Hier können Sie die folgenden Werte für jede IPv6-aktivierte Schnittstelle festlegen: IPv6-Adresse(n), Präfix (in der Regel “/64”), Standardgateway(s), DNS-Server, Registrierung beim DNS-Server, Verwendung der DNS-Suffixlisten.

Die Registerkarte für die NetBIOS-Konfiguration ist hier nicht mehr vorhanden, da NetBIOS IPv6 nicht unterstützt. Auch wenn sich die oben stehende Liste so liest, als wäre damit die Konfiguration von IPv6 vollständig, stimmt dies nur bedingt. IPv6 bietet diverse weitere Funktionen, die über diese Dialogmaske nicht steuerbar sind. Außerdem ist die Übersicht, die die Anzeige der Netzwerkverbindungsdetails über den Button "Details" ausgibt, bezüglich der IPv6-Konfiguration sehr rudimentär (Bild 2). Da ist deutlich mehr herauszuholen, wenn Sie sich der richtigen Tools bedienen. Das Tool der Wahl ist hier die Netshell.

Arbeiten mit der Netshell

Mit der Netshell lassen sich nahezu alle Netzwerk-spezifischen Parameter von Windows sowie des TCP/IP-Stacks anpassen und anzeigen. Sie ist gleichermaßen für IPv4 wie auch für IPv6 verwendbar. Während IPv4 häufig kein weiteres Tuning erfordert, ist die Netshell bei IPv6 allerdings in vielen Fällen unverzichtbar.

Die Netshell wird über das Kommando »netsh« in der Eingabeaufforderung gestartet. Dabei kann der Administrator entweder einen kompletten Befehl übergeben oder die Netshell den interaktiven Modus nutzen. Er hat den Vorteil, dass die Netshell ausführliche Hilfe bereitstellt und im jeweiligen Kontext verbleibt. So ersparen Sie sich Tipparbeit.

Beachten Sie, dass Sie die Eingabeaufforderung im administrativen Modus starten müssen, wenn Sie Änderungen an der Konfiguration vornehmen wollen. Geben Sie den Befehl »netsh« ohne Parameter ein, startet der interaktive Modus. Der Kontext für die IPv6-Konfiguration lautet »interface ipv6« und muss im Anschluss in der interaktiven Shell eingegeben werden. Die Netshell zeigt dann das Prompt »netsh interface ipv6« an.

Es reicht, wenn das jeweilige Kommando soweit eingegeben wird, bis es eindeutig ist. Statt »interface ipv6« reicht zum Beispiel »int ipv6« . Über Eingabe von Fragezeichen können Sie jederzeit die Kontexthilfe aufrufen. Dies gilt auch für angefangene Befehle. Geben Sie im Kontext »netsh interface ipv6« zum Beispiel »show ?« ein, zeigt die Netshell sämtliche Show-Befehle, die in diesem Kontext zur Verfügung stehen. Das Hilfe-System ist einfach, intuitiv und sehr nützlich, um sich durch die Befehls-Syntax zu hangeln. Durch Eingabe von zwei Punkten gelangen Sie in den übergeordneten Kontext, und mit »exit« verlassen Sie die interaktive Netshell.

IPv6 und MAC-Adressen

Die Netshell zeigt über Show-Kommandos sämtliche Konfigurations- und Statusdetails zu IPv6 und seinen Subkomponenten an. Hierzu gehört zum Beispiel der Inhalt des Neighbor-Caches. Er entspricht dem ARP-Cache bei IPv4. ARP wurde bei IPv6 durch Neighbor Discovery abgelöst. Bei der Auflösung einer IPv6-Adresse in eine Link-Layer-Adresse (MAC-Adresse) wird ein entsprechender Eintrag im Neighbor-Cache (bei Windows in deutscher Sprache “Nachbarcache” genannt) erzeugt. Den Inhalt dieses Cache-Speichers können Sie mit dem Befehl »netsh interface ipv6 show neighbor« anzeigen. Sind Sie bereits im richtigen Kontext, reicht die Eingabe von »show neighbor« beziehungsweise die Kurzform »sh n« (Bild 3).

Bild 1: Die Standard-Eingabemaske für IPv6 bietet nur die Basiseinstellungen.

Für jede Schnittstelle werden die Zuordnungen von IPv6-Adresse zu Link-Layer-Adresse separat aufgeführt. Auch Tunnel- und Pseudo-Interfaces erhalten einen eigenen Abschnitt. Neben den Unicast-Adressen werden auch diverse Multicast-Adressen aufgeführt. Hierbei handelt es sich um permanente Einträge, wie die letzte Spalte der Ausgabe anzeigt. Hier sind die Link-Layer-Adressen unveränderlich.

Entsprechend der Neighbor Unreachability Detection (NUD) besitzt jeder Unicast-Eintrag einen Status, hier “Typ” genannt, unter anderem:

- Erreichbar (reachable): Der Eintrag ist gültig, die MAC-Adresse verwendbar.

- Nicht erreichbar (incomplete): Der Eintrag ist nicht gültig, die aktuelle MAC-Adresse konnte nicht ermittelt werden.

- Abgelaufen (stale): der Eintrag hat einen Timeout-Wert (standardmäßig 30 Sekunden) überschritten und muss vor seiner nächsten Verwendung aktualisiert werden.

Wie auch bei IPv4 können bei IPv6 statische Einträge für die Zuordnung bestimmter IPv6-Adressen zu den passenden Link-Layer-Adressen vorgenommen werden. Hierzu geben Sie die Schnittstelle, die IPv6-Adresse und die Link-Layer-Adresse an, wie das folgende Beispiel zeigt:

netsh interface ipv6 set neighbors “LAN-Verbindung” “fd00:1234::1” “ab-cd-ef-01-23-45”

Gibt die Netshell ein schlichtes “OK” oder gar nichts aus, wurde der Befehl akzeptiert.

Der so festgelegte Eintrag erscheint im Neighbor-Cache als Typ “permanent”. Allerdings haben derartige Konfigurationsänderungen grundsätzlich nur bis zum nächsten Neustart Bestand. Möchten Sie die Änderungen dauerhaft speichern, ergänzen Sie den jeweiligen Konfigurationsbefehl mit store=persistent. Dies gilt für alle Konfigurationsbefehle innerhalb der Netshell.

Bild 2: Und auch die Verbindungsdetails verraten bezüglich IPv6 nur das Nötigste.
comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023