Teredo
Teredo - Tunneling von IPv4 in IPv6
Beschreibung
IPv4-Datagramme werden als Payload in IPv6-Paketen platziert
- Aus Sicht der IPv4-Endpunkte des Tunnels bildet IPv6 den Link-layer
- Die Konfiguration der Endpunkte geschieht statisch
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.[1] 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.[2][3]
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.[1] 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)[4] und im Januar 2011 RFC 6081 (Teredo Extensions).[5]
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.[6]
- 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.[7]
Linux
- Miredo ist eine quelloffene Implementierung für Linux und BSDs.[6]
- NICI-Teredo[8] 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.
Anhang
Dokumentation
RFC
RFC | Titel | Jahr | Status |
---|---|---|---|
2473 | Generic Packet Tunneling in IPv6 Specification | 1998 | Proposed Standard |
Siehe auch
Links
Weblinks
TMP
Teredo ist eine Entwicklung aus dem Hause Microsoft und ist
Teredo so genial wie kompliziert.
- 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.
- Die Adresse eines Teredo-Interfaces wird nach dem in Abbildung 6.7
gezeigten Schema gebildet.
- Der Standard sieht vor, dass Teile der Adresse verschleiert werden, indem die Bits der entsprechenden Teile invertiert werden. Ö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.
- Die Komplexität von Teredo lässt sich bei Betrachtung des Szenarios in Abbildung 6.8 erahnen.
- 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.1 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.
TMP
Weblinks
- ↑ 1,0 1,1 Referenzfehler: Es ist ein ungültiger
<ref>
-Tag vorhanden: Für die Referenz namensRFC4380
wurde kein Text angegeben. - ↑
- ↑
- ↑ Vorlage:RFC-Internet
- ↑ Vorlage:RFC-Internet
- ↑ 6,0 6,1
- ↑
- ↑ Vorlage:SourceForge