我可以控制客户端应用程序使用哪个 DNS 记录吗?

我可以控制客户端应用程序使用哪个 DNS 记录吗?

我正在尝试让我们的服务器组更具容错能力。我有一个 Web 服务器、一个邮件服务器和一个使用 SIP 的 PBX 服务器。我知道对于每个服务,我可以让 DNS 分别返回多个 A、MX 和 SRV 记录。但是我不确定 DNS 是否会指示客户端应该首先使用哪个记录或第二个记录。

例如,如果我的主邮件服务器可以访问,我希望邮件客户端始终连接到该服务器,而从不连接到备用服务器。同样,如果主服务器无法访问,我希望客户端尝试连接到备用服务器。

我知道还有其他方法可以实现容错(我正在研究它们),但我想具体知道 DNS 解析是否可以通过这种方式工作。

答案1

这取决于协议/客户端软件。对于 MX 和 SRV 记录,您可以设置“权重”属性以鼓励客户端执行您想要的操作。对于通用 DNS,您只能使用循环法,不同的操作系统对此的处理方式不同。

答案2

应用程序和服务故障转移不是 DNS 的功能。使用循环 DNS,您只是将特定 DNS 记录的 DNS 请求解析到多个资源。DNS 无法知道某个主机上提供的服务是否不可用,也没有机制将查询解析到可用的主机。

这是客户端应用程序或服务器服务的工作。您需要在客户端应用程序或服务器服务中实现故障转移。

相关内容