In this video from ITFreeTraining, I will look at how to configure Teredo on Windows.
Teredo is an IPv6 transition technology that allows computers without a native IPv6 connection
to access IPv6 networks.
There are some tricks to configuring Teredo. In this video I will cover the more common
problems you will have configuring the protocol. For the network setup, I will use a domain
laptop that is connected to a home network. Domain computers can act a little differently
from non-domain computers. Later in the video we will see why.
Since the laptop is connected to a home network, it will not be able to access a domain controller.
The home network does not support IPv6. In order to access the IPv6 network, Teredo will
use the IPv4 network. I will now change to my Windows 10 computer to look at how to configure
Teredo.
The procedure for configuring Teredo is the same for each edition of Windows that supports
it. What may be different is if it is enabled by default. In Windows 10 - Teredo is enabled
by default; however, additional configurations may need to be done for it to work.
To start with, I will have a look at the network configuration on this computer. To do this,
I will right click on the start menu and then select the option - “Network Connections”.
There is one network adapter on this computer. I will right click on the network adapter
and select the option “properties”.
From properties, I will next scroll down and select the IPv6 protocol. Notice that “protocol”
is ticked and now enabled. Unlike protocols such as ISATAP, the IPv6 protocol needs to
be enabled. If I now press the properties button. You will notice that the IP Address
and DNS servers are configured to automatic. Since Teredo works when IPv6 is not available,
it makes sense for it not to be configured. If IPv6 becomes available on the network,
the computer will automatically be configured to use IPv6, and Teredo will be disabled.
This is what you want, since Teredo is a transition protocol and is only meant to be used when
IPv6 is not available.
The next step is to configure Teredo. To do this, I will close all these Windows, right
click the start menu and open a “Command Prompt”. Once the command prompt is open,
I will next run the command IPConfig to show the network configuration on this computer.
Notice at the bottom of the screen is the Teredo adapter. This will show the configuration
of the network adapter. If the Teredo protocol is disabled, it will appear with a media state
of “Media Disconnected”. If the computer has been configured with an IPv6 connection,
the Teredo adapter will automatically be removed since it is not required.
In Windows 10, Teredo is enabled by default, you can tell the protocol is enabled, as an
IPv6 Address has been configured. As we’ll see later in the video, the IPv6 address contains
information, such as the Teredo server and IPv4 address of the Teredo client.
To test the configuration, I will attempt to ping google, making sure I use the minus
6 switch to force IPv6 to be used. You will notice that the message, “Destination host
unreachable” is appearing. Teredo is enabled, but is not working. Let’s have a look why.
To configure Teredo, I will run the command NetSH. NetSH is a command line scripting tool
that can be used to configure network settings on the computer. When I run NetSH, I will
get a command prompt called NetSH. From here, I can run additional commands.
From the prompt, I will run the command, “Interface Teredo.” Once the command has run, notice
the prompt has changed to indicate Teredo is being configured. To show the current configuration,
I will now run the command, “Show State.”
Notice that at the top, the type is listed as client. This means it is enabled. If you
want to disable Teredo, run the command, “Set State Disabled.” Once run, if I run “Show
State”, notice that the type has changed to “disabled”.
Depending on which version of Windows you are running, Teredo may be disabled. If I
enable Teredo on this computer it will not work. The reason is the server is currently
set to the Microsoft Teredo server. The Teredo servers run by Microsoft have been shut down.
Microsoft always intended to do this. The idea was they wanted to help promote the use
of the IPv6 protocol and help with its adoption, but Microsoft did not intend for the Teredo
servers to be available in the long term.
In order to get Teredo running on this computer, I will need to use another Teredo server.
To find a public Teredo server, you will need to perform a google search to find any currently-available
Teredo servers. Your ISP may also be running a Teredo server you can use.
If you simply want to enable Teredo and not change the server—run the command, “Set
State Client”. This will enable Teredo and not make any additional changes. To change
the server as well, add the server’s DNS name after the command. This server was found
using google. This command can also be used to configure other options like a refresh
time and client and server ports if you need to.
Now that the configuration has been changed, I will quit NetSH. To test Teredo, I will
once again ping google. You will notice that the ping command is still not working. Since
Teredo has just been configured, sometimes it will not work right away. In most cases
you can disable and enable the network card and this will fix the problem. In other cases,
you will need to restart the computer.
In this case I will disable and enable the network card. To do this, I will right click
the start menu, and select, “Network connections”. Once open, I will right click my network adapter
and select disable, and then reclick the network adapter and re-enable it.
Once the adapter has been enabled, I will run the ping command again. Notice this time
a response is received back from google. If this does not work, restart the computer and
try again.
I will now run IPConfig and have a look at the Teredo IP address. At the bottom you can
see the Teredo IPv6 address. It may look fairly random, but it contains a lot of information.
If I have a closer look at the Teredo IP Address, there is a lot of information contained in
the address itself. This can be broken down into different parts. A Teredo address always
starts with the same prefix so you can tell it is a Teredo address.
The next 32 bits are the IPv4 address of the Teredo Server. It is important to point out
that the IPv4 address and UDP port are obfuscated. Obfuscation is the process of changing data
to make it difficult for humans to understand. In this case, the bits in the address are
inverted. One’s become zeros, and zeros become ones. Even though it makes it difficult
for humans to read, computers don’t have any problem inverting the bits to understand
the information.
If I look at the part of the IPv6 address that contains the IPv4 server, if I invert
the bits this will give the following value. This value can be then converted to an IPv4
address. This is the IP address of the Teredo server that was configured earlier in the
video.
If I inverted the part of the address containing the client IP address, then this will give
the public IPv4 address the computer is using to access the internet. You can see how the
Teredo IP address contains a lot of useful information if you know how to access it.
I will now change back to my Windows 10 computer and look at how to configure Group Policy
for Teredo.
To modify the local group policy, I will run the command GPEdit.msc from the command prompt.
Once open, I will go to - “Administrative Templates,” “Network,” “TCPIP Setting”
and then “IPv6 Transition Technologies.”
There are five different group policy settings that can be configured for Teredo. The first
four are self-explanatory. The first one is - “Set Teredo Client Port”. By default,
the operating system will choose a UDP port to use. The administrator can configure Teredo
to always use the same port; however, be aware that if you configure this setting and the
port is in use, the Teredo client will fail to initialize.
The next setting is - “Set Teredo Default Qualified.” This setting allows the Teredo
client to automatically become ready. If this setting is not configured, the Teredo client
will enter a dormant state when not in use.
The next setting is - “Set Teredo Refresh Rate.” This setting configures how often
the client will send a router solicitation packet to the Teredo Server. This essentially
refreshes the IP Address and the UDP port mapping used by the client.
The next setting is - “Set Teredo Server Name.” This setting configures which Teredo
Server the client will connect to.
The last setting is -“Set Teredo State.” When I open the setting, the next step is
to select - “Enabled.” Once enabled, there are four different states that can be selected
from the dropdown box. Default State will configure the Teredo client to the Windows
default. Disabled State will disable Teredo. Client will enable the Teredo client. However,
notice the setting at the bottom “Enterprise Client”. By default, Teredo will not work
when the computer is a member of a domain and a domain controller is contactable. If
you want to change this, select the option - “Enterprise Client” and the Teredo client
will operate even when the computer is in a domain with a contactable domain controller.
Keep this in mind if you use Teredo in a domain, because if Windows can contact a domain controller
(no matter what settings you configure), Teredo will not work unless it is configured to “Enterprise
Client”.
I hope you have enjoyed this video on Teredo and found it useful. For more free videos
from us, please see our Youtube channel or web page. Until next time, I would like to
thank you for watching.