IPv6/WindowsIPv6ImWindowsNetz: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
 
(3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
== IPv6 im Windows-Netz ==
== 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 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.
IPv6 hat Jahre nach seiner Standardisierung die IT-Welt bisher 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 [http://www.ix.de/ix1406134 „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'' [http://www.heise.de/ix/heft/Anschub-2197665.html#literaturverzeichnis [1]]


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]].
Ä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


Ä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]


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


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
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.
* 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 ===
=== 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:
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


Netsh interface ipv6 set interface 12 ⤦
In diesem Fall dient die 12 als Interface-Index, an den IPv6 gebunden ist
forwarding=ENABLED
* 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
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:
Ü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


Prefix/L: fd
Die folgende Anleitung nutzt die so generierten Daten, um die Einrichtung von IPv6 auf einem Server 2012 (R2) zu demonstrieren
Global ID: fe4a8d628d
* Dabei sei vorausgesetzt, dass der DHCP-Dienst für IPv4 bereits läuft
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


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


[[Image:Bild11.png|top]]
Der Bereichserstellungs-Assistent legt hier Wert auf je einen Doppelpunkt vor den gewünschten Adress-Eingaben (Abb. 1)


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


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
Im nächsten Schritt gibt der Administrator die Lease-Dauer an. Schließlich fasst der Assistent die gewünschten Parameter zusammen.


[[Image:Bild12.png|top]]
[[Image:Bild12.png|top]]


Eine ping-Anfrage erhält nur dann eine Antwort, wenn die Firewall dies zulässt (Abb. 2).
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.
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.
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
Listing : IPv6 mittels PowerShell konfigurieren


<nowiki># Konfiguration der Netzwerkkarte</nowiki>
<nowiki># Konfiguration der Netzwerkkarte</nowiki>
New-NetIPAddress -InterfaceAlias "Ethernet" -IPv6Address
New-NetIPAddress -InterfaceAlias "Ethernet" -IPv6Address
fdfe:4a8d:628d:0079::1 -PrefixLength 64
fdfe:4a8d:628d:0079::1 -PrefixLength 64
Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses
Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses
fdfe:4a8d:628d:0079::1
fdfe:4a8d:628d:0079::1
New-NetRoute -DestinationPrefix fdfe:4a8d:628d:0079::/64 -InterfaceAlias
New-NetRoute -DestinationPrefix fdfe:4a8d:628d:0079::/64 -InterfaceAlias
"Ethernet" -NextHop fdfe:4a8d:628d:0079::254 -AddressFamily IPv6
"Ethernet" -NextHop fdfe:4a8d:628d:0079::254 -AddressFamily IPv6
 
<nowiki># Definition des DHCPv6-Bereichs</nowiki>
<nowiki># Definition des DHCPv6-Bereichs</nowiki>
Add-DhcpServerv6Scope -Name "IPv6 Bereich" -Description "Default IPv6
Add-DhcpServerv6Scope -Name "IPv6 Bereich" -Description "Default IPv6
Zeile 76: Zeile 92:
-Action Allow
-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).
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.
Jetzt sollte der Systemverwalter die weiteren Server entweder ebenfalls mit festen IPv6-Adressen ausstatten oder eine entsprechende Reservierung im DHCPv6-Bereich vornehmen


=== Clientseitige Konfiguration ===
=== 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:
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-Net6to4Configuration -State disabled
Set-NetTeredoConfiguration -Type disabled
Set-NetTeredoConfiguration -Type disabled
Set-NetIsatapConfiguration -State disabled
Set-NetIsatapConfiguration -State disabled
 
Unter Windows&nbsp;7 und Server 2008 (R2) kommen die ''netsh''-Befehle zum Einsatz, ebenfalls mit Administratorrechten auszuführen [f]:


netsh interface 6to4 set state disabled
Unter Windows kommen die ''netsh''-Befehle zum Einsatz, ebenfalls mit Administratorrechten auszuführen
netsh interface teredo set state disabled
netsh interface 6to4 set state disabled
netsh interface isatap 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.
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 ===
=== 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''.
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.
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.
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:
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:
netsh interface ipv6 add route fdfe:4a8d:628d:0079::/48 publish=yes interface = Ethernet
628d:0079::/48 publish=yes
legt die Route für das gesamte Präfix inklusive der DirectAccess-Adressbereiche fest
interface = Ethernet
netsh interface ipv6 set interface  
 
legt die Route für das gesamte Präfix inklusive der DirectAccess-Adressbereiche fest,
 
netsh interface ipv6 set interface
  12 forwarding=ENABLED
  12 forwarding=ENABLED


bewirkt das Weiterleiten von IPv6-Requests.
bewirkt das Weiterleiten von IPv6-Requests


=== Fazit ===
=== 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.
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.
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 ===
=== Literatur ===
Zeile 138: Zeile 163:


[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/]
[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/]
[[Kategorie:IPv6/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/