从 IPv6 地址连接到 IPv4 服务器

And*_*nik 3 networking ipv6 web

我有一台同时具有 IPv6 和 IPv4 地址的服务器。是否可以通过IPv6接口通过 HTTP 连接到另一个 Web 服务器(我只知道它的 IPv4 地址),以便该服务器只能看到我的 IPv6 IP 作为源地址?

Qua*_*tim 7

简短回答:否

长答案:IPv4 和 IPv6 是不同的协议。理论上,您可以从 IPv6 地址连接到 IPv4 服务,但为此您需要 NAT64,这是主要为 IPv6 网络设计的。


iwa*_*rue 5

更新以反映评论:

我下面的答案是不正确的,但我怀疑(即希望)我不是唯一一个有类似误解的人,这个答案(更重要的是它的评论)将有助于澄清事情。

主要问题是我误读了 6to4 的作用 - 6to4 并没有(正如我最初理解的那样)提供 IPv6 节点与 IPv4 节点通信的方法。它允许 IPv6 节点通过 IPv4 网络与另一个 IPv6 节点通信。

因此(正如已经指出的那样)这是一个错误的答案,并且具体不涵盖提问者感兴趣的案例。

至于弃用 6to4,目前确实只是一个建议,仅适用于 6to4 的特定子集。似乎不再建议在新部署中使用 6to4。

NAT64(至少如此处所述: https: //en.wikipedia.org/wiki/NAT64)可能更适合:

当在纯 IPv4 服务器前面使用 NAT64 转换器以允许远程纯 IPv6 客户端访问它们时,无状态转换是合适的。状态转换适合部署在客户端或服务提供商处,允许纯 IPv6 客户端主机到达远程纯 IPv4 节点。

原来的

从技术上讲,这并非不可能: https: //en.wikipedia.org/wiki/6to4

假设您找到要使用的中继,该中继将代表您处理 IPv4 连接,使其 IP(v4) 地址成为目标将看到的源。

然而,看看是否可以通过查找服务的 IPv6 地址(如果有的话)或使用 IPv4 来避免这一切可能是有意义的 - 因为您的服务器同时拥有这两种地址,所以只使用 IPv4 似乎要容易得多比它涉及额外的跃点和服务的复杂性。

更重要的是,听起来您正在使用远程端作为某种上游,因此延迟/响应能力大概也是一个考虑因素。

已更新以反映Sander Steffann的评论:自 2015 年起已弃用 6to4 ( https://datatracker.ietf.org/doc/html/draft-ietf-v6ops-6to4-to-historic-11 ),并且该文档建议使用 NAT64作为替代品(https://www.rfc-editor.org/rfc/rfc6146)。

因此,虽然仍然可以做询问者想要的事情,但 6to4 并不是正确的方法。

  • 对 6to4 的引用不正确,这是一个已弃用的协议,与您所描述的内容无关。您的意思是使用公共 NAT64 网关。 (3认同)