wget su un server IPv4 da VPS solo IPv6

Aug 15 2020

Ho un VPS CentOS 7 che non ha IPv4 e ha solo reti IPv6 . Ho aperto la porta 443 per accettare tutte le connessioni TCP.

Quando provo a wget https://www.litespeedtech.com/packages/6.0/lsws-6.0RC1-ent-x86_64-linux.tar.gz, genera un errore (che credo sia perchéhttps://litespeedtech.com/non è abilitato per IPv6):

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.

Quando si tenta lo stesso per Google (che è abilitato per IPv6) wget https://google.com, riesce:

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

Come posso connettermi ai server IPv4 dal mio VPS solo IPv6? Ho sentito parlare di TunnelBroker ma sono un principiante assoluto e non ho idea di cosa dovrei fare per configurarlo.

Risposte

7 NStorm Aug 15 2020 at 12:49

IPv6 e IPv4 sono protocolli diversi. Se hai solo un indirizzo IPv6 nello spazio Internet, non puoi connetterti direttamente ai servizi solo IPv4. È una risposta davvero breve: "no, non puoi".

TunnelBroker e altri servizi gratuiti offrono solo tunnel in altre direzioni, ad esempio da IPv4 a IPv6 e non viceversa, per quanto ne so. Puoi configurare il tuo tunnel su un altro host che esegue dual-stack (sia IPv4 che IPv6) o provare a trovare un servizio commerciale a tale scopo, ma questo non rientra nell'ambito di Server Fault e dubito che questo sia ciò di cui hai bisogno.

Per scaricare un file puoi utilizzare un altro PC e trasferirlo semplicemente sulla tua casella IPv6 tramite SSH.

1 SayanjyotiDas Aug 15 2020 at 22:02

La soluzione era passare a Debian 10 (sebbene questo dovrebbe funzionare anche per Ubuntu) e sostituire i nameserver /etc/resolv.confper utilizzare questo servizio di handoff NAT64 pubblico :

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

Tieni presente che resolv.conf è specifico per EUServ VPS-es. Se stai usando qualche altro VPS, copia e incolla solo i nameserver

Ciò ha consentito al VPS di accedere (quasi magicamente) a Internet IPv4 (sì, anche installando pacchetti dai siti dei fornitori IPv4).

Questo servizio è gestito da un singolo individuo, che ha anche accesso a tutto il tuo traffico IPv4 e a tutto il tuo traffico DNS. Se stai passando dati sensibili o stai creando un sito web serio, penso che la soluzione migliore sia ottenere un VPS supportato da IPv4 fin d'ora. Puoi anche usarlo per scaricare alcuni pacchetti che non eri in grado di scaricare e poi tornare ai tuoi nameserver originali.

1 EsaJokinen Aug 18 2020 at 15:36

L'uso diretto di Wget non è l'unica soluzione per ottenere i pacchetti di installazione sul tuo server. Poiché l'unica rete IPv6 funziona perfettamente per il tuo caso d'uso (un sito dietro Cloudflare), non proverei a utilizzare alcun hack per ottenere la connettività IPv4 anche temporaneamente, ma utilizzare altri modi per trasferire i dati :

  1. Utilizzare un server intermedio con connettività IPv4 e IPv6 e rispecchiare lì il pacchetto.

    user@intermediate:/var/www$ wget https://ipv4only.example.com/packages/install.tar.gz
    
    user@vps:~$ wget https://intermediate.example.net/install.tar.gz
    
  2. Se disponi già di una connessione SSH al server, probabilmente potresti anche utilizzare SFTP ( SSH File Transfer Protocol ) per caricare il pacchetto invece di scaricarlo direttamente.

  3. Configura il tuo Wget per utilizzare un proxy HTTPS in ~/.wgetrc(o globale /etc/wgetrc):

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

    Puoi utilizzare qualsiasi proxy che supporti IPv6 e HTTPS e sei disposto a fidarti. Tuttavia, controllerei comunque l'integrità del file confrontando le somme MD5 ( md5sum install.tar.gz).