Teredo is a method of tunnelling IPv6 packets over IPv4/UDP. Its important distinguishing feature when compared to other tunneling methods is that it works even if there are NATs in the IPv4 path.
This Microsoft developped tunnelling protocol is defined by RFC4380. Windows has a built in Teredo implementation. There are also implementations of it for at least Linux, FreeBSD and Mac OS X. These include Miredo and nici-teredo.
Teredo uses the IPv6 prefix 2001:0::/32 to represent the IPv4 identity of the host. Teredo clients (hosts) connect to a Teredo server when they start up. After that connection is established the client and the server negotiate the address for the client. The Teredo clients need to be configured with the address of the closest Teredo server. Many clients use the Microsoft servers in Seattle by default.
TREX's Teredo server is open to anyone. To configure your Teredo client to use TREX's server, set the server address to teredo.trex.fi. Please configure it by hostname and not by IP address, in case we need to change the address some day. You can use the following command line to set the Teredo server in Windows:
C:\> netsh int ipv6 set teredo client teredo.trex.fi
TREX announces the following IPv6 route to peers in order to optimise routing for the Teredo server:
route6: 2001:0000::/32 descr: Teredo-TREX remarks: Teredo anycast route. See TEREDO-MNT for details. remarks: FINLAND, EUROPE origin: AS29432 mnt-by: TREX-MNT mnt-routes: TEREDO-MNT source: TREX # FilteredWe have found that a considerable amount of all the Teredo traffic is with 6to4 tunnelled hosts, so we are running a 6to4 relay as well.