Teredo
Teredo - IPv4-Datagramme werden als Payload in IPv6-Paketen platziert
Beschreibung
So genial wie komplex
- Teredo ist eine Entwicklung von Microsoft
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
- 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
- Microsoft bietet für Microsoft Windows Server 2003 einen Teredo-Server und -Relay im Betastadium
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 |
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)
Siehe auch
Links
Weblinks