当只有 AAAA 时合成 A 记录

当只有 AAAA 时合成 A 记录

我在家庭网络上托管一些东西,但我的 ISP 没有为我提供 IPv4 地址。无论如何,也没有办法将端口转发到该地址。

我的服务器已经使用 IPv6 运行,并且一切运行良好,直到我不得不与世界上 60% 以上尚未使用 IPv6 的人们共享内容。

我如何才能让所有人都能访问我的网站和服务器?我如何才能综合使用双栈 DNS 解决方案,同时只能使用 IPv6?我使用 CloudFlare 作为我的 DNS,以防万一。

PS 我知道 DNS64,但我不认为这是我要找的,对吧?我也对 DNS46 做了一点研究,但事实是我根本不了解它。

答案1

DNS 仅将名称转换为 IP 地址。它无法自行解决 v4 与 v6 问题。

DNS64 与有状态 NAT64 结合使用,以允许仅支持 v6 的客户端访问仅支持 v4 的服务器。将 /96 的 v6 空间分配给 NAT64 网关。这提供了足够的 IPv6 地址来代表整个 IPv4 互联网。然后,DNS64 提供从 DNS 名称到分配给 NAT64 的块中的 IPv6 地址的映射。

尝试反其道而行之的问题显而易见,V6 地址很大,V4 地址很小。因此,你可以用 v6 空间的一小角映射整个 v4 空间,但不能反其道而行之。

如果您的所有服务都是 http/https,那么您可以使用反向代理或内容分发网络,根据应用程序级元数据分发流量。对于通过现代版本的 tls 运行的除 http/https 之外的服务,您还可以使用“服务器名称指示”标头来分发流量,尽管找到可以执行此操作的运营商可能更难。如果您的服务器运行其他协议,那么可能需要专用的 v4 IP,这显然会花费更多。

相关内容