过去几年,我一直在用我的家庭实验室做实验。我有 3 个盒子运行着一些不同的服务。其中一个配置为 DNS 服务器。我有一个指向服务器 1 的本地域名 exampledomain.net。但是,我还在服务器 2 和 3 上运行着不同的服务,我希望能够通过 exampledomain.net 访问这些服务。有什么方法可以告诉我的 DNS 服务器将端口 x 上的所有 exampledomain.net 流量指向服务器 1、端口 y 指向服务器 2、端口 z 指向服务器 3?在研究这个问题时,我遇到了 SRV 记录,但我对它们不太熟悉,不确定它们在这种情况下是否有用。谢谢!
答案1
有什么方法可以告诉我的 DNS 服务器将端口 x 上的所有 exampledomain.net 流量指向服务器 1、端口 y 指向服务器 2、端口 z 指向服务器 3?
不。DNS 不用于解析域:端口对,只用于解析域本身。
如果您的服务器全部位于 NAT 后面,则只需使用...NAT。也就是说,如果您的域指向“公共”IP 地址,但您使用端口转发来访问具有“私有”地址的服务器,那么您实际上可以更改这些端口转发规则以指向服务器 2,依此类推。
(如果这些服务不是全部基于 HTTP,那么您可能不需要做任何特殊的事情,每个服务的客户端将使用它们自己的默认端口 - 例如 ssh 将使用自己的端口,ftp 将使用自己的端口。)
在研究这个问题时,我遇到了 SRV 记录,但是我对它们不太熟悉,并且不确定它们在这种情况下是否有用。
SRV 记录用于不同的目的 - 它们用于映射domain → address:port
,注意只有域仍然是输入,而不是域:端口。
常规 HTTP 客户端也不会使用它们。只有极少数服务(XMPP、Minecraft、Kerberos)实际上使用 SRV。