IPv6/WindowsIPv6ImWindowsNetz

Aus Foxwiki

IPv6 im Windows-Netz

Mit 15 Jahren ist 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 15 Jahre nach seiner Standardisierung die IT-Welt immer noch nicht erobert, obwohl die Kinderkrankheiten des aus damaliger Sicht wegweisenden Internetprotokolls überwunden sind.

Trotzdem gibt es auf die Dauer keine Alternative. Im eigenen Windows-Netz besteht Handlungsbedarf, selbst wenn man IPv6 immer noch nicht aktiv nutzen will. Microsofts Empfehlung lautete einst, es einfach auszuschalten. Seit Server 2008 R2 hat sich das grundlegend geändert (siehe „Alle Links“, [a, b]).

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.

Datei:Bild11.png

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 7 und Server 2008 (R2) kommen die netsh-Befehle zum Einsatz, ebenfalls mit Administratorrechten auszuführen [f]:

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/