我想要两个主 DNS 服务器。每个服务器都有不同的外部 IP。我读到过有关 DNS 服务器的内容:
“此设计最重要的警告是两个主服务器现在必须保持同步并具有相同的数据。”
第一个问题:“主控必须保持同步”是什么意思?
第二个问题:假设我在 A 服务器上有几年前在 Arch Linux 中构建的 dns docker。在 B 服务器上,我有基于 debian 的 dns docker,其中 bind 中的目录架构不同。两台服务器中可以有相同的数据吗?应该是什么样子?我们只需要相同的区域吗?
编辑1: 我也有两个代理服务器。我想在两台服务器上托管一个网站(一个域名)。我想拥有两台独立的服务器并在它们上面独立托管网站。
编辑2: DNS 区域应该是什么样子?它可能像下面这样吗:?
TTL 86400
@ 印度 SOA (2017121413 10800 604800 10800)
@ 在 NSns1.example.com。
@ 在 NSns2.example.com。
ns1 在 AIP_服务器_1
ns2 在 AIP_服务器_2
@ 在一个IP_服务器_2
www 在 AIP_服务器_2
@ 在一个IP_服务器_1
www 在 AIP_服务器_1
答案1
What does it mean "masters must be kept in sync"?
这意味着两台服务器上的信息需要保持一致(即您需要同时对两台服务器进行更改)。但实际上,DNS 具有大量缓存,因此虽然需要在较短的时间内将数据同步到两台服务器,但无需同步完成。
Is it possible to have identical data in both servers?
在 BIND 中,您需要具有相同的区域文件信息或等效信息。(我希望让区域服务于复制的数据库,但您确实需要多个数据库,这样您就不会出现单点故障。)
答案2
这里的要点是,如果您解析some.host.net
,它应该解析为两个主服务器上的相同 IP 地址。答复应该相同。对于 DNS 的所有其他功能也是如此。
您可以让不同的 DNS 服务器提供不同的答案。例如:您可以添加测试主机来查看实际使用哪个 DNS 服务器。如果您使用任播 DNS(请参阅https://ljm.home.xs4all.nl/anycast/index.html例如)。
如果您让不同的主服务器以不同的方式解析,您必须了解这对您的网络的影响。如果您只是将系统直接指向两个主服务器之一,这是可以预见的。如果您使用第二个主服务器作为辅助 DNS 服务器,它会变得不那么透明。如果您使用许多缓存 DNS 服务器,结果可能会令人惊讶。
目录结构和架构无需相同。如果两个主服务器相同,则保持两个主服务器同步会简单得多。