Verbindung zu einem reinen IPv6-Server mithilfe von WinSCP

1495
kasperd

Einige Familienmitglieder baten mich um Hilfe bei der Konfiguration von WinSCP. Sie müssen eine Verbindung zu mehreren Servern herstellen, von denen einige Dual-Stack und andere nur IPv6 sind.

Was wir bisher gemacht haben, ist folgendes:

  • Installieren Sie WinSCP von https://winscp.net/
  • Schlüsselpaar generiert
  • Verschiedene Kombinationen von Hostname und Benutzername wurden im LoginFenster gespeichert .

Dies funktioniert hervorragend für die Verbindung mit Dual-Stack-Hosts. Wenn Sie jedoch versuchen, eine Verbindung zu einem IPv6-Host herzustellen, wird folgende Fehlermeldung angezeigt:

Host "hostname.example.net" does not exist. 

Der verwendete Hostname ist jedoch korrekt. Zur weiteren Untersuchung habe ich eine Ubuntu 14.04-Maschine an dasselbe LAN angeschlossen. Und auf dem Ubuntu-Rechner tippe ich:

ssh hostname.example.net 

Der Ubuntu-Rechner stellt ohne Probleme eine Verbindung mit demselben Hostnamen her.

Ich habe mir die Netzwerkkonfiguration angesehen und beobachte auf beiden Rechnern dasselbe:

  • Die drahtlose Schnittstelle hat eine IPv4-Adresse
  • Die drahtlose Schnittstelle hat keine IPv6-Adresse
  • Es gibt eine Teredo-Schnittstelle, die erfolgreich eine korrekte IPv6-Adresse erhalten hat

Die nur IPv6-Server, zu denen wir eine Verbindung herstellen müssen, befinden sich in einem LAN mit einem dedizierten Teredo-Relay. Daher sollte eine zuverlässige Verbindung möglich sein. In der Tat funktioniert sie über den Ubuntu-Client.

Was müssen wir in der Konfiguration von Windows und / oder WinSCP ändern, um eine Verbindung zu einem reinen IPv6-Host herzustellen?

(Teredo ist keine Voraussetzung, wenn es bessere Alternativen gibt. Es ist zufällig die einzige IPv6-Adresse, die standardmäßig auf dem Windows-Computer konfiguriert ist.)

2
Kannst du den Gastgeber zumindest via Teredo "ping"? _ (Beachten Sie, dass Microsoft kurz davor ist, ihre Teredo-Dienste zu schließen, und viele Provider haben bereits ihre Relays deaktiviert.) _ grawity vor 7 Jahren 0
@ grawity `ping -6 hostname.example.net` auf dem Windows-Rechner behauptet auch, dass 'host' nicht gefunden werden konnte. `ping -6 2600 ::` sagt `Zeitüberschreitung der Anforderung.`. Von der IPv6-Adresse kann ich sehen, dass der verwendete Teredo-Server `157.56.106.189 'ist. Wenn ich den Ubuntu-Computer für die Verwendung von `157.56.106.189` konfiguriere, da seine Teredo-Server-Konnektivität weiterhin vom Ubuntu-Computer aus funktioniert. Daher funktionieren Ubuntu und Windows in demselben LAN, die denselben Teredo-Server verwenden, der versucht, dieselbe IPv6-Adresse zu pingen, auf Ubuntu und unter Windows. kasperd vor 7 Jahren 0
@ grawity Wenn ich wüsste, wie der Teredo-Server unter Windows zu wechseln ist, würde ich einen anderen Teredo-Server ausprobieren. Letztendlich ist Teredo keine Anforderung, es ist einfach das einzige Protokoll, das ich kenne, das es einem Client hinter einem reinen IPv4-NAT ermöglicht, mit einem reinen IPv6-Server zu kommunizieren, ohne durch einen Dritten zu tunneln. kasperd vor 7 Jahren 0
Aber ... Teredo * führt * einen Tunnel durch eine dritte Partei ... (Der 'Kontroll'-Server ist durch' netsh interface ipv6 teredo set ... änderbar ... 'vorausgesetzt, Sie können einen funktionierenden Server finden. Ich glaube, Remlab führt noch einen Server aus Die tatsächlichen Datenrelays werden vom selben Server ausgewählt.) grawity vor 7 Jahren 0
@grawity Teredo tunnelt nur durch Dritte, wenn Sie keine eigene Staffel haben. Deshalb habe ich ausdrücklich erwähnt, dass sich die IPv6-Server in einem LAN mit einem dedizierten Teredo-Relay befinden. In meinem Fall gibt es also keinen Tunnel durch einen Dritten. Und der Remlab-Server ist immer noch vorhanden. Das ist das, was Ubuntu standardmäßig verwendet. Die Wahl des Teredo-Servers sollte jedoch keinen Unterschied machen. Es ist nicht der Teredo-Server, der das Relais wählt. Es ist der native IPv6-Host, der das zu verwendende Teredo-Relay wählt. kasperd vor 7 Jahren 0
@ grawity Beim Zugriff auf "test-ipv6.com" von Windows-Computern aus kann die IPv6-Adresse angezeigt werden, die der Teredo-Schnittstelle zugewiesen ist. Wenn ich die einzelnen Testergebnisse anschaue, kann ich feststellen, dass die Verwendung von DNS zwar fehlschlägt, der Zugriff auf IPv6-Adressen jedoch ohne Verwendung von DNS erfolgreich ist. Vielleicht ist das eine mögliche Problemumgehung. kasperd vor 7 Jahren 0

2 Antworten auf die Frage

1
kasperd

Das Problem war, dass Windows keine AAAA-Suchvorgänge durchgeführt hat, vermutlich weil es nicht sinnvoll ist, AAAA-Suchvorgänge durchzuführen, wenn die einzige IPv6-Adresse eine Teredo-Adresse ist.

Die IPv6-Konnektivität funktioniert, solange eine explizite Adresse angegeben wird.

So gelang es mir, Konnektivität zu erhalten, indem der Name im Feld Hostname durch die tatsächliche IPv6-Adresse des Servers ersetzt wurde. Danach konnte WinSCP eine Verbindung herstellen.

In meinem Fall haben die Server statische IPv6-Adressen (zumindest solange sie beim aktuellen Anbieter bleiben). Eine statische IPv6-Adresse in den WinSCP-gespeicherten Anmeldungen ist daher kein großes Problem.

Diese Lösung funktionierte bei der ersten Konfiguration. Seitdem hat es jedoch aufgehört zu arbeiten. Ich vermute, Microsoft hat es gebrochen, indem es entweder ein Update an Windows weitergegeben hat oder die Konfiguration der Teredo-Server geändert hat, die vom Client unter Windows verwendet werden. kasperd vor 5 Jahren 0
1
Bob

Wie in einem technischen Hinweis von Microsoft ( http://technet.microsoft.com/de-de/library/bb727035.aspx ) beschrieben, fragt ein Windows Vista- oder Windows 7-Client den DNS nicht nach einer IPv6-Adresse ab (Abfrage eines DNS-Namens) für einen AAAA-Datensatz), wenn die einzigen lokalen IPv6-Schnittstellen Link-Local- und Teredo-Schnittstellen sind . Mit anderen Worten, während Teredo zwar auf einer großen Anzahl von Endsystemen aktiviert werden kann, die mit dem Internet verbunden sind und sich hinter NATs befinden, rufen solche Systeme Teredo nicht auf, um auf eine reine IPv6-URL zuzugreifen, da dies nicht der Fall ist Fragen Sie das DNS nach einer IPv6-Adresse ab.

Geoff Huston testet Teredo

Es ist jedoch offensichtlich möglich, dieses Verhalten zu ändern. Navigieren Sie in Ihrem bevorzugten Registrierungs-Editor zum Schlüssel HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Dnscache\Parametersund fügen Sie einen DWORD-Wert hinzu, der auf AddrConfigControlgesetzt ist 0.

Leider scheint es keine offizielle Dokumentation für diese Einstellung zu geben .

Ich kann mich zu einem späteren Zeitpunkt entscheiden. Im Moment möchte ich jedoch keine systemweiten Änderungen vornehmen. Insbesondere bin ich besorgt über jede Anwendung, die Teredo gegenüber IPv4 vorziehen würde, wenn ich die von Ihnen vorgeschlagene Änderung anwendete. Wenn ich es nur für WinSCP aktivieren und für den Rest des Systems deaktiviert lassen könnte, würde ich das tun. Noch besser wäre es, wenn ich es so konfigurieren könnte, dass es den AAAA-Datensatz nur dann verwendet, wenn die A-Abfrage eine Antwort erzeugt, die angibt, dass die Domäne vorhanden ist, aber keinen A-Datensatz hat. kasperd vor 7 Jahren 0