从仅支持 IPv6 的 VPS 使用 wget 访问 IPv4 服务器

从仅支持 IPv6 的 VPS 使用 wget 访问 IPv4 服务器

我有一个 CentOS 7 VPS,没有 IPv4,只有 IPv6 网络。我已经打开端口 443 来接受所有 TCP 连接。

当我尝试时wget https://www.litespeedtech.com/packages/6.0/lsws-6.0RC1-ent-x86_64-linux.tar.gz,它会引发一个错误(我认为这是因为https://litespeedtech.com/未启用 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.

当对 Google (已启用 IPv6) 尝试执行相同操作时wget https://google.com,它会成功:

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

如何从仅支持 IPv6 的 VPS 连接到 IPv4 服务器?我听说过 TunnelBroker,但我完全是新手,不知道该如何配置它。

答案1

IPv6 和 IPv4 是不同的协议。如果您在互联网空间中只有 IPv6 地址,则无法直接连接到仅支持 IPv4 的服务。答案很简单 - “不,您不能”。

TunnelBroker 和其他自由的据我所知,服务仅提供其他方向的隧道,即从 IPv4 到 IPv6,而不是相反。您可以在另一台运行双栈(IPv4 和 IPv6)的主机上设置自己的隧道,或者尝试为此目的寻找一些商业服务,但这超出了 Server Fault 的范围,我怀疑这是否是您所需要的。

要下载文件,您可以使用其他电脑,然后通过 SSH 将其传输到您的 IPv6 盒。

答案2

解决方案是更改为 Debian 10(尽管这也适用于 Ubuntu)并替换名称服务器以/etc/resolv.conf使用此公共 NAT64 切换服务

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

请注意,resolv.conf 专门用于 EUServ VPS。如果您使用的是其他 VPS,请仅复制并粘贴名称服务器

这使得 VPS 能够(非常神奇地)访问 IPv4 互联网(是的,甚至可以从 IPv4 供应商网站安装软件包)。

此服务由一个人运营,他也可以访问您的所有 IPv4 流量和所有 DNS 流量。如果您要传递敏感数据或要创建一个重要的网站,我认为最好的选择是现在就获得一个支持 IPv4 的 VPS。您还可以使用它来下载一些您无法下载的软件包,然后恢复到您的原始名称服务器。

答案3

使用直接 Wget 并不是将安装包下载到服务器的唯一解决方案。由于 IPv6 专用网络完全适合您的使用情况(Cloudflare 后面的站点),我不会尝试使用任何黑客来获取 IPv4 连接,即使是暂时的,但使用其他方式传输数据

  1. 使用具有 IPv4 和 IPv6 连接的中间服务器并在那里镜像数据包。

    user@intermediate:/var/www$ wget https://ipv4only.example.com/packages/install.tar.gz
    
    user@vps:~$ wget https://intermediate.example.net/install.tar.gz
    
  2. 如果你已经与服务器建立了 SSH 连接,那么你也可以使用 SFTP (SSH 文件传输协议)上传包,而不是直接下载。

  3. 配置你的 Wget 以使用 HTTPS 代理~/.wgetrc(或全局/etc/wgetrc):

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

    您可以使用任何支持 IPv6 和 HTTPS 且您愿意信任的代理。不过,我仍然会通过比较 MD5 总和 ( md5sum install.tar.gz) 来检查文件的完整性。

相关内容