Truly Disable IPv6

IPv6 InterfaceIPv6 can cause some problems for applications that are not configured to use IPv6. By default IPv6 is enabled with Windows, disabling it can be tricky because even after you deselect Internet Protocol Version 6 (TCP/IPv6)” in the connection properties of your device it still doesn’t disable all IPv6 components. You can verify this by running ipconfig /all. Therefore to truly disable IPv6 you have to modify the following keys in the registry.

First I would suggest running this PowerShell command to un-check the IPv6 setting on all your network adapters, if you’d like to select just one particular you can use the “Get-NetAdapterBinding” command to get the “-Name” value for the adapter you wish to set.

It’s important to note that this command will un-check all “Internet Protocol Version 6 (TCP/IPv6)” settings from all adapters.

PS: Set-NetAdapterBinding -Name “*” -DisplayName “Internet Protocol Version 6 (TCP/IPv6)” -ComponentID “ms_tcpip6” -Enabled $false

After you’ve completed this command I would recommend running “Get-NetAdapterBinding” and see if “ms_tcpip6” is set to “False”.  If so continue on to truly disable IPv6.

Now in the Registry Editor (regedit.exe), locate and then click the following registry subkey:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters\

DisabledComponents
REG_DWORD: 0xff

Other value options you might want to consider are:

0 to re-enable all IPv6 components (Windows default setting).
0xff to disable all IPv6 components except the IPv6 loopback interface. This value also configures Windows to prefer using IPv4 over IPv6 by changing entries in the prefix policy table. For more information, see Source and destination address selection.
0x20 to prefer IPv4 over IPv6 by changing entries in the prefix policy table.
0x10 to disable IPv6 on all non-tunnel interfaces (both LAN and Point-to-Point Protocol [PPP] interfaces).
0x01 to disable IPv6 on all tunnel interfaces. These include Intra-Site Automatic Tunnel Addressing Protocol (ISATAP), 6to4, and Teredo.
0x11 to disable all IPv6 interfaces except for the IPv6 loopback interface.

If you are trying to disable IPv6 completely I would recommend “0xff” because this value also configures windows to prefer IPv4 over IPv6.

You can apply this setting via Group Policy or via command line:

To Add/Update:
PS: New-Item -Type DWord -Path HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters\DisabledComponents -Value “0xff” -Force
CMD: REG ADD HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters /v DisabledComponents /t REG_DWORD /d 0xff /f

To Verify:
PS: Test-Path -Path HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters\DisabledComponents
CMD: REG QUERY HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters /v DisabledComponents

After you’ve applied this key you must reboot the system for it to completely take effect.

 

Ref: https://support2.microsoft.com/kb/929852

3 Replies to “Truly Disable IPv6”

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.