Teredo allows nodes located behind an IPv4 NAT to obtain
IPv6 unicast connectivity by
tunnelling packets over UDP/IPv4. This service has 3 entities:
the "Teredo Server", the "Teredo Relay" and the "Teredo client". A
Teredo Server is stateless whereas the Teredo Relay keeps a state of each
peer. We support the following IETF draft "draft-huitema-v6ops-teredo-00.txt".
About the authors
This work is funded by 6WIND,
LIP6
and
Euronetlab.
It is provided under a BSD license.
Related works: Ethereal
6WIND has provided a patch for Ethereal. It allows analysing the Teredo packets
on Windows, Linux, FreeBSD, AIX, ... It is available since the release 0.9.15.
We provide a temporary Teredo server and relay that is compatible with the
Advanced Networking Pack of Windows XP.
Configure Windows XP with the netsh command:
C:\>netsh
interface ipv6
set teredo client teredo.ipv6.6wind.com 30
You can compile the Teredo feature with the following procedure:
tar xvzf ng_teredo-1.13.tgz
cd netgraph
make
su
make install
Set TEREDO_SERVER_DISABLE into the Makefile in order to disable
the Teredo Server. It means that the node could only be a Teredo
Relay.
Usage
Edit the teredo.server file and set your primary, A.B.C.D, and
secondary Teredo addresses, A.B.C.D+1. The secondary Teredo address
should be the primary address + 1.
C:\>netsh
interface ipv6
set teredo client A.B.C.D 30 [SOURCE_PORT]
Where:
A.B.C.D is the address of your Teredo server (for example
teredo.ipv6.6wind.com)
SOURCE_PORT is the source port of the Teredo client.
It is only required when you have a symetric NAT. In this case,
a forwarding UDP rule should be added in your NAT to enforce a cone mode.
Check your configuration
Windows XP
C:\>netsh
interface ipv6
show teredo
where the status should be qualified.
FreeBSD - ngctl list
It should display the Teredo nodes and the Teredo interface (ng0).
There are 5 total nodes:
Name: ngctl1911 Type: socket ID: 0000006a Num hooks: 0
Name: <unnamed> Type: ksocket ID: 00000061 Num hooks: 1
Name: <unnamed> Type: ksocket ID: 0000005e Num hooks: 1
Name: ter0 Type: teredo ID: 00000058 Num hooks: 3
Name: ng0 Type: iface ID: 00000056 Num hooks: 1
When you are behind a symetric NAT, it can be enforced to a cone NAT
by setting a proxy rule with your NAT that forwards all the UDP packets.
For example, if your Teredo client is using the UDP port 48831, your NAT
must forward all the UDP packets that arrive on this port to your Teredo
client.
Konstantin Kabassanov <Konstantin.Kabassanov@lip6.fr>
Vincent Jardin <jardin@6WIND.com>
Last update $Id: index.html,v 1.3 2003/10/22 23:57:09 vjardin Exp $