miredo
Miredo is a Teredo client that provides IPv6 connectivity to hosts behind NAT devices by encapsulating IPv6 packets into UDP/IPv4 datagrams. It can also operate as a Teredo relay to forward IPv6 packets between the IPv6 Internet and remote Teredo clients.
Description
Miredo implements the Teredo IPv6 tunneling protocol as defined in RFC 4380, enabling dual-stack IPv6/IPv4 hosts behind NATs to access the IPv6 Internet. It creates a Teredo tunneling interface for encapsulation of IPv6 over UDP, solving connectivity issues caused by NAT traversal.
Use cases include providing IPv6 access in environments with IPv4-only NATs, such as home routers or enterprise firewalls. Miredo can run as a client for end-user connectivity or as a relay to bridge Teredo clients to the native IPv6 network.
The package includes additional tools like miredo-server for hosting Teredo servers, which assist clients in NAT configuration, binding maintenance, and hole punching for peer-to-peer IPv6 communication.
How It Works
Miredo encapsulates IPv6 packets into UDP/IPv4 datagrams to traverse NAT devices, following RFC 4380. As a client, it sets up a virtual tunneling interface and connects to a Teredo server to determine NAT mapping and external address. It maintains UDP bindings and performs hole punching for direct communication with other Teredo clients or relays IPv6 traffic to the IPv6 Internet.
Installation
sudo apt install miredoFlags
Examples
miredo -hmiredo-checkconf -hteredo-mire -hmiredo-server -hmiredomiredo --foregroundmiredo --config /path/to/configmiredo-server