IPv6/WindowsIPv6ImWindowsNetz: Unterschied zwischen den Versionen

Aus Foxwiki
Die Seite wurde neu angelegt: „== IPv6-Grundkonfiguration für Windows == '''Seit Windows XP ist IPv6 in Windows integriert, bei XP noch optional als installierbare Komponente. Mit Windows Vista wurde der IP-Stack von Windows komplett überarbeitet. Seitdem ist IPv6 fester Bestandteil der Windows-Netzwerk-Komponenten und kann zwar deaktiviert, aber nicht mehr deinstalliert werden. In diesem Beitrag wird die Grundkonfiguration von Windows-Systemen für IPv6 mit Hilfe der Netshell beschr…“
 
 
(4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
== IPv6-Grundkonfiguration für Windows ==
== IPv6 im Windows-Netz ==
'''Seit Windows XP ist IPv6 in Windows integriert, bei XP noch optional als installierbare Komponente. Mit Windows Vista wurde der IP-Stack von Windows komplett überarbeitet. Seitdem ist IPv6 fester Bestandteil der Windows-Netzwerk-Komponenten und kann zwar deaktiviert, aber nicht mehr deinstalliert werden. In diesem Beitrag wird die Grundkonfiguration von Windows-Systemen für IPv6 mit Hilfe der Netshell beschrieben.'''
; IPv6 immer noch das ungeliebte Kind der IT
* Und gemessen an den Konfigurationsbeispielen im Web scheint es bestenfalls von Linux-Anwendern umsorgt zu werden
* Administratoren sollten IPv6 jedoch schon aus Sicherheitsgründen auch in einem Windows-Netz ihr Augenmerk widmen


Die IPv4-Konfiguration erfolgt bei Windows in aller Regel über die grafische Oberfläche. Über das Netzwerk- und Freigabecenter können die Adaptereinstellungen geändert werden.
IPv6 hat Jahre nach seiner Standardisierung die IT-Welt bisher nicht erobert, obwohl die Kinderkrankheiten des aus damaliger Sicht wegweisenden Internetprotokolls überwunden sind


[[Image:Bild40.png|top|alt="adaptereigenschaften"]]
Immer mehr Programme von Microsoft nutzen IPv6 auch für die interne Kommunikation
* Seit Windows Vista ist es standardmäßig aktiviert
* Es lohnt sich also auf jeden Fall, sich mit IPv6 auseinanderzusetzen
* Einen Einstieg und Überblick bietet unter anderem der IPv6-Leitfaden der ''iX'' [http://www.heise.de/ix/heft/Anschub-2197665.html#literaturverzeichnis [1]]


''Abbildung 1: Die Adaptereigenschaften aufrufen''
Ähnlich wie bei IPv4 generiert Windows automatisch eine Link-Local-Adresse, wenn es keinen DHCP-Server findet
* Aber während mittels IPv4 trotzdem keine Verbindung zu anderen Systemen zustande kommt, können IPv6-fähige Geräte direkt miteinander kommunizieren


In den Eigenschaften von ''Internetprotokoll Version 6 (TCP/IPv6)'' finden wir eine ganz ähnliche Dialogmaske, in der die wichtigsten IPv6-Informationen eingegeben werden können:* IPv6-Adresse
Eigentlich eine praktische Sache, die aber zu unerwünschten Effekten führen kann, wenn sich die Systeme eigentlich in voneinander getrennten Netzsegmenten befinden sollen
* Präfix
* Selbst in einfachen Netzen sollte IPv6 nicht unkonfiguriert bleiben: Mittels Router Advertisement kann ein Angreifer andernfalls leicht die Kontrolle über das gesamte Netz erlangen [c]
* Standardgateway
* DNS-Server
* verbindungsspezifisches DNS-Suffix (unter ''Erweitert…'')


[[Image:Bild41.png|top|alt="ipv6-konfig"]]
Neben den Windows-Clients gilt daher der Sicherheitsausrüstung im Netz besonderes Augenmerk
* Wer eine IPv6-fähige Firewall wie die Sophos UTM nutzt, kann das „Prefix Advertisement“ übernehmen, sofern IPv6 dort aktiviert ist


''Abbildung 2: Die IPv6-Konfigurationsmaske''
Die Clients erhalten dann ähnlich wie bei DHCP ein Präfix, mit dem sie die eigenen IPv6-Adressen bilden
* Sodann benötigen die Server statische IPv6-Adressen – etwa Präfix+::1
* In diesem Szenario sollten die Firewall-Regeln für IPv6 entsprechend eingerichtet sein, da ja jedes Gerät im Netz eine prinzipiell routbare IP-Adresse hat, wenn IPv6-Datenverkehr entweder nativ oder via Tunnelbroker internetseitig zur Firewall gelangt


Diese Grundeinstellungen sind dann auch über die Eingabeaufforderung (cmd) mittels ipconfig /all zu sehen:
=== Knackpunkt Gateway ===
Wenn die Firewall jedoch nur IPv4 beherrscht, bietet es sich an, einen DHCPv6-Server einzurichten
* Sollte es kein Gateway für IPv6 geben, bleibt das Feld „Standardgateway“ leer – anders als IPv4 ist IPv6 in dieser Hinsicht recht zimperlich
* Der Server hingegen muss als „Next Hop“ bekannt sein und auch via IPv6 gestellte Anfragen weiterleiten, was sich per Kommandozeile wie folgt konfigurieren lässt:
Netsh interface ipv6 set interface 12 forwarding=ENABLED


[[Image:Bild42.png|top|alt="ipconfig1"]]
In diesem Fall dient die 12 als Interface-Index, an den IPv6 gebunden ist
* Er lässt sich bei Bedarf mit dem PowerShell-Befehl ''Get-NetIPAddress -AddressFamily IPv6'' ermitteln
* Intern verwendet man wie unter IPv4 private, nicht im Internet routbare Adressbereiche, sogenannte Unique Local Addresses [d] aus dem Bereich fc00:/7


''Abbildung 3: Ausgabe von ipconfig /all''
Über Services wie den von Simple DNS Plus [e] kann man sich eine einmalige ULA generieren lassen, in diesem Fall die folgende, die hier anstelle der sonst üblichen, nicht praxistauglichen Beispieladressen herhalten soll:
Prefix/L: fd
Global ID: fe4a8d628d
Subnet ID: 0079
Combined/CID: fdfe:4a8d:628d:0079::/64
IPv6 addresses: fdfe:4a8d:628d:0079:xxxx:xxxx:xxxx:xxxx


Die Ausgabe von ipconfig /all zeigt die komplette IP/IPv6-Konfiguration. Es werden sowohl IPv4- als auch IPv6-Informationen direkt untereinander angezeigt. Hier sehen wir auch, dass die [http://www.ipv6-world.de/link-local-adressen/ Link-Local-Adresse] mit %11 endet. Dies ist die so genannte Zone ID. Diese ID ist notwendig, um die Link-Local-Adresse einer Schnittstelle eindeutig zuzuordnen.
Die folgende Anleitung nutzt die so generierten Daten, um die Einrichtung von IPv6 auf einem Server 2012 (R2) zu demonstrieren
* Dabei sei vorausgesetzt, dass der DHCP-Dienst für IPv4 bereits läuft


Das Problem ist, dass Link-Local-Adressen für jedes Interface gebildet werden, aber immer dasselbe Präfix FE80::/64 nutzen. Damit sind sie nicht mehr eindeutig einem Link zuzuordnen. Um für dieses Problem Abhilfe zu schaffen, wird die Zone ID genutzt. Sie identifiziert die zur Adresse zugehörige Schnittstelle eindeutig, in dem sie die interne Schnittstellen-ID angibt.
Wie bei IPv4 erhält der Domaincontroller eine statische IP-Adresse, im Beispiel die fdfe:4a8d:628d:0079::1


Obwohl die Ausgabe von ipconfig /all bereits recht komplex wirkt, sind hier doch bei weitem nicht alle Informationen ersichtlich. Wollen wir hinter die Kulissen der IPv6-Konfiguration schauen oder andere Aspekte konfigurieren, müssen wir einen anderen Weg gehen. Neben der ''Powershell'' ist die alterwürdige ''Netshell'' das geeignete Tool, um IPv6 zu tunen und weitergehende Informationen zur IPv6-Konfiguration zu erhalten.
: Image:Bild11.png|top


Die Netshell kann über die Eingabeaufforderung aufgerufen werden und entweder als kompletter, einzeiliger Befehl oder interaktiv eingesetzt werden. Der interaktive Modus hat den Vorteil der einfacheren Hilfestellung und geringeren Schreibarbeit bei umfangreicheren Arbeiten.
Der Bereichserstellungs-Assistent legt hier Wert auf je einen Doppelpunkt vor den gewünschten Adress-Eingaben (Abb. 1)


Der interaktive Modus wird über den Befehl netsh aufgerufen. Im Anschluss wird die Netshell geöffnet und zeigt einen Prompt an. Die Netshell ist in Kontexte unterteilt. In den IPv6-Kontext wechseln Sie durch die Eingabe von interface ipv6. Durch Eingabe von Fragezeichen (?) kann jederzeit die Kontexthilfe aufgerufen werden. Sie enthält zum Teil auch Beispiele, wie der jeweilige Befehl eingesetzt werden kann. Beachten Sie, dass jeder Befehl nur soweit geschrieben werden muss, bis er eindeutig ist. So ist der Befehl netsh interface ipv6 show addresses durch die Kurzform netsh in ipv6 sh a ersetzbar.
Sodann gilt es im DHCP einen neuen Bereich anzulegen
* Dafür steht ein Assistent zur Verfügung (siehe Abbildung 1)
* Es folgen das Präfix fdfe:4a8d:628d:0079: sowie die Ausnahmen von der automatisierten Adressenverteilung, hier der Bereich von 1 bis 256, etwa für die festen IP-Adressen der Server


In erster Linie sind im Kontext netsh int ipv6 die folgenden drei Befehle nützlich:
Im nächsten Schritt gibt der Administrator die Lease-Dauer an
* show – zeigt alle relevanten Informationen an
* Schließlich fasst der Assistent die gewünschten Parameter zusammen
* set – ermöglicht die Festlegung diverser Konfigurationsparameter
* add – fügt einer Tabelle weitere Einträge hinzu. Tabellen beziehen sich auf Interfaces, Neighbor Discovery, Gateways, etc.


Diese Befehle müssen durch Parameter ergänzt werden. Beginnen wir mit dem Befehl show:
[[Image:Bild12.png|top]]


netsh interface ipv6 show interfaces
Eine ping-Anfrage erhält nur dann eine Antwort, wenn die Firewall dies zulässt (Abb. 2)


zeigt eine Übersicht über alle vorhandenen Interfaces. hier geht aus der ersten Spalte auch der Interface-Index hervor, der die Zone ID bildet (siehe Link-Local-Adressen oben).
Analog zu IPv4 sind nun verschiedene Server-Optionen einzustellen
* Zu den wichtigsten Informationen zählt die IPv6-Adressliste für DNS-Server zum Zweck der rekursiven Namensauflösung unter Angabe des Domaincontrollers


[[Image:Bild43.png|top|alt="show_int"]]
Hinzu kommt der Domainname für die Domain-Suchliste
* Damit sich die IPv6-Verbindung mittels ''ping'' überprüfen lässt, muss die entsprechende Firewall-Regel greifen (Abb. 2)
* Damit ist die Konfiguration serverseitig abgeschlossen


''Abbildung 4: Die Interface-Übersicht''
Listing : IPv6 mittels PowerShell konfigurieren


Ein weiterer wichtiger Befehl ist der folgende:
<nowiki># Konfiguration der Netzwerkkarte</nowiki>
New-NetIPAddress -InterfaceAlias "Ethernet" -IPv6Address
fdfe:4a8d:628d:0079::1 -PrefixLength 64
Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses
fdfe:4a8d:628d:0079::1
New-NetRoute -DestinationPrefix fdfe:4a8d:628d:0079::/64 -InterfaceAlias
"Ethernet" -NextHop fdfe:4a8d:628d:0079::254 -AddressFamily IPv6


netsh interface ipv6 show addresses
<nowiki># Definition des DHCPv6-Bereichs</nowiki>
Add-DhcpServerv6Scope -Name "IPv6 Bereich" -Description "Default IPv6
Bereich" -Prefix fdfe:4a8d:628d:0079:: -PreferredLifeTime 8.00:00:00
-ValidLifeTime 12.00:00:00 -State Active
Add-DhcpServerv6ExclusionRange -Prefix fdfe:4a8d:628d:0079:: -StartRange
fdfe:4a8d:628d:0079::1 -EndRange fdfe:4a8d:628d:0079::256
<nowiki># Setzen der DHCPv6-Optionen</nowiki>
set-DhcpServerv6OptionValue -DomainSearchList "sbsrv.lan"
set-DhcpServerv6OptionValue -DnsServer ::1,fdfe:4a8d:628d:0079::1
<nowiki># Konfiguration der Firewall</nowiki>
Set-NetFirewallRule -DisplayName "Datei- und Druckerfreigabe
(Echoanforderung - ICMPv6 eingehend)" -Enabled True -Direction Inbound
-Action Allow


Hiermit erhalten Sie eine Übersicht über alle zugewiesenen Adressen einschließlich des Adresstyps:
Wer die Kommandozeile gegenüber dem GUI-Assistenten bevorzugt, kann alternativ die PowerShell einsetzen
* Die bereits anhand des Assistenten beschriebenen Schritte lassen sich mit Administrator-Rechten angemeldet – per Befehlszeile erledigen (siehe Listing)


[[Image:Bild44.png|top|alt="show_add"]]
Jetzt sollte der Systemverwalter die weiteren Server entweder ebenfalls mit festen IPv6-Adressen ausstatten oder eine entsprechende Reservierung im DHCPv6-Bereich vornehmen


''Abbildung 5: Ausgabe von netsh interface ipv6 show addresses''
=== Clientseitige Konfiguration ===
Die Clients erhalten nun ihre IPv6-Adressen vom Server
* Endlich lassen sich alle Übergangsverfahren abschalten, beim Windows-8-Client respektive Server 2012 (R2) ebenfalls mithilfe der PowerShell
Set-Net6to4Configuration -State disabled
Set-NetTeredoConfiguration -Type disabled
Set-NetIsatapConfiguration -State disabled


Sie finden hier diverse Informationen wie z.B. den Adresstyp (hier wird in der Tabelle zwischen normalen Unicast-Adressen und Anycast-Adressen unterschieden!), den Status und die Gültigkeit der jweiligen Adresse, die bei der Autoconfiguration eine Rolle spielt.
Unter Windows kommen die ''netsh''-Befehle zum Einsatz, ebenfalls mit Administratorrechten auszuführen
netsh interface 6to4 set state disabled
netsh interface teredo set state disabled
netsh interface isatap set state disabled


Da ARP bei IPv6 nicht mehr existiert und demnach auch der ARP-Cache nicht mehr vorhanden ist, wird bei IPv6 der so genannte Neighbor-Cache genutzt. Er wird durch folgenden Befehl angezeigt:
Selbst beim Einsatz von DirectAccess sollte man prüfen, welches Protokoll aktiv ist
* Das seit Server 2012 bevorzugte „IPHTTPS“ wird hier nicht deaktiviert


netsh interface ipv6 show neighbor
=== IPv4 den Vorzug geben ===
Wer die Konfiguration nicht bei jedem Client einzeln vornehmen möchte, kann eine entsprechende Gruppenrichtlinie anlegen – in der folgenden Verschachtelungsebene: ''Computerkonfiguration/Richtlinien/Administrative Vorlagen/Netzwerk/TCP/IP-Einstellungen/IPv6-Übergangstechnologien''


In dieser Ausgabe sehen Sie neben der Link-Layer-Adresse (MAC-Adresse) und der dazugehörigen IPv6-Adresse – aufgeteilt nach Interfaces – auch den aktuellen Status des Eintrags, der durch die ''Neighbor Unreachability Detection'' (NUD) ermittelt und festgelegt wird.
Hier gilt es IP6-zu-IP4, ISATAP und Teredo zu deaktivieren
* Und nicht vergessen, anschließend die Gruppenrichtlinie mit der gewünschten Gruppe zu verknüpfen
* Nach diesen Änderungen ist die Ausgabe von ''ipconfig /all'' wieder deutlich übersichtlicher


[[Image:Bild45.png|top|alt="show_neigh"]]
Sobald IPv6 im Netz verfügbar ist, meldet sich bei ''ping'' die noch ungewohnte IPv6- statt der altbekannten IPv4-Adresse
* Zwar kann man ''ping'' über den Parameter -4 oder -6 das gewünschte Verhalten vorgeben
* In der Grundeinstellung hat IPv6 jedoch Vorrang vor IPv4
* Wer lieber die gewohnten IPv4-Adressen sehen will, kann das Verhalten über den Registry-Eintrag ''DisabledComponents'' unter ''HKEY_LOCAL:MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters\'' ändern, indem er den Wert 20 (hexadezimal) einträgt
* Sollte der Eintrag fehlen, ist er als DWORD-Wert (32 Bit) anzulegen
* Das Ganze funktioniert auch mit dem PowerShell-Befehl ''New-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters\ -name DisabledComponents -Value 0x20 -PropertyType dword''
* Nun hat IPv4 Priorität vor IPv6


''Abbildung 6: der Neighbor Cache''
Kommt im Netz auch DirectAccess zum Einsatz, muss das entsprechende Gateway als Standard-Gateway auf den IPv6-fähigen Servern eingetragen sein, die über DirectAccess erreichbar sein sollen, sofern es kein anderes IPv6-fähiges Gateway gibt
* Richtet man erst DirectAccess und dann IPv6 ein, sind die folgenden Befehle auf dem Server mit der DirectAccess-Rolle auszuführen – anderenfalls findet die Konfiguration automatisch statt:
netsh interface ipv6 add route fdfe:4a8d:628d:0079::/48 publish=yes interface = Ethernet
legt die Route für das gesamte Präfix inklusive der DirectAccess-Adressbereiche fest
netsh interface ipv6 set interface
12 forwarding=ENABLED


Zum Thema NUD existiert ein eigener Beitrag. Andererseits ist zu sehen, dass der Neighbor Cache prinzipiell analog zum ARP-Cache aufgebaut ist. Auch bei IPv6 kommunizieren die Systeme am lokalen Link auf dem Data Link-Layer über ihre Hardware-Adressen (bei IPv6 Link-Layer-Adressen genannt).
bewirkt das Weiterleiten von IPv6-Requests


Ob die Bildung von Adressen via Autoconfiguration mittels Privacy Extensions oder mittels EUI-64 geschieht, sehen Sie über die Ausgabe des folgenden Befehls:
=== Fazit ===
IPv6 lässt sich in kleinen Netzen recht schnell konfigurieren, wenn man die Feinheiten beachtet
* Gerade PowerShell kann viel Tipparbeit ersetzen
* Im Dual-Stack-Betrieb dürfte die sonstige Hardware kaum Schwierigkeiten bereiten; sie lässt sich ja weiterhin per IPv4 ansprechen
* In komplexeren Netzen liegt der wesentliche Aufwand meist im Entwerfen der neuen Netzwerkstruktur


netsh interface ipv6 show privacy
Die Verantwortlichen sollten es sich jedenfalls verkneifen, einfach bestehende Konzepte unhinterfragt abzubilden
* Die Einführung von IPv6 bietet oftmals eine Gelegenheit, alte Sünden im Netzdesign zu beheben


Er zeigt alle relevante Informationen zur Konfiguration der Autoconfiguration aus Sicht eines Endknotens:
=== Literatur ===
* IPv6-Leitfaden: Die Internet-Umgestaltung; iX Kompakt 4/2013


[[Image:Bild46.png|top|alt="show_priv2"]]
==== Quelle ====
* http://www.heise.de/ix/heft/Anschub-2197665.html


''Abbildung 7: Ausgabe von show privacy''
==== Onlinequellen ====
[a] The Cable Guy; Support for IPv6 in Windows Server 2008 R2 and Windows 7 [http://technet.microsoft.com/en-us/magazine/2009.07.cableguy.aspx http://technet.microsoft.com/en-us/magazine/2009.07.cableguy.aspx]


In erster Linie sehen wir in der ersten Zeile, ob die Privacy Extensions aktiviert sind oder nicht. Wenn hier der Wert ''disabled'' steht, wird die Adresse mittels EUI-64-Format (unter Nutzung der MAC-Adresse) gebildet.
[b] Ask Premier Field Engineering (PFE) Platforms; IPv6 for the Windows Administrator: Why you need to care about IPv6 [http://blogs.technet.com/b/askpfeplat/archive/2013/06/17/ipv6-for-the-windows-administrator-why-you-need-to-care-about-ipv6.aspx http://blogs.technet.com/b/askpfeplat/archive/2013/06/17/ipv6-for-the-windows-administrator-why-you-need-to-care-about-ipv6.aspx]


Darüber hinaus werden Grenzwerte angezeigt, die der Knoten zu akzeptieren bereit ist. Die konkreten Werte gibt weitgehend der Router in seinem Router Advertisement vor. Das Thema Autoconfiguration wird in einem eigenen Beitrag behandelt.
[c] Keeping it Classless; IPv6 Hacking – „thc-ipv6“ [Part 2] [http://keepingitclassless.net/2011/09/ipv6-hacking-thc-ipv6-part-2/ http://keepingitclassless.net/2011/09/ipv6-hacking-thc-ipv6-part-2/]


Wollen Sie die IPv6-Konfiguration anpassen, nutzen Sie die Befehle add und set. So lassen sich z.B. IPv6-Adressen folgendermaßen erstellen:
[d] Wikipedia; IPv6 [http://de.wikipedia.org/wiki/IPv6 http://de.wikipedia.org/wiki/IPv6]


netsh interface ipv6 add address "<Schnittstelle>" <IPv6-Adresse>/<Präfix> <Optionen>
[e] JH Software; Unique Private IPv6 Address Range Generator [http://www.simpledns.com/private-ipv6.aspx http://www.simpledns.com/private-ipv6.aspx]


Nachfolgend ein Beispiel für das Setzen der IPv6-Adresse 2001:db8:cafe::1/64 für die Schnittstelle LAN-Verbindung:
[f] Richard Hicks; Disabling Unused IPv6 Transition Technologies for DirectAccess Clients [http://directaccess.richardhicks.com/2013/08/27/disabling-unused-ipv6-transition-technologies-for-directaccess-clients/ http://directaccess.richardhicks.com/2013/08/27/disabling-unused-ipv6-transition-technologies-for-directaccess-clients/]


[[Image:Bild47.png|top|alt="add_address"]]
[[Kategorie:IPv6/Windows]]
 
''Abbildung 8: Definieren einer zusätzlichen IPv6-Adresse''
 
Zeigt die Netshell nach der Eingabe eines Befehls keine Antwort, ist dies eine stillschweigende Bestätigung des Befehls. Dass die Adresse zusätzlich (!) übernommen wurde, zeigt die Ausgabe von ipconfig
oder netsh interface ipv6 show addresses:
 
[[Image:Bild48.png|top|alt="ipconfig2"]]
 
''Abbildung 9: Die zusätzliche Adresse wird angezeigt''
 
Soll die Adresse auch nach einem Neustart verfügbar sein, können Sie an den Befehl die Option store=persistent anfügen – diese ist allerdings auch der Default-Wert. Soll die Konfiguration nur für die aktuelle Session gelten, fügen Sie store=active an. Soll eine Anycast-Adresse festgelegt werden, geht dies durch den folgenden Befehl:
 
netsh interface ipv6 add address 11 2001:db8:beef::1/64 anycast
 
In diesem Fall steht die 11 für das gewünschte Interface und kann alternativ zum Namen der Schnittstelle angegeben werden. der Zusatz anycast kann auch als type anycast angegeben werden. Die Ausgabe von netsh interface ipv6 show addresses zeigt nun die hinzugekommene Adresse:
 
[[Image:Bild49.png|top|alt="show_add2"]]
 
Abbildung 10: Die neue Anycast-Adresse wird angezeigt
 
Möchten Sie das Standardgateway oder eine statische Route setzen, nutzen Sie add route. Das folgende Beispiel zeigt das Setzen des Standardgatways:
 
netsh interface ipv6 add route ::/0 "LAN-Verbindung" 2001:db8:affe::1
 
Hierbei ist zu bemerken, dass ::/0 die Standardroute definiert und die Angabe einer Global-Unicast-Adresse für das Standardgateway zwar funktioniert, eleganter jedoch die Angabe der Link-Local-Adresse des Standardgateways wäre. Analog zum Beispiel oben geschieht das Setzen von statischen Routen.
 
Ein weiterer wichtiger Paramter ist die Angabe des oder der DNS-Server. Einen (zusätzlichen) DNS-Server geben Sie durch den folgenden Befehl ein:
 
netsh interface ipv6 add dnsserver <Schnittstelle> <DNS-Server>
 
Das folgende Beispiel zeigt das Setzen eines DNS-Servers:
 
[[Image:Bild50.png|top|alt="dnssevers"]]
 
''Abbildung 11: Definieren eines DNS-Servers''
 
Das Beispiel zeigt, dass der festgelegte DNS-Server auch gleich überprüft wird. Ist er nicht erreichbar, wird eine Fehlermeldung ausgegeben, der Eintrag wird dennoch erzeugt, wie der anschließende Befehl netsh interface ipv6 show dnsserver zeigt.
 
Für eine Grundkonfiguration reichen meistens die hier vorgestellten Befehle. In der Netshell sind auch so ziemlich alle anderen Parameter, die mit IPv6 zusammenhängen, konfigurierbar. In den entsprechenden Beiträgen (z.B. zum Thema Neighbor Discovery oder Autoconfiguration) werden die passenden Netshell-Kommandos gezeigt und erläutert.
 
Quelle: http://www.ipv6-akademie.de/ipv6-grundkonfiguration-fur-windows/

Aktuelle Version vom 18. Januar 2024, 20:51 Uhr

IPv6 im Windows-Netz

IPv6 immer noch das ungeliebte Kind der IT
  • Und gemessen an den Konfigurationsbeispielen im Web scheint es bestenfalls von Linux-Anwendern umsorgt zu werden
  • Administratoren sollten IPv6 jedoch schon aus Sicherheitsgründen auch in einem Windows-Netz ihr Augenmerk widmen

IPv6 hat Jahre nach seiner Standardisierung die IT-Welt bisher nicht erobert, obwohl die Kinderkrankheiten des aus damaliger Sicht wegweisenden Internetprotokolls überwunden sind

Immer mehr Programme von Microsoft nutzen IPv6 auch für die interne Kommunikation

  • Seit Windows Vista ist es standardmäßig aktiviert
  • Es lohnt sich also auf jeden Fall, sich mit IPv6 auseinanderzusetzen
  • Einen Einstieg und Überblick bietet unter anderem der IPv6-Leitfaden der iX [1]

Ähnlich wie bei IPv4 generiert Windows automatisch eine Link-Local-Adresse, wenn es keinen DHCP-Server findet

  • Aber während mittels IPv4 trotzdem keine Verbindung zu anderen Systemen zustande kommt, können IPv6-fähige Geräte direkt miteinander kommunizieren

Eigentlich eine praktische Sache, die aber zu unerwünschten Effekten führen kann, wenn sich die Systeme eigentlich in voneinander getrennten Netzsegmenten befinden sollen

  • Selbst in einfachen Netzen sollte IPv6 nicht unkonfiguriert bleiben: Mittels Router Advertisement kann ein Angreifer andernfalls leicht die Kontrolle über das gesamte Netz erlangen [c]

Neben den Windows-Clients gilt daher der Sicherheitsausrüstung im Netz besonderes Augenmerk

  • Wer eine IPv6-fähige Firewall wie die Sophos UTM nutzt, kann das „Prefix Advertisement“ übernehmen, sofern IPv6 dort aktiviert ist

Die Clients erhalten dann ähnlich wie bei DHCP ein Präfix, mit dem sie die eigenen IPv6-Adressen bilden

  • Sodann benötigen die Server statische IPv6-Adressen – etwa Präfix+::1
  • In diesem Szenario sollten die Firewall-Regeln für IPv6 entsprechend eingerichtet sein, da ja jedes Gerät im Netz eine prinzipiell routbare IP-Adresse hat, wenn IPv6-Datenverkehr entweder nativ oder via Tunnelbroker internetseitig zur Firewall gelangt

Knackpunkt Gateway

Wenn die Firewall jedoch nur IPv4 beherrscht, bietet es sich an, einen DHCPv6-Server einzurichten

  • Sollte es kein Gateway für IPv6 geben, bleibt das Feld „Standardgateway“ leer – anders als IPv4 ist IPv6 in dieser Hinsicht recht zimperlich
  • Der Server hingegen muss als „Next Hop“ bekannt sein und auch via IPv6 gestellte Anfragen weiterleiten, was sich per Kommandozeile wie folgt konfigurieren lässt:
Netsh interface ipv6 set interface 12 forwarding=ENABLED

In diesem Fall dient die 12 als Interface-Index, an den IPv6 gebunden ist

  • Er lässt sich bei Bedarf mit dem PowerShell-Befehl Get-NetIPAddress -AddressFamily IPv6 ermitteln
  • Intern verwendet man wie unter IPv4 private, nicht im Internet routbare Adressbereiche, sogenannte Unique Local Addresses [d] aus dem Bereich fc00:/7

Über Services wie den von Simple DNS Plus [e] kann man sich eine einmalige ULA generieren lassen, in diesem Fall die folgende, die hier anstelle der sonst üblichen, nicht praxistauglichen Beispieladressen herhalten soll:

Prefix/L: fd
Global ID: fe4a8d628d
Subnet ID: 0079
Combined/CID: fdfe:4a8d:628d:0079::/64
IPv6 addresses: fdfe:4a8d:628d:0079:xxxx:xxxx:xxxx:xxxx

Die folgende Anleitung nutzt die so generierten Daten, um die Einrichtung von IPv6 auf einem Server 2012 (R2) zu demonstrieren

  • Dabei sei vorausgesetzt, dass der DHCP-Dienst für IPv4 bereits läuft

Wie bei IPv4 erhält der Domaincontroller eine statische IP-Adresse, im Beispiel die fdfe:4a8d:628d:0079::1

Image:Bild11.png|top

Der Bereichserstellungs-Assistent legt hier Wert auf je einen Doppelpunkt vor den gewünschten Adress-Eingaben (Abb. 1)

Sodann gilt es im DHCP einen neuen Bereich anzulegen

  • Dafür steht ein Assistent zur Verfügung (siehe Abbildung 1)
  • Es folgen das Präfix fdfe:4a8d:628d:0079: sowie die Ausnahmen von der automatisierten Adressenverteilung, hier der Bereich von 1 bis 256, etwa für die festen IP-Adressen der Server

Im nächsten Schritt gibt der Administrator die Lease-Dauer an

  • Schließlich fasst der Assistent die gewünschten Parameter zusammen

Datei:Bild12.png

Eine ping-Anfrage erhält nur dann eine Antwort, wenn die Firewall dies zulässt (Abb. 2)

Analog zu IPv4 sind nun verschiedene Server-Optionen einzustellen

  • Zu den wichtigsten Informationen zählt die IPv6-Adressliste für DNS-Server zum Zweck der rekursiven Namensauflösung unter Angabe des Domaincontrollers

Hinzu kommt der Domainname für die Domain-Suchliste

  • Damit sich die IPv6-Verbindung mittels ping überprüfen lässt, muss die entsprechende Firewall-Regel greifen (Abb. 2)
  • Damit ist die Konfiguration serverseitig abgeschlossen

Listing : IPv6 mittels PowerShell konfigurieren

# Konfiguration der Netzwerkkarte

New-NetIPAddress -InterfaceAlias "Ethernet" -IPv6Address
fdfe:4a8d:628d:0079::1 -PrefixLength 64
Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses
fdfe:4a8d:628d:0079::1
New-NetRoute -DestinationPrefix fdfe:4a8d:628d:0079::/64 -InterfaceAlias
"Ethernet" -NextHop fdfe:4a8d:628d:0079::254 -AddressFamily IPv6

# Definition des DHCPv6-Bereichs Add-DhcpServerv6Scope -Name "IPv6 Bereich" -Description "Default IPv6 Bereich" -Prefix fdfe:4a8d:628d:0079:: -PreferredLifeTime 8.00:00:00 -ValidLifeTime 12.00:00:00 -State Active Add-DhcpServerv6ExclusionRange -Prefix fdfe:4a8d:628d:0079:: -StartRange fdfe:4a8d:628d:0079::1 -EndRange fdfe:4a8d:628d:0079::256 # Setzen der DHCPv6-Optionen set-DhcpServerv6OptionValue -DomainSearchList "sbsrv.lan" set-DhcpServerv6OptionValue -DnsServer ::1,fdfe:4a8d:628d:0079::1 # Konfiguration der Firewall Set-NetFirewallRule -DisplayName "Datei- und Druckerfreigabe (Echoanforderung - ICMPv6 eingehend)" -Enabled True -Direction Inbound -Action Allow

Wer die Kommandozeile gegenüber dem GUI-Assistenten bevorzugt, kann alternativ die PowerShell einsetzen

  • Die bereits anhand des Assistenten beschriebenen Schritte lassen sich – mit Administrator-Rechten angemeldet – per Befehlszeile erledigen (siehe Listing)

Jetzt sollte der Systemverwalter die weiteren Server entweder ebenfalls mit festen IPv6-Adressen ausstatten oder eine entsprechende Reservierung im DHCPv6-Bereich vornehmen

Clientseitige Konfiguration

Die Clients erhalten nun ihre IPv6-Adressen vom Server

  • Endlich lassen sich alle Übergangsverfahren abschalten, beim Windows-8-Client respektive Server 2012 (R2) ebenfalls mithilfe der PowerShell
Set-Net6to4Configuration -State disabled
Set-NetTeredoConfiguration -Type disabled
Set-NetIsatapConfiguration -State disabled

Unter Windows kommen die netsh-Befehle zum Einsatz, ebenfalls mit Administratorrechten auszuführen

netsh interface 6to4 set state disabled
netsh interface teredo set state disabled
netsh interface isatap set state disabled

Selbst beim Einsatz von DirectAccess sollte man prüfen, welches Protokoll aktiv ist

  • Das seit Server 2012 bevorzugte „IPHTTPS“ wird hier nicht deaktiviert

IPv4 den Vorzug geben

Wer die Konfiguration nicht bei jedem Client einzeln vornehmen möchte, kann eine entsprechende Gruppenrichtlinie anlegen – in der folgenden Verschachtelungsebene: Computerkonfiguration/Richtlinien/Administrative Vorlagen/Netzwerk/TCP/IP-Einstellungen/IPv6-Übergangstechnologien

Hier gilt es IP6-zu-IP4, ISATAP und Teredo zu deaktivieren

  • Und nicht vergessen, anschließend die Gruppenrichtlinie mit der gewünschten Gruppe zu verknüpfen
  • Nach diesen Änderungen ist die Ausgabe von ipconfig /all wieder deutlich übersichtlicher

Sobald IPv6 im Netz verfügbar ist, meldet sich bei ping die noch ungewohnte IPv6- statt der altbekannten IPv4-Adresse

  • Zwar kann man ping über den Parameter -4 oder -6 das gewünschte Verhalten vorgeben
  • In der Grundeinstellung hat IPv6 jedoch Vorrang vor IPv4
  • Wer lieber die gewohnten IPv4-Adressen sehen will, kann das Verhalten über den Registry-Eintrag DisabledComponents unter HKEY_LOCAL:MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters\ ändern, indem er den Wert 20 (hexadezimal) einträgt
  • Sollte der Eintrag fehlen, ist er als DWORD-Wert (32 Bit) anzulegen
  • Das Ganze funktioniert auch mit dem PowerShell-Befehl New-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters\ -name DisabledComponents -Value 0x20 -PropertyType dword
  • Nun hat IPv4 Priorität vor IPv6

Kommt im Netz auch DirectAccess zum Einsatz, muss das entsprechende Gateway als Standard-Gateway auf den IPv6-fähigen Servern eingetragen sein, die über DirectAccess erreichbar sein sollen, sofern es kein anderes IPv6-fähiges Gateway gibt

  • Richtet man erst DirectAccess und dann IPv6 ein, sind die folgenden Befehle auf dem Server mit der DirectAccess-Rolle auszuführen – anderenfalls findet die Konfiguration automatisch statt:
netsh interface ipv6 add route fdfe:4a8d:628d:0079::/48 publish=yes interface = Ethernet

legt die Route für das gesamte Präfix inklusive der DirectAccess-Adressbereiche fest

netsh interface ipv6 set interface 
12 forwarding=ENABLED

bewirkt das Weiterleiten von IPv6-Requests

Fazit

IPv6 lässt sich in kleinen Netzen recht schnell konfigurieren, wenn man die Feinheiten beachtet

  • Gerade PowerShell kann viel Tipparbeit ersetzen
  • Im Dual-Stack-Betrieb dürfte die sonstige Hardware kaum Schwierigkeiten bereiten; sie lässt sich ja weiterhin per IPv4 ansprechen
  • In komplexeren Netzen liegt der wesentliche Aufwand meist im Entwerfen der neuen Netzwerkstruktur

Die Verantwortlichen sollten es sich jedenfalls verkneifen, einfach bestehende Konzepte unhinterfragt abzubilden

  • Die Einführung von IPv6 bietet oftmals eine Gelegenheit, alte Sünden im Netzdesign zu beheben

Literatur

  • IPv6-Leitfaden: Die Internet-Umgestaltung; iX Kompakt 4/2013

Quelle

Onlinequellen

[a] The Cable Guy; Support for IPv6 in Windows Server 2008 R2 and Windows 7 http://technet.microsoft.com/en-us/magazine/2009.07.cableguy.aspx

[b] Ask Premier Field Engineering (PFE) Platforms; IPv6 for the Windows Administrator: Why you need to care about IPv6 http://blogs.technet.com/b/askpfeplat/archive/2013/06/17/ipv6-for-the-windows-administrator-why-you-need-to-care-about-ipv6.aspx

[c] Keeping it Classless; IPv6 Hacking – „thc-ipv6“ [Part 2] http://keepingitclassless.net/2011/09/ipv6-hacking-thc-ipv6-part-2/

[d] Wikipedia; IPv6 http://de.wikipedia.org/wiki/IPv6

[e] JH Software; Unique Private IPv6 Address Range Generator http://www.simpledns.com/private-ipv6.aspx

[f] Richard Hicks; Disabling Unused IPv6 Transition Technologies for DirectAccess Clients http://directaccess.richardhicks.com/2013/08/27/disabling-unused-ipv6-transition-technologies-for-directaccess-clients/