wget zu einem IPv4-Server von einem reinen IPv6-VPS

Aug 15 2020

Ich habe einen CentOS 7 VPS, der kein IPv4 und nur IPv6-Netzwerke hat . Ich habe Port 443 geöffnet, um alle TCP-Verbindungen zu akzeptieren.

Wenn ich es versuche wget https://www.litespeedtech.com/packages/6.0/lsws-6.0RC1-ent-x86_64-linux.tar.gz, wird ein Fehler ausgegeben (was meiner Meinung nach daran liegthttps://litespeedtech.com/ist nicht IPv6 aktiviert):

Resolving www.litespeedtech.com (www.litespeedtech.com)... 52.55.120.73
Connecting to www.litespeedtech.com (www.litespeedtech.com)|52.55.120.73|:443... failed: No route to host.

Wenn Sie dasselbe für Google versuchen (das IPv6 aktiviert ist) wget https://google.com, ist es erfolgreich:

Resolving www.google.com (www.google.com)... 2a00:1450:4016:805::2004, 172.217.23.68
Connecting to www.google.com (www.google.com)|2a00:1450:4016:805::2004|:443... connected.
HTTP request sent, awaiting response... 200 OK

Wie kann ich von meinem reinen IPv6-VPS aus eine Verbindung zu IPv4-Servern herstellen? Ich habe von TunnelBroker gehört, aber ich bin ein absoluter Neuling und habe keine Ahnung, was ich tun soll, um es zu konfigurieren.

Antworten

7 NStorm Aug 15 2020 at 12:49

IPv6 und IPv4 sind unterschiedliche Protokolle. Wenn Sie nur eine IPv6-Adresse im Internetbereich haben, können Sie keine direkte Verbindung zu reinen IPv4-Diensten herstellen. Es ist wirklich kurze Antwort - "Nein, das kannst du nicht".

TunnelBroker und andere kostenlose Dienste bieten meines Wissens nur Tunnel in andere Richtungen an, dh von IPv4 nach IPv6 und nicht umgekehrt. Sie können Ihren eigenen Tunnel auf einem anderen Host einrichten, auf dem Dual-Stack (sowohl IPv4 als auch IPv6) ausgeführt wird, oder versuchen, einen kommerziellen Dienst für diesen Zweck zu finden, aber dies liegt außerhalb des Bereichs von Server Fault, und ich bezweifle, dass Sie dies benötigen.

Zum Herunterladen einer Datei können Sie einen anderen PC verwenden und sie einfach über SSH auf Ihre IPv6-Box übertragen.

1 SayanjyotiDas Aug 15 2020 at 22:02

Die Lösung bestand darin, zu Debian 10 zu wechseln (obwohl dies auch für Ubuntu funktionieren sollte) und Nameserver /etc/resolv.confzu ersetzen, um diesen öffentlichen NAT64-Übergabedienst zu verwenden :

search blue.kundencontroller.de
options rotate
nameserver 2a00:1098:2b::1
nameserver 2a00:1098:2c::1
nameserver 2a01:4f8:c2c:123f::1
nameserver 2001:67c:2b0::4
nameserver 2001:67c:2b0::6

Bitte beachten Sie, dass die resolv.conf speziell für EUServ VPS-es ist. Wenn Sie einen anderen VPS verwenden, kopieren Sie nur die Nameserver und fügen Sie sie ein

Dadurch konnte der VPS (ziemlich magisch) auf das IPv4-Internet zugreifen (ja, sogar Pakete von IPv4-Anbieterseiten installieren).

Dieser Dienst wird von einer einzelnen Person betrieben, die auch Zugriff auf Ihren gesamten IPv4-Verkehr und Ihren gesamten DNS-Verkehr hat. Wenn Sie vertrauliche Daten weitergeben oder eine seriöse Website erstellen, ist es meiner Meinung nach ab sofort am besten, sich einen IPv4-unterstützten VPS zu besorgen. Sie können dies auch verwenden, um einige Pakete herunterzuladen, die Sie nicht herunterladen konnten, und dann zu Ihren ursprünglichen Nameservern zurückkehren.

1 EsaJokinen Aug 18 2020 at 15:36

Die Verwendung von direktem Wget ist nicht die einzige Lösung, um Installationspakete auf Ihren Server zu bekommen. Da das reine IPv6-Netzwerk für Ihren Anwendungsfall (eine Site hinter Cloudflare) einwandfrei funktioniert, würde ich nicht versuchen, irgendwelche Hacks zu verwenden, um auch nur vorübergehend eine IPv4-Konnektivität zu erhalten, sondern andere Möglichkeiten zum Übertragen der Daten verwenden :

  1. Verwenden Sie einen Zwischenserver mit IPv4- und IPv6-Konnektivität und spiegeln Sie das Paket dort.

    user@intermediate:/var/www$ wget https://ipv4only.example.com/packages/install.tar.gz
    
    user@vps:~$ wget https://intermediate.example.net/install.tar.gz
    
  2. Wenn Sie bereits eine SSH-Verbindung zum Server haben, können Sie wahrscheinlich auch SFTP ( SSH File Transfer Protocol ) zum Hochladen des Pakets verwenden, anstatt es direkt herunterzuladen.

  3. Konfigurieren Sie Ihr Wget so, dass es einen HTTPS-Proxy in ~/.wgetrc(oder global /etc/wgetrc) verwendet:

    https_proxy = http://[Proxy_Server]:[port]
    

    Sie können jeden Proxy verwenden, der IPv6 und HTTPS unterstützt und dem Sie vertrauen möchten. Ich würde jedoch trotzdem die Integrität der Datei überprüfen, indem ich MD5-Summen vergleiche ( md5sum install.tar.gz).