DNS无效记录

时间:2018-06-06 12:12:09

标签: dns powerdns

我正在尝试使用docker和nginx设置我自己的HA解决方案,并在前面充当负载均衡器。

它们实际上是现在配置的。但是,如果主节点关闭,作为回退,我想使用另一个,因为复制了用于负载平衡的nginx配置。

我认为如果我有两个节点,都设置了PowerDNS(以及nginx和docker),并且当节点关闭时,我将这些DNS服务器设置为我的一个域,因为节点正在携带DNS服务器,后续请求将从其他DNS服务器获取信息,其中A记录配置为指向本地IP(这样,指向另一个负载均衡器)。

好像我无法做到这一点。

鉴于我有以下服务器:

server_1 IP = 1.1.1.1

server_2 IP = 1.1.2.2

他们每个人都有一个使用PowerDNS设置的DNS服务器(根据挖掘和其他测试,功能完全正常)。

我的域名DNS服务器指向了他们:

ns1.example.com ---> 1.1.1.1

ns2.example.com ---> 1.1.2.2

ns1.example.com DNS服务器具有:

example2.com A 1.1.1.1

ns2.example.com DNS服务器具有:

example2.com A 1.1.2.2

因此。当两个服务器都在运行时,不是example2.com指向1.1.1.1/1.1.2.2,但是当第一个服务器不可用时,请指向1.1.2.2吗?

好。当我关闭第一台服务器并尝试时,它会给我第一台服务器而不是第二台服务器的IP。

甚至dig example2.com @ns2.example.com正在给我第一个DNS服务器中example2.com的A记录中定义的IP。

我错了,或者这里有什么奇怪的东西?

1 个答案:

答案 0 :(得分:0)

我不知道你在哪里知道名称服务器是以某种优先级顺序列出的,但这是完全错误的。所有对区域具有权威性的名称服务器都应具有完全相同的内容。解析器选择名称服务器随机询问,以在它们之间分配负载。为权威服务器提供不同的内容只会给最终用户带来不一致的结果,而不是任何有用的结果。

此外,您忘记了解析器缓存了他们得到的答案。即使DNS按照您的想法运行(但事实并非如此),也会花费几分钟或几小时的时间来注意“故障转移”。