wget a un servidor IPv4 desde VPS solo IPv6

Aug 15 2020

Tengo un CentOS 7 VPS que no tiene IPv4 y solo tiene redes IPv6 . Abrí el puerto 443 para aceptar todas las conexiones TCP.

Cuando intento wget https://www.litespeedtech.com/packages/6.0/lsws-6.0RC1-ent-x86_64-linux.tar.gz, arroja un error (que creo que se debe a quehttps://litespeedtech.com/no está habilitado para 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.

Al intentar lo mismo para Google (que está habilitado para IPv6) wget https://google.com, tiene éxito:

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

¿Cómo puedo conectarme a servidores IPv4 desde mi VPS solo IPv6? Escuché sobre TunnelBroker pero soy un completo novato y no tengo idea de qué debo hacer para configurarlo.

Respuestas

7 NStorm Aug 15 2020 at 12:49

IPv6 e IPv4 son protocolos diferentes. Si solo tiene una dirección IPv6 en el espacio de Internet, no puede conectarse directamente a los servicios de solo IPv4. Es una respuesta muy corta: "no, no puedes".

TunnelBroker y otros servicios gratuitos solo ofrecen túneles en otras direcciones, es decir, de IPv4 a IPv6 y no al revés, que yo sepa. Puede configurar su propio túnel en otro host que ejecute doble pila (tanto IPv4 como IPv6) o intentar encontrar algún servicio comercial para ese propósito, pero esto está fuera del alcance de Server Fault y dudo que sea lo que necesita.

Para descargar un archivo, puede usar otra PC y simplemente transferirlo a su caja IPv6 a través de SSH.

1 SayanjyotiDas Aug 15 2020 at 22:02

La solución fue cambiar a Debian 10 (aunque esto también debería funcionar para Ubuntu) y reemplazar los servidores de nombres /etc/resolv.confpara usar este servicio de transferencia NAT64 público :

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

Tenga en cuenta que resolv.conf es específicamente para EUServ VPS-es. Si está utilizando algún otro VPS, copie y pegue solo los servidores de nombres

Esto permitió que el VPS (por arte de magia) accediera a Internet IPv4 (sí, incluso instalando paquetes de sitios de proveedores de IPv4).

Este servicio está a cargo de una sola persona, que también tiene acceso a todo su tráfico IPv4 y todo su tráfico DNS. Si está pasando datos confidenciales o está creando un sitio web serio, creo que la mejor opción es obtener un VPS compatible con IPv4 a partir de ahora. También puede usar esto para descargar algún paquete que no pudo y luego volver a sus servidores de nombres originales.

1 EsaJokinen Aug 18 2020 at 15:36

Usar Wget directo no es la única solución para obtener paquetes de instalación en su servidor. Como la red solo IPv6 funciona perfectamente bien para su caso de uso (un sitio detrás de Cloudflare), no intentaría usar ningún truco para obtener conectividad IPv4, incluso temporalmente, pero usaría otras formas de transferir los datos :

  1. Utilice un servidor intermedio con conectividad IPv4 e IPv6 y refleje el paquete allí.

    user@intermediate:/var/www$ wget https://ipv4only.example.com/packages/install.tar.gz
    
    user@vps:~$ wget https://intermediate.example.net/install.tar.gz
    
  2. Si ya tiene una conexión SSH al servidor, probablemente también podría usar SFTP ( Protocolo de transferencia de archivos SSH ) para cargar el paquete en lugar de descargarlo directamente.

  3. Configure su Wget para usar un proxy HTTPS en ~/.wgetrc(o global /etc/wgetrc):

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

    Puede usar cualquier proxy que admita IPv6 y HTTPS y en el que esté dispuesto a confiar. Sin embargo, aún verificaría la integridad del archivo comparando las sumas MD5 ( md5sum install.tar.gz).