Miredo : Teredo IPv6 tunneling for Linux and BSD

Introduction

Miredo is an open-source implementation of the Teredo: Tunneling IPv6 over UDP through NATs Internet proposed standard (RFC 4380), targetting the Linux kernel and BSD operating systems. The purpose of Teredo IPv6 tunneling is to provide IPv6 connectivity to users behind NAT devices, such as most broadband routers, most of which do not support IPv6.

Miredo was originally developed, and is actively maintained by Rémi Denis-Courmont as a volunteer project. It includes all the components of the Teredo architecture :

It is currently distributed under the terms of the GNU General Public License, the most widely used open-source software license.

Miredo runs on the GNU/Linux kernel, FreeBSD, NetBSD and MacOS X. It runs entirely in userland, so that:

Miredo is also meant to interoperate with the Teredo tunnel driver which is included in Microsoft Windows XP (as of Service Pack 2, or within the Advanced Networking Pack), 2003, and supposedly Vista.

For more informations on the Teredo technology, you should refer to the Wikipedia article and the Microsoft IPv6 : Teredo overview.


Supported platforms

Miredo is known to run on the following platforms :

GNU/Linux and other Linux kernel based systems
Working fine (recommended 2.6.9, or better yet, 2.6.12).
Requires TUNTAP driver (CONFIG_TUN) and IPv6 stack (CONFIG_IPV6).
FreeBSD
Working fine (tested with versions 6.0 and 5.4).
NetBSD
Working fine (reported with version 3.99.17).
Darwin (Mac OS X)
Working fine (Tiger, Panther) with third party tuntap driver.

Unsupported platforms

Help is needed on the following platforms :

Solaris
Tunnel driver not ported.
OpenBSD
Broken. Need help (tested with version 3.7).
DragonFly BSD
Might work. Not tested.
Hurd
Tunnel driver not ported. No IPv6 support in kernel.