Teredo
Teredo - IPv4-Datagramme werden als Payload in IPv6-Paketen platziert
Beschreibung
- Teredo ist eine Entwicklung von Microsoft
So genial wie komplex
- Es ist in der Lage, die verschiedensten Arten von NAT/PAT zu überwinden
- Die Teredo-Software, in aktuellen Versionen von Windows bereits eingebaut, stellt ein Interface mit einer IPv6-Adresse zur Verfügung

- Der Standard sieht vor
Teile der Adresse zu verschleiern
- Bit werten invertiert
Öffentliche Teredo-Server und Teredo-Relays
- im Internet erledigen die Konfiguration des Tunnels und wickeln den Datenverkehr ab
Gleichzeitig sorgen sie auch dafür, dass die Verbindung in zwischengelagerten NAT/PAT-Routern nicht abläuft, indem sie regelmäßig sogenannte Bubbles versenden
Komplexität

Wenn ein Teredo-Relay Daten für einen Teredo-Node hat, informiert es den zuständigen Teredo-Server darüber, dessen IPv4-Adresse es der Teredo-Adresse des Nodes entnehmen kann
- Der Teredo-Server informiert dann den Teredo Node über die bestehende, mit Bubbles aktiv gehaltene, Verbindung über anstehende Daten
- Der Teredo-Node baut daraufhin von innen heraus eine Verbindung zum Teredo-Relay auf, welches auf dieser Verbindung dann die Daten ausliefert
- Ein einfaches IPv6-Paket, adressiert an einen TeredoNode, führt dazu, dass dieser die NAT/PAT-Router auf dem Weg zum Teredo-Relay von innen heraus aufbohrt.
Die vermeintliche Sicherheit, die eine NAT/PAT-Installation unter IPv4 noch zu bieten schien, wird nicht zuletzt von Teredo ausgehebelt
- Wenn sich Nodes mit Teredo in einem IPv4-Netz befinden, muss davon ausgegangen werden, dass IPv6-Pakete bis zum Node vordringen können
- Auf natives IPv6 zu verzichten, kann also schlimmstenfalls zu weniger Sicherheit führen
Das Studium des Teredo-Standards, hinterlegt in RFC 4380 [Hui06], sei dem geneigten Leser empfohlen
Aus Sicht der IPv4-Endpunkte des Tunnels bildet IPv6 den Link-layer
- Die Konfiguration der Endpunkte geschieht statisch
Teredo ist ein 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
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
Implementierungen
Microsoft Windows
Seit Microsoft Windows XP ist ein Teredo-Client in Microsoft Windows enthalten
Xbox
Die Xbox One nutzt Teredo selbst in Netzen, in denen IPv6 zur Verfügung steht, um Portweiterleitungen zu vermeiden
Linux
Miredo ist eine quelloffene Implementierung für Linux und BSDs
- 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
Ein Vergleich der Tunnelmechanismen findet sich unter IPv6/Tunnel
Anhang
Dokumentation
RFC
RFC | Titel | Jahr | Status |
---|---|---|---|
4380 | Teredo: Tunneling IPv6 over UDP through Network Address Translations (NATs) | 2006 | Proposed Standard, Updated by: RFC 5991, RFC 6081, RFC 9601 |
5991 | Teredo Security Updates | 2010 | Proposed Standard |
6081 | Teredo Extensions | 2011 | Proposed Standard |
9601 | Propagating Explicit Congestion Notification across IP Tunnel Headers Separated by a Shim | 2024 | Proposed Standard |
Siehe auch
Links
Weblinks