Internet Protocol Version 6, Teredo, and Related Technologies in Windows 7 and Windows Server 2008 R2

Applies To: Windows 7, Windows Server 2008 R2

In this section

Overview: IPv6 and Teredo implementation in Windows 7 and Windows Server 2008 R2

Additional references for IPv6

This section provides a brief overview of how Internet Protocol version 6 (IPv6) transition technologies are implemented in Windows® 7 and Windows Server® 2008 R2. This section also provides brief information about Teredo. (Teredo is a tunneling communication protocol that makes it possible for a computer that is behind a network address translation (NAT) device to use IPv6 to communicate with other computers that use IPv6.) It is beyond the scope of this document to fully describe IPv6 or how it affects communication across the Internet for a computer running Windows 7 or Windows Server 2008 R2.

Overview: IPv6 and Teredo implementation in Windows 7 and Windows Server 2008 R2

IPv6 and IPv4 are supported networking protocols in Windows 7 and Windows Server 2008 R2. Both protocols are installed and enabled by default, and they can be configured through Control Panel (in the Network and Sharing Center, click Manage network connections). By default, computers running Windows 7 and Windows Server 2008 R2 will use IPv6 to connect to other IPv6-enabled computers in the local network, subject to the applicable address selection rules that are defined in RFC 3484. In this scenario, IPv6 does not require any special configuration.

However, a computer running Windows 7 or Windows Server 2008 R2 cannot use IPv6 to communicate outside of the local network without additional configuration. In an IPv6-enabled network, that configuration will typically be supplied by a network device such as an IPv6-enabled router or home gateway. In an IPv4-only network, the additional configuration is provided by a protocol built into Windows 7 and Windows Server 2008 R2 called Teredo.

The Teredo client in Windows 7 and Windows Server 2008 R2 is enabled but inactive by default. To become active, an application that recognizes Teredo must be installed or the Windows Firewall must be configured to allow Teredo on a per-application basis. When activated, the Teredo client must initially obtain information such as the type of NAT device that is being used. To obtain this information, the client interacts with one or more Teredo servers. This interaction sends no data, personal or otherwise, to the Teredo servers or to Microsoft®. It is an empty transaction that maintains a communication tunnel for the Teredo client through its NAT device. This awareness allows Teredo to initiate connections between peers, which otherwise would have been blocked at the NAT device.

In a managed network with a configured domain controller where the administrator wants to prevent Teredo connectivity, Teredo automatically deactivates. This protects the network from traffic that may cross the NAT device without user or administrator knowledge.

To determine the IPv4 addresses of Teredo servers, the client can send a Domain Name System (DNS) query to resolve the name teredo.ipv6.microsoft.com. You can prevent this DNS query by disabling or controlling Teredo in Windows 7 and Windows Server 2008 R2 by using the following methods:

  • Using a netsh command

  • Changing a registry entry

  • Through Group Policy settings

In most situations Teredo can be disabled because other technologies, such as Intra-Site Automatic Tunnel Addressing Protocol (ISATAP), can be used instead,

For more information, see Using IPv6 and Teredo on the TechNet Web site.

Controlling the Teredo client in Windows 7 and Windows Server 2008 R2

The following procedures describe three ways to control Teredo in Windows 7 and Windows Server 2008 R2:

  • Provide the Teredo client with the IPv4 address of a Teredo server by using a netsh command. When you use this command, the Teredo client does not send a DNS query to resolve the name teredo.ipv6.microsoft.com. Instead, it stores and uses the IPv4 address that you provide.

  • Turn off Teredo by using a netsh command.

  • Turn off Teredo by changing a registry entry.

To provide the Teredo client with the IPv4 address of a Teredo server by using the netsh command

  1. To open a Command Prompt window as an administrator, click Start, click All Programs, click Accessories, right-click Command Prompt, and then click Run as administrator.

  2. If the User Account Control dialog box appears, confirm that the action it displays is what you want, and then click Continue.

  3. At the command prompt, type the following lines (press ENTER after each line):

    netsh

    interface

    teredo

  4. At the netsh interface teredo command prompt, type the following (where IPv4_address is the IPv4 address of a Teredo server):

    **set state servername=**IPv4_address

Note

To see other options for set state, at the netsh interface teredo command prompt, type set state /?, and then press ENTER.

To turn off Teredo by using the netsh command

  1. To open a Command Prompt window as an administrator, click Start, click All Programs, click Accessories, right-click Command Prompt, and then click Run as administrator.

  2. If the User Account Control dialog box appears, confirm that the action it displays is what you want, and then click Continue.

  3. At the command prompt, type the following lines (press ENTER after each line):

    netsh

    interface

    teredo

  4. At the netsh interface teredo command prompt, type:

    set state disabled

Note

To see other options for set state, at the netsh interface teredo command prompt, type set state /?, and then press ENTER.

To turn off Teredo by specifying a registry setting

  1. For best results, close all programs on the computer on which you are changing the registry setting.

  2. To open a Command Prompt window as an administrator, click Start, click All Programs, click Accessories, right-click Command Prompt, and then click Run as administrator.

  3. If the User Account Control dialog box appears, confirm that the action it displays is what you want, and then click Continue.

  4. Type:

    regedit

Warning

Incorrectly editing the registry may severely damage your system. Before making changes to the registry, you should back up any valued data on the computer. You can also use the Last Known Good Configuration startup option if you encounter problems after manual changes have been applied.

  1. Navigate to:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6

  2. Right-click Parameters, click New, click DWORD, and then type the following name for the new value (type the name exactly as shown, including capitalization):

    DisabledComponents

  3. Double-click DisabledComponents, select Hexadecimal, and then in Value data, type:

    8e

  4. Click OK.

  5. Restart the computer.

To turn off Teredo by using a Group Policy setting

  1. To open a Command Prompt window as an administrator, click Start, click All Programs, click Accessories, right-click Command Prompt, and then click Run as administrator.

  2. If the User Account Control dialog box appears, confirm that the action it displays is what you want, and then click Continue.

  3. At the command prompt, type the following line (and then press ENTER):

    gpedit.msc

  4. Under Computer Configuration expand Administrative Templates.

  5. Expand Network, expand TCPIP Settings, and then click IPv6 Transition Technologies.

  6. In the right pane, double-click the setting labeled Teredo State. Select Disabled, and then click OK.

Additional references for IPv6

This following links on the Microsoft Web site provide additional information about IPv6 in Windows 7 and Windows Server 2008 R2:

In addition, you can search the Internet Engineering Task Force (IETF) Web site for information about IPv6 or related technologies, such as Intra-Site Automatic Tunnel Addressing Protocol (ISATAP) or Teredo:

Internet Engineering Task Force