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

Lou*_*der 2 domain-name-system dns-hosting dyndns srv-record

我已经阅读了 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 的重点?
  • 如果可以实现,是不是只对某些协议可用?

USD*_*att 5

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

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

大多数协议(例如 RDP、HTTP、各种电子邮件协议等)都没有设计为利用 SRV 记录(而且它们中的大多数看起来也不会)。

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

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

  • 实际上,大多数协议确实使用 SRV 记录(对于电子邮件,SMTP 使用 MX——一种更轻的 SRV 形式——但 IMAP 和 POP 有 RFC 6186)。HTTP 是最大的例外(但也是一个非常大的例外)。 (2认同)
  • 我不会说“大多数”协议——至少有数百个。我不知道有人建议将 SRV 用于 IMAP/POP3/SMTP,尽管主要电子邮件客户端支持这种做法?我承认 SRV 和 MX 是 * 位 * 相似的,但明显的 ommision 是 MX 中没有端口规范,因此您的服务器必须在端口 25 上。 (2认同)