在具有 IPv6 和 FQDN 的不同服务器上运行多个服务

Mar*_*son 5 domain-name-system nat ipv6

在过去十年中,NAT 允许我们做的事情之一是将物理服务拆分到不同的服务器上,同时隐藏在单个接口后面。

例如,我example.com192.0.2.10. 我端口转发:80:443对我的Web服务器。我还将端口转发:25到我的邮件服务器、:3389终端服务器和:8080下载种子的计算机的 Web 界面,故事还在继续。

所以我有 5 个端口转发到 4 台不同的计算机上example.com

然后,我去拿一些整洁的 IPv6。我分配example.com了一个 IPv6 地址2001:db8:88:200::10。这对我的网站来说很棒,但我想访问example.com:8080我的种子,或example:3389登录到我的终端服务器。

我怎么能用 IPv6 做到这一点,因为没有 NAT。当然,我可以为每个新服务创建一堆新的 DNS 条目,但随后我必须更新我所有习惯于仅通过键入example.com访问网站终端服务器的客户端。我的用户比两块砖还笨,所以他们不会记得连接到rdp.example.com.

我有哪些选项可以在 IPv6 中保持 NAT 风格的功能?

如果你还没有想通了,上面的场景是不是我的真实的情景,或许有人还没有,但它一定最终会发生。你知道,与 devops 和所有。

Mic*_*ton 6

我们终于有机会将互联网上最大的错误之一留在历史的垃圾箱中。别吹。

  1. 强烈鼓励您的客户停止担心并学会喜欢没有 NAT 的 IPv6并习惯于输入诸如此类的东西rdp.example.com(他们应该已经这样做了;您所描述的场景让我觉得设计非常糟糕)。我们有主机名部分是因为各种服务位于网络上的不同地址;您早已习惯的这种 NAT 错误功能让您可以在同一主机名上寻址实际上位于网络上不同地址的单个服务,这将而且必须消失。

    通过立即提供这些主机名并鼓励使用它们,开始帮助您的客户过渡到新常态,即使您仍然只有 IPv4。这将使几乎每个人的过渡更容易。

  2. 如果您必须为无法更新的罕见遗留应用程序转发端口,以及除非将自己的名字写在监视器上的便签上,否则这仍然可以在第 7 层完成。xinetdsocat等工具。Socat 可以转发 TCP 和 UDP 连接,因此它可能会更有用。

最近在超级用户上提出了一个类似的问题,答案大致相同:如何在 m0n0wall 中转发 IPv6?

  • 除了上述所有内容之外,请记住 *** 负载平衡仍然可以正常工作,如果所有内容都有公共 IPv6 地址*** - 这是 NAT 的另一种常见用途(负载平衡器上的一个公共 IPv4 映射到多个服务器使用私有 IPv4 地址),唯一的变化是您将有一个公共 IPv6 地址映射到多个 *公共但受防火墙保护的 IPv6 地址...... (3认同)