我目前正在研究以下内容:
假设公司 A 有一个本地 IPv4 网络,他们的防火墙只是 IPv4,所以双栈不是一个选项。
B 公司是一家中国公司,他们只有 IPv6。B 公司正在托管一个网站 ipv6address.companyB.cn。公司 A 和 B 是 2 家不同的公司,彼此之间没有任何信息。
A公司如何访问B公司的网站?
换句话说:
除了双栈之外,是否有解决方案可以让本机 IPv4 访问 IPv6 互联网。
据我所知,它们不是使 IPv4 客户端能够与 IPv6 服务器通信的“动态”解决方案,只是静态的。
意义:
对于原生 v4 客户端到达原生 v6 服务器,目前可用的是无状态 NAT46,这也需要静态 DNS 条目。
因此我的问题在这里,希望有人有类似的情况并且可以指出我正确的方向。
您可能不需要将整个 LAN 双栈,但至少有一个双栈系统是不可避免的,因为纯 IPv4 网络无法访问纯 IPv6 网络,而两者之间没有一些双栈中继。(但是,该系统可能是云服务器,不一定位于您自己的网络中。)
一旦你有了它,就有几个选项,但这些是最有可能的:
如果您需要它在公司范围内和所有IPv6 目的地工作:
搜索(我相信这就是名称)有状态NAT46,它类似于 NAT64,由 1) 一个根据真实 AAAA 记录提供虚假 A 记录的 DNS 服务器,以及 2) 一个执行实际路由/转换的中继服务器组成(接收到这些假地址的 IPv4 数据包,将 IPv6 数据包发送到真实地址)。中继显然需要 IPv4 和 IPv6 连接。
(NAT46 可以像 NAT64 一样是自动的,只需要找到实现它的软件,例如 DNS 服务器...)
如果您只在少数客户端主机上需要它,但对于所有目的地:
设置提供 IPv6 访问的VPN 服务器。连接到 VPN 服务器的个人主机通过它获得 IPv6 访问权限,而不会影响公司网络的其余部分。IPv4 仍然可以直达。
或者使用传统的“protocol 41”隧道,例如 Hurricane Electric 提供的隧道。
如果您只在少数客户端主机上需要它,则适用于所有网站,但仅限于网站 (HTTP/HTTPS):
设置基本的HTTP 代理服务器(例如 Squid)并为该服务器获取 IPv6 连接。需要访问纯 IPv6 网站的用户可以将浏览器设置为使用双栈代理。
一种不限于 HTTP(S) 的类似解决方案是提供 SOCKS5 代理,甚至是提供即时 SOCKS 兼容代理的SSH“动态隧道” 。在所有情况下,代理本身都需要 IPv6 连接。
如果您在整个公司范围内都需要这个,但只需要一个或两个网站:
对于 HTTP,设置一个反向代理(使用 nginx/Apache/HAproxy)接受请求
http://proxyhost
并将它们转发到真正的 IPv6 服务器。同一个反向代理可以处理多个虚拟主机。对于非 HTTP,找到类似于 OpenBSD 的relayd的东西。
最后,中继服务器本身可以使用与上面“个人主机”部分中相同的方法(VPN 或 proto41 隧道)获得其 IPv6 连接。