原生 ipv4 到(未知)原生 ipv6

原生 ipv4 到(未知)原生 ipv6

我目前正在进行以下研究:

假设公司 A 拥有原生 IPv4 网络,并且其防火墙仅限 IPv4,因此双栈不是一种选择。

公司 B 是一家中国公司,仅使用 IPv6。公司 B 托管网站 ipv6address.companyB.cn。公司 A 和公司 B 是两家不同的公司,彼此没有任何信息。

A公司如何访问B公司的网站?

换句话说:

除了双栈之外,还有其他解决方案可以让原生 IPv4 访问 IPv6 互联网吗?

据我所知,没有“动态”解决方案可以使 IPv4 客户端与 IPv6 服务器通信,只有静态的。

意义:

为了使本机 v4 客户端访问本机 v6 服务器,目前可用的只有无状态 NAT46,而且这也需要静态 DNS 条目。

因此我在这里提出问题,希望有人遇到过类似的情况并能给我指明正确的方向。

答案1

你可能不需要对整个 LAN 进行双栈,但至少双栈系统不可避免的,因为 IPv4 专用网络无法访问 IPv6 专用网络,除非一些中间有一个双栈中继。(但是,该系统可能是云服务器,不一定位于您自己的网络中。)

一旦你有了这个,就会有几种选择,但这些是最有可能的:

如果你需要这个在公司范围内工作,并且全部IPv6 目标:

  • 搜索(我相信这是名字)statefulNAT46,它类似于 NAT64,由 1) 一个根据真实 AAAA 记录提供虚假 A 记录的 DNS 服务器和 2) 一个执行实际路由/转换的中继服务器组成(接收发往这些虚假地址的 IPv4 数据包,向真实地址发送 IPv6 数据包)。中继服务器显然需要 IPv4 和 IPv6 连接。

    (NAT46 可以像 NAT64 一样实现自动化,只需找到实现它的软件(例如 DNS 服务器)...)

如果您只需要在少数客户端主机上执行此功能,但对于所有目的地:

  • 设置VPN 服务器提供 IPv6 访问。连接到 VPN 服务器的单个主机通过它获得 IPv6 访问权限,而不会影响公司网络的其余部分。IPv4 仍可直接访问。

  • 或者使用传统的“协议 41”隧道,例如 Hurricane Electric 提供的隧道。

如果您只需要在少数客户端主机上针对所有网站(但仅限于网站(HTTP/HTTPS))执行此功能:

  • 设置基本HTTP 代理服务器(例如 Squid)并获取 IPv6 连接仅适用于该服务器. 需要访问仅支持 IPv6 的网站的用户可以将他们的浏览器设置为使用双栈代理。

  • 一个不仅限于 HTTP(S) 的类似解决方案是提供 SOCKS5 代理,甚至SSH“动态隧道”它提供即时 SOCKS 兼容代理。在所有情况下,代理本身都需要 IPv6 连接。

如果您需要在整个公司范围内进行此操作,但只需针对一个或两个网站:

  • 对于 HTTP,设置反向代理(使用 nginx/Apache/HAproxy)接受请求并将http://proxyhost其转发到真正的 IPv6 服务器。同一个反向代理可以处理多个虚拟主机。

  • 对于非 HTTP,可以找到类似于 OpenBSD 的中继

最后,中继服务器本身可以使用与上面“单个主机”部分相同的方法(VPN 或 proto41 隧道)获取其 IPv6 连接。

相关内容