Teredo is a method of tunneling IPv6 packets over IPv4 that is capable of providing direct connections even in situations where both ends are behind NAT gateways. The efficiency of virtual PeerToPeer networks greatly benefits from this capability.

However, it does require that

  • there is no FireWall between you and the Teredo server
  • you don't have a realworld IPv6 address from somewhere else (this isn't that hard tho -- if you have a real IPv6 address, you don't need teredo!)
  • you are not behind a symmetric NAT. If so, you may be able to employ some other means such as setting up 6to4 on the NAT device in order to get an IPv6 address. This paper discusses the problems with NAT devices supporting (or not supporting) NAT transversal techniques.

Implementation notes for clients

This discusses the machines behind NAT and if you may have issues with them or not.

Linux, FreeBSD:

You can use Miredo's client mode to implement Teredo on Linux or FreeBSD, provided your Kernel has IPv6 support.


You need XP Service Pack 2 or the Advanced Networking Pack. On a CommandLine, do
ipv6 install
netsh interface ipv6 set teredo client

Note: if you are on a MicrosoftWindows domain you must substitute client for enterpriseclient.

Now you should be able to use VoIP and P2P applications that support IPv6 as if you had a realworld IP address.

You can monitor the interface using
netsh interface ipv6 show teredo

Implementation notes for NAT gateways

These are NAT gateways that you might be behind and if they will work or not.

Cone NAT (does work with Teredo)

  • FreeBSD (atl east monowall)
  • Linux with kernel 2.2 or 2.4 and iptables NAT chain
  • DSE branded DSL modems (Cat XH1149)
  • Microsoft's site list as being compatible:

    • Linksys BEFW11S4 v.1
    • Linksys BEFSR41
    • Linksys BEFSR1
    • D-Link DI-713 with Firmware version 2.53b9
    • NETGEAR RP614
    • NETGEAR RP114
    • NETGEAR MR314
    • NETGEAR FVS318
    • Microsoft MN-100 Wired Base Station
    • Siemens Speedstream 2602 NAT Router
    • SMC 7004VBR
    • SMC 7004AWBR
    • Belkin F5D6230-3
    • 3Com 3C855
    • Windows 98 SE Internet Connection Sharing
    • Windows XP Internet Connection Sharing
  • Microsoft's site list as being compatible after firmware upgrades:

    • D-Link DI-604
    • D-Link DI-614
  • Microsoft's site list as being compatible with configuration changes:

    • Microsoft Broadband Wireless Base Station - MN-500

Symmetric ("restricted") NAT (doesn't work with Teredo or STUN)

  • Linux in certain other configurations
  • BSD variants in certain configurations