Miredo: Teredo IPv6 tunneling for Linux and BSD
2013 news archive
- 23rd May 2013 - Miredo 1.2.6
- This fixes compilation on some systems
and adds locale support for simplified Han Chinese.
2012 news archive
- 3rd March 2012 - Miredo 1.2.5
- This fixes compilation with latest GNU automake versions,
adds rudimentary support for systemd
and automatically loads the tunnel driver on FreeBSD.
- 3rd March 2012 - mailing list suspended
- Due to technical problems, the miredo-devel mailing list is suspended
until further notice. Sorry for the inconvenience.
2011 news archive
- 5th July 2011 - Miredo 1.2.4
- This adds support for POSIX search trees as a better fallback
if libJudy is absent.
2010 news archive
- 10th April 2010 - Miredo 1.2.3
- This fixes problems with pointer aliasing that could yield incorrect code
depending on the compiler.
2009 news archive
- 5th November 2009 - Miredo 1.2.2
- This fixes signal handling.
- 21th October 2009 - Miredo 1.2.1
- This fixes a deadlock when Miredo fails to initialize properly.
- 8th August 2009 - Miredo 1.2.0
- This fixes some more FreeBSD problem.
The 1.1-1.2 branch of Miredo is now the new stable/maintenance branch.
- 18th July 2009 - Miredo 1.1.7
- This fixes a major crash regression in version 1.1.6,
a few (theoretical) race conditions, and improves FreeBSD support.
- 13th April 2009 - Miredo 1.1.6
- This fixes the Teredo server to interoperate with Windows Vista.
It also fixes compilation on some FreeBSD systems.
teredo.remlab.net is already updated,
so Vista clients should now be able to use it as their Teredo server.
2008 news archive
- 16th February 2008 - git migration
- Miredo source code tree has been migrated from Subversion to git.
You can access the web interface here.
2007 news archive
- 8th November 2007 - Miredo 1.1.4
- Fix scripting problems on Fedora.
- 17th October 2007 - Miredo 1.1.3
- Fix for a major hole punching regression in versions 1.1.0-1.1.2,
and improved debug messages.
- 13th September 2007 - Miredo 1.1.2
- Fix miredo-server breakage in versions 1.1.0-1.1.1.
- 2nd September 2007 - Miredo 1.1.1
- Fix padding problem on some architecture (such as old Linux ARM ABI).
- 19th August 2007 - Miredo 1.1.0
- This is a test release with initial symmetric NAT traversal support,
and various other minor enhancements and fixes. Note that it might not
work too well on non-Linux systems - BSD support will be fixed later as
the 1.1.x branch matures.
- 13th August 2007 - 2000th commit
- Miredo source tree reaches 2000 changesets as development continues.
- 8th April 2007 - Miredo hits Debian stable
- Debian Etch has been released today.
Miredo 1.0.4-2 is included in the huge package lists.
This is Miredo version 1.0.4 with the critical and security fixes
from releases 1.0.5 and 1.0.6.
The same package is also in Ubuntu Feisty
(in the universe repository),
so it should be available in a stable Ubuntu release pretty soon.
- 21th February 2007 - Miredo for MacOS X
- Robert Quattlebaum released Miredo for OSX Preview 2,
which is a MacOS X package including Miredo, tuntap-osx, libJudy
and a MacOS X specific configuration UI.
The package also provides universal binaries,
so you can run it on both PPC and Intel Macs.
on his website.
2006 news archive
- 31th December 2006 - Miredo 1.0.6 security fix
- Latest stable release 1.0.6 includes a security fix, plus a build fix for Mac OS X.
- 16th December 2006 - Miredo 1.0.5
- Another mostly-bugfix release. In particular,
reachability issues with some native IPv6 nodes (due to too small hop limit)
have been fixed, as well as a severe timing bug depending on compiler
The ISATAP tunnel has also been improved,
though it remains experimental.
- 11th October 2006 - Microsoft patches Windows XP Teredo
- The patch is available via Windows Update and fix usage of Teredo with
the standard prefix.
In other news, Miredo 1.0.4 is out.
- 5th October 2006 - Miredo 1.0.3
- This release cumulates all kind of minor fixes (particularly portability
ones) ever since version 0.9.8. The most noticeable change in 1.0.3 is a
work-around to use the Microsoft Teredo servers.
- 3rd October 2006 - Miredo enters Debian
- This time, the miredo package made it past the NEW queue, and into
the unstable/sid distribution. It should be included in Debian Etch whenever
it is released.
- 13th August 2006 - official FreeBSD port
- Andreas Kohn has contributed Miredo 0.9.8 to the FreeBSD ports tree.
port supports both FreeBSD branches 5.x and 6.x.
- 12th August 2006 - release candidate version 0.9.8
- Lots of progress has been made toward, and version 1.0.0 should be out
- Version 0.9.5 features the removal of brittle cone NAT support,
and a fix to support for handling Windows Vista clients in miredo-server.
As a side effect of the removal, Miredo is usually much faster to startup.
- Version 0.9.6 includes a bunch of fixes for FreeBSD.
- Version 0.9.7 fixes a security problem in miredo-server.
- Version 0.9.8 adds unique support for handling remote Teredo clients
behind symmetric NATs, fixes and improves the authentication mechanisms
(note that miredo cannot run behind a symmetric NAT itself
- 16th June 2006 - Gigabit-grade Miredo 0.9.4
- Further enhancements to the Teredo tunneling library brings about 30%
extra performance compared with previous releases.
My 3-years old laptop can now encapsulate
more than 48,000 packets/s and decapsulate as many in the same time.
Alternatively, it can encapsulate more than 410 Mbits/s and
also decapsulate the same amount simultaneously.
That means any decent server running Miredo
could likely saturate two gigabit NICs if it needed two.
Who said userland tunneling was slow?
- 14th June 2006 - faster Miredo 0.9.3
- Public release 0.9.3 includes several performance-focused improvements, as well as a bunch of minor bug fixes.
It is probably more stable than version 0.8.5,
though it hasn't quite undergone as much testing.
- 20th May 2006 - Miredo added to RPMforge
- Dries Verachtert has added RPM
package of latest stable Miredo
release at RPMforge.net, meaning
Fedora core users can now get precompiled binaries easily.
- 14th May 2006 - Miredo 0.8.5 security fix
- Latest stable release 0.8.5 includes a security fix, plus support for Mac OS X.
- 10th May 2006 - Mac OS X now supported
- Thanks to the help of André-John Mas, latest miredo version 0.9.1
supports Mac OS X (Tiger and Panther). This release also includes the
already announced ISATAP router, and improved multi-threading support.
Because of this threading change, it is not considered as stable as
branch 0.8.x (i.e. version 0.8.4 at the time of writing).
- 6th May 2006 - miredo-devel mailing list created
- A mailing list was setup for developers, packagers and involved users.
Click here for details.
- 1st May 2006 - Experimental multi-threaded Miredo
- Today saw the introduction of a real multi-thread implementation of the
Teredo tunnel (relay/client) component within the development tree. This
should at least allow a little performance improvement on bi-processor
- 24th April 2006 - Miredo project unleashes ISATAP server
- An extra working proof-of-concept ISATAP server for Linux,
“miredo-isatap”, based on libtun6
(Miredo’s IPv6 tunnel driver abstraction layer) and Miredo has been included
in the development source tree. The main idea
was to show that libtun6 was a reusable component, but this is nevertheless
the only working ISATAP server for Linux 2.6 that I know (note that it
cannot serve as an ISATAP client, at least not yet). It was succesfully
tested with Microsoft Windows XP SP2 as a client, and radvd in
UnicastOnly mode running on the tunnel interface.
- 15th April 2006 - New development branch
- Unstable development 0.9.x was forked from the (somehow) stable branch,
following the release of stable version 0.8.2 yesterday (UPDATE: bug fix
- 8th April 2006 - 0.8.1 security update
- Insufficient checking in parsing of Router Advertisement has been fixed.
A non-Teredo IPv6 node impersonation bug toward Teredo clients due to
insufficient input validation (detailed
advisory here), a rare segmentation fault at exit, and problems with
PID file locking and deletion were fixed.
miredo-checkconf, an additional program to check the
configuration file syntax, was added.
- 30th March 2006 - Italian ISP ITGate
- Marco d’Itri from ITGate set up a miredo-based global Teredo relay
(at AS12779). Thanks to that, you can access the IPv6 Internet flawlessly
with Miredo as a Teredo client.
On Windows, you will need to merge TeredoPrefix.reg
to support the permanent Teredo prefix, and TeredoClient.reg
to use a Teredo server advertising the permanent
prefix with your system registry (until Microsoft somehow reacts to address
- 19th March 2006 - Important notice: server change
- Miredo testing Teredo server now has a new DNS name:
teredo.remlab.net. The old name (teredo.via.ecp.fr)
will remain valid for about at least one month.
- The prefix advertised by the Miredo server has also been updated.
Starting today, it is IANA-blessed permanent Teredo prefix
2001:0::/32, instead of the experimental Microsoft prefix
Anyway, the experimental prefix does not work properly anymore (except for
subscribers of Wanadoo France broadband ADSL Internet service, which should
use teredo.ipv6.wanadoo.fr as their Teredo server).
Note that if you are using Microsoft Teredo client (from Windows XP/2003),
you will need to obtain an update from your vendor. The Teredo client will
otherwise not accept the permanent Teredo prefix as valid.
- 10th March 2006 - Thousandth commit
- The thousandth Miredo source tree changeset was commited today.
- 28th February 2006 - Miredo enters NetBSD-current pkgsrc
- Rui Paulo added Miredo 0.8.0 to NetBSD-current package list.
Miredo would not previously work on NetBSD insofar as the tunnel driver of
its kernel did not support IPv6.
- 2nd February 2006 - First stable release, 0.8.0!
- Miredo 0.8.0 is available for download. It includes the official Teredo
prefix as specified in RFC4380, and a minor fix for
Starting now, Miredo development will probably fork in two branches :
- 0.8.x for bug fixes only
- 0.9.x for bleeding-edge features (and ultimately 1.0.0).
- 2nd February 2006 -
- The Teredo protocol was finally published as a proposed standard
by the IETF.
- 17th January 2006 - Teredo prefix is... 2001:0000::/32
- It came to my attention that IANA
finally assigned the permanent Teredo prefix from its reserved
testing, experimental and trial usage range last week.
That probably means the Teredo RFC will be out fairly soon as well.
- 12th January 2006 - Miredo 0.7.1
- The peers list can now use Judy dynamic arrays, so that it can typically
handle about one million peers instead of one thousand. It also includes a
garbage collector, and is properly emptied when the connection resets. Echo
Requests and Teredo bubbles new timings obey Teredo draft 05 better.
Debug-specific code is no longer forcefully compiled in.
2005 news archive
- 30th December 2005 - Miredo 0.7.0
- This release can generate ICMPv6 unreachable errors when appropriate,
improves handling of timers, can retry DNS resolution when the Teredo server
fails, uses HMAC for authentication instead of consuming the system’s entropy
pool, improves handling of ICMPv4 errors, and includes many cleanups and
- 11th December 2005 - Miredo 0.5.6
- A major bug, introduced in version 0.5.1, whereby different IPv6
addresses would be considered equal was fixed.
- 19th November 2005 - Miredo 0.5.5
- This release tentatively works on the Darwin kernel (Mac OS X).
- 16th November 2005 - Teredo Internet draft in progress?
- There seems to be some activity around the fifth Teredo Internet draft,
which was approved as an Internet Standard in May, and was seemingly stuck at
IANA. Maybe, we’ll know the permanent Teredo prefix shortly.
- 10th November 2005 - Miredo 0.5.4
- A major bug that could prevented Teredo client to Teredo client
communication was fixed.
- 8th November 2005 - Miredo might enter Debian
- Matt Brown filed an ITP against
Miredo for the famous Debian
- 23rd October 2005 - Miredo (re)enters OpenWRT
- Nicolas Thill included Miredo (0.5.3) in the official OpenWRT
development trunk, an embedded unofficial firmware for Linux-based routers
and access-points. Miredo should be officially included in the next release
- 18th October 2005 - Wanadoo France experiments Teredo
- Wanadoo started an IPv6 experiment for its DSL users.
It includes Teredo, Tunnel Broker and (soon) native IPv6/PPP.
The good news is that Teredo works again... for Wanadoo DSL subscribers.
The very bad news is that, even if someone capable wanted to set up a global
Teredo relay again, it would fail because Wanadoo is doing just that, but
blocking access to non-subscribers. The immediate consequence is that Teredo
will not work for anyone but Wanadoo France DSL subscribers for now.
- 9th October 2005 - Miredo 0.5.3
- This release includes some optimizations. In particuluar, the per-peer
memory footprint was reduced.
- 23rd August 2005 - Miredo 0.5.2
- Packet loss in now properly handled (plus some other connectivity fixes).
The Teredo server is now multithreaded.
- 17th June 2005 - Miredo 0.5.1 is out
- A few code optimizations were done, and minor bugs were fixed.
Additionnaly, Miredo now runs well on FreeBSD and OpenBSD.
Finally, the default route for Teredo clients now has a bigger metric so
that other IPv6 connectivity medias will be automatically preferred if
- 6th May 2005 - Miredo 0.5.0 released
- Teredo maintenance procedure is finally implemented correctly, as
well as connectivity loss detection. Server authentication token is renewed
every hour as a security measure. A safe work-around to reach peers that
rejects ICMPv6 Echo Requests was added. Some options were added, and minor
bugs fixed. Finally the Teredo server component is now separated and built in
a separate program.
- 2nd May 2005 - Miredo 0.4.3 released
- Insufficient checking in parsing of Router Advertisement has been fixed.
It could be used by a malicious Teredo server to cause the Teredo client
to enter an infinite loop, effectively triggering a denial of service
against the Teredo client. See advisory
- 29th April 2005 - Miredo 0.4.2 released
- A bug that sometimes prevented proper Teredo connectivity when using
Microsoft Teredo server was fixed in this new release. Connectivity loss
detection was reworked and re-enabled. Additionnaly, it is now possible to
override the Teredo server to be used from the command line.
- 17th March 2005 - Miredo 0.4.1 released
- That new version includes fixes for a few issues discovered in 0.4.0,
including proper support for Grsecurity patch for the Linux kernel,
as well as a work-around for a kernel panic bug that would be triggered
by Miredo on VMware (however, as the bug relies in the kernel, not in Miredo,
I can’t fix it myself).
- 8th January 2005 - Miredo version 0.4.0 released
- As of version 0.4.0, Miredo uses a configuration file for its settings.
There are also some minor bug and security fixes and performance
2004 news archive
- 17th December 2004 - Miredo version 0.3.2 released
- This minor update includes safer default security settings and a compile
fix for the *BSD operating systems.
- 4th December 2004 - Scheduled servers downtime
- My download server (people.via.ecp.fr) and testing Teredo
server (teredo.via.ecp.fr) will be down this week-end, because of
a major power supply maintenance. Sorry for any inconvenience.
- 2nd December 2004 - Miredo version 0.3.1 released
- This release is easier to install, provides POSIX.1e capabilities
support, internationalization through Gettext and can maintains a PID file.
- 30th October 2004 - Miredo version 0.3.0 released
- This release provides proper queueing of IPv6 packets, which fixes
various connectivity issues. A default route through the tunnel for
Teredo clients is automatically added. Darwin (Mac OS X), OpenBSD,
and NetBSD may be partially supported. Some bugs were fixed.
- 27th October 2004 - Miredo test server back online
- teredo.via.ecp.fr (now 188.8.131.52)
is back online, running Miredo and provides a Teredo server
for testing purposes.
- 20th October 2004 - Ethereal 0.10.7 - updated Teredo dissection
- That new release of the most famous network protocol analyser includes
an updated Teredo dissector. Ethereal
can now dissect authenticated Teredo packets properly.
Besides, an optional heuristic detection for Teredo packets has been
implemented, so that Teredo packets can be dissected even when they are not
on UDP port 3544. That is often the case for client-to-client communication.
- 19th October 2004 - World-wide Teredo relay back online
- It looks like the South-Korean National Computerization Agency is advertising the Teredo prefix
again. Though it is fairly slow from Europe and America, Teredo can now
be used to connect to the entire IPv6 Internet thanks to that relay.
- 15th October 2004 - Miredo version 0.2.2 released
- This release includes some compatibility fixes.
Upgrade if you had trouble with the previous release.
- 25th September 2004 - Miredo version 0.2.1 released
- A new release of Miredo has been published.
It includes several important bug fixes against version 0.2.0 when using
Miredo as a Teredo server, and some compatibility fixes with Microsoft and
ng_teredo servers when using Miredo as a Teredo client.
- 11th September 2004 - Subversion repository back online
- Miredo source code can now be checked out with Subversion
- 30th August 2004 - Miredo version 0.2.0 released
- A new release of Miredo has just been published.
The most important feature is the support for Teredo client.
It also includes many fixes and support for Teredo relay behind a
- 30th August 2004 - New website
- The website got updated and improved quite a lot, though it is still far
from perfect. I am clearly no Web page design expert.
- 30th August 2004 - Stopping SourceForge CVS
- I will no longer be using SourceForge CVS service for this project. It is
too slow, anonymous access is often down... and, it is CVS.
Miredo will now be using
The repository should be made publicly available within one or two weeks.
- 29th August 2004 - Initial Teredo client support
- Miredo can now run as a Teredo client! Look for the upcoming release...
- 19th August 2004 - New hardware
- I’ve finally got new hardware. I may be able to restore the testing
Teredo server (probably mid-September).