Monday, July 28, 2008

Disable and Turn Off IPv6 Support in Vista

IPv6 (Internet Protocol version 6) is the successor for IPv4, the current version of most popular network layer protocol for packet-switched internetworks used on the Internet. In Windows Vista, IPv6 is fully implemented and supported, is also installed and enabled by default, with full Internet Protocol security (IPsec) support for IPv6 traffic and Teredo tunneling support for non-IPv6 aware devices.

IPv6 is not common yet, as most software, routers, modems, and other network equipments does not support the emerging and future-proof protocol yet. Beside, turning off IPv6 support does not affect the functionality of Internet browsing for average users. Thus IPv6 and/or Teredo can and (quite likely) should be disabled if it's not in use to conserve system resources. Unlike Windows XP, IPv6 in Windows Vista cannot be uninstalled, according to Microsoft. However, IPv6 can be disabled. The following guide will allow users to disable IPv6 on a specific connection of a network interface card.

  1. Go to Network Connections folder (click on Start button, then right click on Network, select Properties, then click on "Manager network connections" on Tasks pane).
  2. You should see various LAN, wireless, Bluetooth, high speed Internet, and other network connections available on the Vista computer with the network adapter description. Right click on the network connection that you want to disable the IPv6 interface and select "Properties".

    Click "Continue" on User Access Control permission request prompt.

  3. Clear the check box next to the Internet Protocol version 6 (TCP/IPv6) component in the list under "This connection uses the following items" box.

  4. Click OK when done.
  5. To re-enable IPv6, tick back the check box.

This method disables IPv6 on the particular LAN interface and connection. For other network adapter or connection, users have to repeat the steps to disable IPv6. Beside, disable IPv6 also does not disable IPv6 on tunnel interfaces or the IPv6 loopback interface.

It's also possible to disable IPv6 and/or Teredo via Vista system registry. The registry settings also allow users to selectively disable components and configure behaviors for IPv6 in Windows Vista.

  1. Open Registry Editor (regedit).
  2. Navigate to the following registry key branch:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\
    Services\tcpip6\Parameters\

  3. Create the following registry value (DWORD type):

    DisabledComponents

    Note that the name must be exactly as shown, including capitalization. DisabledComponents is set to 0 by default.

  4. The DisabledComponents registry value is a bit mask that controls the following series of flags, starting with the low order bit (Bit 0). To determine the value of DisabledComponents for a specific set of bits, the process is complicated, were hexadecimal value is calculated from binary number of the bits in correct position. For convenient, the following table lists some common configuration combinations and the corresponding DWORD value of DisabledComponents.
    Configuration combinationDisabledComponents value
    Disable all tunnel interfaces0×1
    Disable 6to40×2
    Disable ISATAP0×4
    Disable Teredo0×8
    Disable Teredo and 6to40xA
    Disable all LAN and PPP interfaces0×10
    Disable all LAN, PPP, and tunnel interfaces0×11
    Prefer IPv4 over IPv60×20
    Disable IPv6 over all interfaces and prefer IPv4 to IPv60xFF

    As seen from table above, to disable IPv6 support globally on all interface, set the value data for DisabledComponents to 000000FF, or simply FF. The registry entry will look like below:


    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters]
    "DisabledComponents"=dword:000000ff

  5. Restart the computer for changes to take effect.
  6. To revert and enable IPv6, delete "DisabledComponents" registry key or set its registry value to 0.