Connect to IPv6 with Teredo
Hallo zusammen,
Ich habe mich in den letzten Tagen intensiv mit Teredo auseinandergesetzt. Je nach NAT Verfahren klappt die Verbindung.
NAT Verfahren | Beschreibung |
Cone NATs | Ist ein NAT Verfahren, bei welchem ein Translation Table das Mapping zwischen interner Adresse und Portnummer und der externen Adresse und Portnummer speichert. Sobald ein solcher NAT Eintrag vorhanden ist, wird eingehender Traffic auf die externe Adresse und den entsprechenden Port von jeder Source Adresse akzeptiert und an die interne Adresse weitergeleitet. |
Restricted NATs | Ist ein NAT Verfahren, bei welchem ein Translation Table das Mapping zwischen interner Adresse und Portnummer und der externen Adresse und Portnummer, für eine bestimmte Source Adresse oder eine spezifische Source Adresse und Portnummer. Ein eingehendes Packet mit einer Source Adresse und Port, welche nicht in der Translation Tabelle vorkommt, wird einfach verworfen. |
Symmetric NATs |
Ist ein NAT Verfahren, bei welchem die interne Adresse und Port zu anderen externen Adressen und Ports gemappt werden. Für jede Destination wird ein separater Translation Eintrag angelegt. |
NAT auf ADSL Router
Bei diesem Setup wird das NAT auf meinem ADSL Router gemacht.
Der Teredo Client ist ab Windows Vista bereits automatisch aktiv. Und hat sich auch schon mit dem Teredo Server (teredo.ipv6.microsoft.com) verbunden. Man sieht hier den NAT Type ist restricted.
netsh interface ipv6 show teredo
Ich kann IPv6 Adressen über DNS auflösen
nslookup six.heise.de
Und ich kann den IPv6 Host pingen
ping -6 six.heise.de
Im Internet Exploer kann ich die Website über IPv6 erreichen http://[2a02:2e0:3fe:100::6]
Über den DNS Namen klappt es aber noch nicht.
Damit ich auch über DNS auf IPv6 Websites zugreifen kann muss ich zuerst einige Konfigurationen machen.
Der LAN Verbindung wird die IPv6 Adressse 2001:db8::1/48 zugewiesen
netsh interface ipv6 show interface
netsh interface ipv6 set address "Local Area Connection" 2001:db8::1/48
Danach muss noch die Default Route ::/0 auf die Nummer des Interfaces gesetzt werden.
netsh interface ipv6 add route ::/0 13
Das Routing Table für IPv6 kann mit folgendem Befehl angezeigt werden
route -6 print
Nun klappt auch der Zugriff über DNS auf die IPv6 Website.
Zugriff über TMG und Symmetric NAT
Bei dieser Konfiguration bin ich auf erhebliche Probleme gestossen.
Da sich der Client nun in einem Netzwerk befindet in welchem ein Active Directory befindet schaltet sich Teredo automatisch ab.
Die Erkennung eines Active Directory Netzwerkes (Büronetzwerk) geschieht über die DNS Abfrage von
nslookup -type=srv _ldap._tcp.dc._msdcs
Man kann dem Teredo Client aber mitteilen, dass dieser Check übersprungen werden soll und der Teredo Client kann starten.
netsh interface ipv6 set teredo enterpriseclient
Der Teredo Server ist über UDP nicht erreichbar (primary teredo server unreachable over UDP). Tja, da habe ich wohl vergessen den UDP Port 3544 auf der Firewall ausgehend zuzulassen.
Nun sieht es schon besser aus. Der Teredo Client hat eine Verbindung zum Teredo Server hergestellt. Und man sieht auch den NAT Type ist symmetrisch. Das ist die schlechteste aller NAT Varianten für Teredo.
Ich habe es über diesen NAT Type jedenfalls nicht geschafft eine IPv6 Adresse zu pingen