目前,我正在研究有关 DNS 工作原理的一些概念,并遇到了一个在互联网上无法轻易找到答案的问题。我正在寻找基于以下场景的一系列问题的答案:
Server01.example.local 和 server02.example.local 都是通用 DNS(BIND、Windows 等)服务器。它们都认为自己是该区域的权威主服务器example.local
。这两台服务器之间存在有效的网络连接。
- 首先,这种配置可行吗?是否可以托管 DNS 区域的两个 R/W 副本?
- 如果可能的话,当两台服务器都作为 R/W 主服务器为区域提供服务时,是否会出现问题?因此,不需要使用辅助服务器。
- 如果两台服务器上的区域数据
example.local
不同,并且客户端通过虚拟 IP 获得服务,会发生什么情况?我想这将是一个负载平衡配置。
由于我的手机无法虚拟两个 DNS 服务器(目前为止),我无法真正测试这一点。有人能解释一下吗?
提前致谢。
答案1
1/ 是的,这是完全可能的,这也是公共 DNS 区域存在注册商和公认机构(IANA,...)的原因之一。
2/ 如果您没有进行任何进一步的配置,那么这实际上没有什么问题。当父服务器必须向客户端传达真正“拥有”该域的服务器的 IP 时,就会出现问题。从技术上讲,可以在两个服务器上注册该域和宣传它们两者,但您可能会遇到所谓的裂脑配置:根据您的请求,您可能会得到错误的答案;如果服务器 A 已更新但没有更新 B,则从服务器 B 请求某些内容的客户端将得到不准确的答案。
3/ 参见我之前的回答。并添加几项内容,例如:缓存不正确、非 DNS 查询(即 Web 服务器、邮件、SIP 等)有时会无缘无故失败,等等。
最后一点:此配置不应进行,至少不应手动进行。一些工具/专业应用程序允许您这样做,但它们确保所有内容都正确复制以避免无法解决的问题。如果您想要一些有弹性的东西,您宁愿使用主/从配置,如果您的主服务器死机,从服务器配置中的简单更改将使其成为权威服务器。