DHCPv6-Client in Windows deaktivieren

DHCPv6-Client in Windows deaktivieren

netsh int ipv6 set interfaceIch verstehe den Zusammenhang zwischen den vier Parametern im Zusammenhang mit der zustandsbehafteten und zustandslosen IPv6-Autokonfiguration, die im Befehlskontext in Windows verwendet wird, nicht ganz :

  • advertise
  • routerdescovery
  • managedaddress
  • otherstateful

Soweit ich es bisher herausgefunden habe, verstehe ich Folgendes:

  • advertisewird verwendet, um anzugeben, dass RA vom Betriebssystem gesendet/beantwortet werden soll und das Flag enthält, das Mals Ound für diese bestimmte Schnittstelle konfiguriert ist managedaddress. otherstatefulDies ist für einen Server relevant.
  • routerdescoverywird verwendet, um anzugeben, dass das Betriebssystem RA auf dieser Schnittstelle anfordern/verarbeiten und es verwenden soll, um sich selbst basierend auf den Flags des RA zu konfigurieren; wenn routerdescoveryaktiviert, werden managedaddresssie otherstatefuldurch die Flags des RA überschrieben; dies ist für einen Client relevant

Meine Frage ist, was passiert, wenn advertiseund routerdescoverydeaktiviert sind?

Man könnte meinen, dass in diesem Fall managedaddressund otherstatefulbestimmt, ob der DHCPv6-Client auf dieser Schnittstelle aktiviert ist oder nicht. Dies scheint jedoch nicht der Fall zu sein. Wenn alle 4 Parameter deaktiviert sind ( advertise, routerdescovery, managedaddressund otherstateful), versucht der Windows-Client dennoch, einen DHCPv6-Server zu kontaktieren.

Antwort1

Nach vielen Experimenten und einer Menge mehrdeutiger Dokumente und Artikel bin ich zu dem Schluss gekommen, dass managedaddressund otherstatefulnur in Verbindung mit relevant sind advertise(d. h. wenn Sie RA auf Ihrem Windows-Server aktivieren) und dass sie beim Festlegen der Mund OFlags in den RA-Paketen helfen.

Wenn routerdescoveryaktiviert und advertisedeaktiviert ist, können Sie die Parameter managedaddressund nicht otherstatefulmehr über netsh konfigurieren, aber sobald ein RA auf der Schnittstelle eintrifft, werden diese beiden Parameter automatisch so konfiguriert, dass sie die Mund OFlags des angekommenen RA-Pakets widerspiegeln.

Unabhängig davon, welche Konfiguration verwendet wird, werden DHCPv6-Anforderungsnachrichten immer über IPv6-fähige Schnittstellen gesendet, selbst wenn RA-Pakete mit MNICHT gesetztem Flag empfangen werden. Ich konnte keine Möglichkeit finden, DHCPv6 unter Windows zu deaktivieren (ich nehme an, Vista und höher; ich habe es unter 8.1 getestet). Wenn sich im Netzwerk ein DHCPv6-Server befindet, erhalten Sie von diesem eine IPv6-Adresse.

Glücklicherweise verwenden die meisten Netzwerke eine zustandslose Autokonfiguration (jeder Knoten konfiguriert sich selbst basierend auf dem im RA angekündigten Präfix) anstelle einer zustandsbehafteten Autokonfiguration, bei der eine IPv6-Adresse mit einem DHCPv6-Server ausgehandelt wird. Da die meisten Netzwerke zustandslos sind, dachten viele Leute, dass routerdiscoverysie durch die Deaktivierung keine weiteren IPv6-Adressen mehr erhalten würden. Dies ist jedoch nicht gültig, wenn sich im Netzwerk ein DHCPv6-Server befindet.

Antwort2

Ich weiß, dass dies eine alte Frage ist, aber ich wollte sie hinzufügen, falls sie nützlich ist. Der Befehl, den ich zum Deaktivieren von DHCPv6 und der Routererkennung für IPv6 auf allen Netzwerkschnittstellen eines Systems verwende, lautet wie folgt:

Set-NetIPInterface `
  -AddressFamily IPv6 `
  -InterfaceIndex $(Get-NetIpInterface -AddressFamily IPv6 | Select-Object -ExpandProperty InterfaceIndex) `
  -RouterDiscovery disabled `
  -Dhcp Disabled

Darüber hinaus habe ich ein System so eingestellt, dass IPv4 gegenüber IPv6 bevorzugt wird. Damit diese Änderung wirksam wird, ist ein Neustart erforderlich.

New-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters" -Name "DisabledComponents" -Value 0x20 -PropertyType "DWORD"
#If DisabledComponents exists, use the set cmdlet
Set-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters\" -Name "DisabledComponents" -Value 0x20
#You need to reboot the computer in order for the changes to take effect
Restart-Computer

verwandte Informationen