当“dig”返回单个 A 记录时,IP 地址会在调用之间发生变化。这是什么迹象?

当“dig”返回单个 A 记录时,IP 地址会在调用之间发生变化。这是什么迹象?

在我的内部工作网络中,每当我dig针对特定主机名启动时,我都会得到类似以下的结果:

;; ANSWER SECTION:
some.internal.host.com.     10  IN  A   10.210.54.121

如果我持续发送相同的dig some.internal.host.com命令,响应总是只有一个 A 记录,但是 IP 地址会在调用之间发生变化。

我认为它是某种形式的负载平衡,但池中的完整 IP 地址列表对于好奇的人来说是隐藏的。

这里可以使用什么技术来实现所描述的结果?

答案1

输出中的“10”是生存时间。它很短,只有 10 秒,因此可以猜测这是动态变化的。这就是为什么它不应该在 DNS 递归服务器的缓存中停留超过 10 秒的原因。

如何实现?这取决于远程 DNS 服务器及其实现方式。隐藏节点可以动态(取消)注册到 DNS,或者 DNS 可以自行“检测”活动的后端主机。

答案2

这可能是一种循环方法。

通常,您会提供所有有效地址,然后客户端会选择一个进行连接。

如果您的客户端实施不佳,您可能需要通过仅提供一个值来强制他们选择。

另一种选择是根据不同服务器的繁忙程度进行负载平衡。然后使用 DNS 作为廉价的负载平衡器。与一个或多个实际负载平衡器(例如,使用多个 IP 地址将所有请求代理到服务器)相比,这种做法更为廉价。

相关内容