带有自定义端口的 SRV DNS 记录。我是否误解了 SRV 应该做什么?

带有自定义端口的 SRV DNS 记录。我是否误解了 SRV 应该做什么?

我已经阅读了 SRV 记录,并且认为我了解它们的用途,我想实现以下目标:

简而言之:将一个主机名绑定到另一个主机名,但更改端口。

即考虑到,我有一个主机名 aaa.bbb.com。

在 aaa.bbb.com 上,我有一个在端口 5000 上转发的 RDP 服务端口。

因此,使用 RDP,我需要连接到 aaa.bbb.com:5000。

我希望创建newhostname.bbb.com IN SRV 1 0 5000 aaa.bbb.com,以便我可以连接到newhostname.bbb.com,而无需指定 5000 端口。

我希望为多个域上的所有服务创建这样的自定义映射。

我已经使用 Dyn.com 创建了 SRV 记录,但它们似乎不起作用。据我所知,协议本身必须“支持/查找”SRV 记录?对吗?

问题:

  • 以上能实现吗?
  • 我是否误解了 SRV 的要点?
  • 如果可以实现,是否只适用于某些协议?

答案1

协议(以及实现它们的应用程序)必须设计为利用 SRV 记录。

以 Outlook 为例。当它尝试自动查找您的 Exchange 服务器时,它将根据电子邮件地址的域部分 ( _autodiscover._tcp.{domain}) 查找 SRV 记录。如果找到,它将连接到 SRV 记录中指定的服务器和端口(因此 SRV 记录可用于允许 SRV 感知应用程序在非标准端口上运行,对用户透明)。

大多数协议(例如 RDP、HTTP、各种电子邮件协议等)在设计时并未考虑利用 SRV 记录(而且看起来大多数协议也永远不会利用 SRV 记录)。

当您通过 RDP 连接到 newhostname.bbb.com 时,RDP 客户端只是尝试获取 newhostname.bbb.com 的 A 记录,并通过默认端口连接到该记录,除非您手动指定其他端口。

您需要的是 RDP 客户端查找您输入的主机名的 SRV 记录(很可能是这样的_rdp._tcp.example.com,因为所有 SRV 记录都遵循一种_service._protocol.aaa.bbb格式),然后连接到该 SRV 记录中指定的主机/端口。这显然需要更改 RDP 客户端应用程序。

相关内容