Teredo
# Teredo

Teredo ist ein sogenannter IPv6-Übergangsmechanismus. Dieses Kommunikationsprotokoll für den Datenverkehr mit dem Internet ist gemäß RFC 4380 Teredo: Tunneling IPv6 over UDP through Network Address Translations (NATs) spezifiziert. Implementierungen existieren insbesondere als Bestandteil von Microsoft Windows (Teredo) und für Unix-Systeme (Miredo).

Das Protokoll definiert eine Methode für den Zugriff auf das IPv6-Netzwerk hinter einem NAT-Gerät. Dabei werden IPv6-Pakete mit dem UDP über IPv4 gekapselt. Dies geschieht mittels Teredo-Servern.

## Zweck

Die Knappheit an IPv4-Adressen hat dazu geführt, dass viele Firmen sowie Privatnutzer mittels NAT mit mehreren Endgeräten unter Nutzung von nur einer öffentlichen IP-Adresse auf das Internet zugreifen. Das meistgenutzte Protokoll, um IPv6 direkt über IPv4 zu tunneln (Protokoll 41; siehe auch Tunnelbroker), erfordert, dass der Client eine öffentliche IP-Adresse hat (was aber nicht unbedingt nötig ist; gute Router kommen auch mit Protokoll 41 zurecht). Teredo macht es IPv4-Rechnern, die 6to4 nicht nutzen können, möglich, IPv6 über Tunnel zu nutzen.

## Gefahren

Durch die Tunnelung des IPv6 besteht die Gefahr, dass insbesondere die Sicherheitsfunktionalitäten NAT-basierter IPv4-Router vollständig ausgehebelt werden können. Bei den durch Teredo erzeugten IPv4 UDP-Paketen handelt es sich um Pakete, bei denen die in diesem Szenario vorhandenen IPv4-Paketfilter wirkungslos bleiben, da dieser die IPv6-Pakete im Teredo-Paket ignoriert. Es liegt seit 2007 eine Analyse durch Symantec vor, die diesen Sachverhalt bestätigt.

Heutige Firewalls bieten jedoch auch die Option, IPv6-Datenverkehr in Tunnelprotokollen zu filtern.

## Spezifikation

Teredo ist in RFC 4380 (Teredo: Tunneling IPv6 over UDP through Network Address Translations (NATs)) spezifiziert. Es ist hauptsächlich die Arbeit von Christian Huitema, einem Mitarbeiter von Microsoft, der an IPv6 arbeitet. Im September 2010 erschien die Aktualisierung RFC 5991 (Teredo Security Updates) und im Januar 2011 RFC 6081 (Teredo Extensions).

## Implementierungen

### Microsoft Windows

* ein Teredo-Client ist bei Microsoft Windows XP und neuer eingeschlossen (erschien zuerst im Advanced Networking Pack im Service Pack 1) und standardmäßig aktiviert. Eine Abschaltung ist möglich durch den Befehl: netsh interface ipv6 set teredo disable. Die erneute Aktivierung erfolgt durch: netsh interface ipv6 set teredo default.
* Microsoft bietet für Microsoft Windows Server 2003 einen Teredo-Server und -Relay im Betastadium.

### Linux

* Miredo ist eine Implementierung für Linux und BSDs (unterliegt der GNU General Public License).
* NICI-Teredo besteht aus einem Teredo-Relay für den Linux-Kernel und einem Server für den Userspace.

## Alternativen

Andere Mechanismen, mit denen sich IPv6-Pakete in IPv4 tunneln lassen, sind unter anderem

* 6to4,
* ISATAP und
* Tunnel Broker.

Ein Vergleich der Tunnelmechanismen findet sich unter IPv6#Tunnelmechanismen.

