Disable IPv6 or its components in Windows


To totally unlock this section you need to Log-in


Login

Internet Protocol version 6 (IPv6) is a mandatory part of Windows Vista and later versions. We do not recommend that you disable IPv6 or its components, or some Windows components may not function. Additionally, system startup could be delayed for 5 seconds if IPv6 is disabled by incorrectly setting the DisabledComponents registry setting to a value of 0xfffffff. The correct value should be 0xff.

Disable IPv6

You can disable IPv6 on the host computer through the DisabledComponents registry value. The DisabledComponents registry value affects all network interfaces on the host.

To disable certain IPv6 components, follow these steps:

  • Click Start, type regedit in the Start Search box, and then click regedit.exe in the Programs list.
  • In the User Account Control dialog box, click Continue.

In Registry Editor, locate and then click the following registry subkey:

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

Double-click DisabledComponents to change the DisabledComponents entry.

Note: If the DisabledComponents entry is unavailable, you must create it. To do this, follow these steps:

  • In the Edit menu, point to New, and then click DWORD (32-bit) Value.
  • Type DisabledComponents, and then press Enter.
  • Double-click DisabledComponents.

Type any of the following values in the Value data field to configure the IPv6 protocol to the intended state, and then click OK:

  • Type 0 to re-enable all IPv6 components (Windows default setting).
  • Type 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.
  • Type 0x20 to prefer IPv4 over IPv6 by changing entries in the prefix policy table.
  • Type 0x10 to disable IPv6 on all non-tunnel interfaces (both LAN and Point-to-Point Protocol [PPP] interfaces).
  • Type 0x01 to disable IPv6 on all tunnel interfaces. These include Intra-Site Automatic Tunnel Addressing Protocol (ISATAP), 6to4, and Teredo.
  • Type 0x11 to disable all IPv6 interfaces except for the IPv6 loopback interface.

Use the DisabledComponents registry value to verify whether IPv6 is disabled. To do this, run the following command at a Windows command prompt:

reg query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters /v DisabledComponents

When you do this, you may receive the following error message:

ERROR: The system was unable to find the specified registry key or value.

If you receive this error message, the DisabledComponents registry value is not set. If the DisabledComponents value is set, it overrides the settings in the connection properties.

Disable IPv6 on a specific network adapter

You can do this by unbinding the adapter in the Local Area Connection Properties dialog box:

  • Click Start, and then click Control Panel.
  • Click Network and Sharing Center.
  • In the View your active networks area, click Local Area Connection, and then click Properties.
  • On the Networking tab, clear the Internet Protocol Version 6 (TCP/IPv6) check box, and then click OK.

Note: The Internet Protocol Version 6 (TCP/IPv6) check box affects only the specific network adapter and will unbind IPv6 from the selected network adapter. To disable IPv6 on the host, use the DisabledComponents registry value. The DisabledComponents registry value does not affect the state of the check box. Therefore, even if the DisabledComponents registry key is set to disable IPv6, the check box in the Networking tab for each interface can still be checked. This is expected behavior.

Prefer IPv6 over IPv4 in prefix policies

  • Find the current value data of DisabledComponents.
  • Change the data to binary data. It will be a 32-bit binary value.
  • Find the sixth bit of the data, and then set it to 0. Do not change any other bits. For example, if the current data is 11111111111111111111111111111111, the new data should be 11111111111111111111111111011111.
  • Change the data from binary to hexadecimal.
  • Set the hexadecimal value as the new value data for DisabledComponents.

Re-enable IPv6 on all nontunnel interfaces

  • Find the current value data of DisabledComponents.
  • Change the data to binary data. It will be a 32-bit binary value.
  • Find the fifth bit of the data, and then set it to 0. Do not change any other bits. For example, if the source data is 11111111111111111111111111111111, the new data should be 11111111111111111111111111101111.
  • Change the data from binary to hexadecimal.
  • Set the hexadecimal value as the new value data for DisabledComponents.

Re-enable IPv6 on all tunnel interfaces

  • Find the current value data of DisabledComponents.
  • Change the data to binary data. It will be a 32-bit binary value.
  • Find the first bit of the data, and then set it to 0. Do not change any other bits. For example, if the source data is 11111111111111111111111111111111, the new data should be 11111111111111111111111111111110.
  • Change the data from binary to hexadecimal.
  • Set the hexadecimal value as the new value data for DisabledComponents.

Re-enable all IPv6 interfaces except for the IPv6 loopback interface

  • Find the current value data of DisabledComponents.
  • Change the data to binary data. It will be a 32-bit binary value.
  • Find the first bit of the data and the fifth bit of the data, and then set them both to 0. Do not touch any other bits. For example, if current data is 11111111111111111111111111111111, the new data should be 11111111111111111111111111101110.
  • Change the data from binary to hexadecimal.
  • Set the hexadecimal value as the new value data for DisabledComponents.

Notes:

  • Administrators must create an .admx file to expose the settings in step 5 in a Group Policy setting.
  • You must restart your computer for these changes to take effect.
  • Value other than 0x0 or 0x20 causes the Routing and Remote Access service to fail after this change takes effect.

About the 6to4 tunneling protocol

By default, the 6to4 tunneling protocol is enabled in Windows 7, Windows Vista, Windows Server 2008 R2, and Windows Server 2008 when an interface is assigned a public IPv4 address (that is, an IPv4 address that is not in the ranges 10.0.0.0/8, 172.16.0.0/12, or 192.168.0.0/16).

6to4 automatically assigns an IPv6 address to the 6to4 tunneling interface for each such address that is assigned, and 6to4 will dynamically register these IPv6 addresses on the assigned DNS server. If this behavior is not desired, we recommend that you disable IPv6 tunnel interfaces on the affected hosts.