I'd like to set up a home router (ASUS RT-N66U) so that it'd allow outbound connections. As the ISP doesn't provide public IP addresses, I wanted to use Miredo together with a dynamic DNS service to provide a DNS name pointing to a IPv6 address provided by Teredo. (Yes, it's not the most efficient and reliable solution, but for my purpose it's enough.)

However it seems that Miredo isn't currently very much supported. I tried OpenWRT, which currently doesn't maintain it. I also tried DD-WRT, for which it seems to be theoretically possible to install Miredo via ipkg from (older) OpenWRT packages, but I did manage to get it work because of some unsatisfied library dependencies.

Has anyone managed to get Miredo work on a similar router? For example, by getting ipkg Miredo package to work, compiling it from sources etc.?

  • 1
    Teredo is pretty much a dead technology. It's not worth wasting time and you probably won't get it to work anyway. If you need an IPv6 tunnel go here and get one. – Michael Hampton Mar 5 '17 at 19:45
  • @MichaelHampton As long as there are ISPs without IPv6 support there will be a need for workarounds. And there are scenarios where Teredo is the best workaround. However this question is not one of them. – kasperd Mar 12 '17 at 13:07

In order to use Teredo you need a Teredo client, a Teredo server, and Teredo relays. And you need all of these deployed in the appropriate locations.

Teredo is designed to work through NAT, however it only provides a single IPv6 address per Teredo client, which is assigned to the host on which the Teredo client is running.

As such your router is not an appropriate location to deploy a Teredo client. It would provide IPv6 access to the router itself, but not to the LAN connected to it.

A laptop that connects to many different networks and needs IPv6 wherever it is can benefit from running a Teredo client, but it will only be able to connect to networks with a Teredo relay. (Third party relays exist, but do not provide a reliable service.)

Your router could however be an appropriate location to deploy a Teredo relay. You can deploy a Teredo relay on any host with a public IPv4 address. Assuming your router has a public IPv4 address, it can run a Teredo relay.

The benefit you gain from running a Teredo relay on your router is that it enables Teredo clients to communicate with IPv6 hosts on your LAN. That is of course only beneficial if your LAN has IPv6 support in the first place.

The miredo package can be used as either client or relay depending on how you configure it. In the default configuration it acts as client. Here is an example of what to put in /etc/miredo.conf to use it as relay:

InterfaceName   teredo
RelayType       relay
BindPort        64646

Do that, then restart miredo and you will have a functional relay.

In order to get IPv6 on your LAN, you have a few options. You can use 6to4, but that is not recommended due to 6to4 relays being underprovisioned.

A better option is to use a tunnel service. If your router have a public IPv4 address I recommend using tunnelbroker.net as your tunnel provider.

| improve this answer | |

In the end I packaged Miredo for OpenWRT myself. Currently a pull-request for openwrt/packages is pending: https://github.com/openwrt/packages/pull/4201

In the meantime, the packaging files for building the package manually are available at https://github.com/ppetr/openwrt-miredo

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.