在洛杉矶服务器上:

在洛杉矶服务器上:

我正在尝试使用 DNS(bind9)提供一定程度的故障转移控制(在两个站点之间),但我不确定我计划做的事情是否符合规范以及是否能可靠地工作。

问题的核心(简化 - 我知道我实际上需要多于 1 个名称服务器,并且有更好的方法来处理下面的简化版本 - 我的实际解决方案将包括多个名称服务器、多个视图和其他内容,例如挂钩到应用程序和附加子域)是这样的 -

如果我有 2 个名称服务器(例如一个在洛杉矶,一个在英国),其中英国的服务器是活动服务器,那么可以接受以下区域布局:

在洛杉矶服务器上:

                     (SOA 序列号 2013013101)

域名.名称.NS ns1.域名.名称.
域名。NS ns2.域名。

ns1.域名.A LA.服务器.ip
ns2.domain.name.UK.server.ip
www.域名.NS ns2.域名.
ww2.域名。NS ns2.域名。

在英国服务器上:

               (SOA 序列号 2013013101)

域名.名称.NS ns1.域名.名称.
域名。NS ns2.域名。

ns1.域名.A LA.服务器.ip
ns2.domain.name.UK.server.ip
www.domain.name.UK.server.ip
ww2.domain.name.UK.server.ip

这里的想法是,对 www.domain.name 和 ww2.domain.name 的请求始终通过 DNS 定向到 UK.server.IP。(我想这样做,以便如果英国出现长时间停电,我可以更改洛杉矶服务器上的区域并重新启动并运行 - 而无需对注册商进行更改)。当然,ns1.domain.name 和 ns2.domain.name 都将作为注册商的 IP 地址提供。

我担心的是 SOA 序列号,以及我是否会因为对相同区域有不同的答案而违反规范,以及 DNS 解析/重定向是否会按预期工作。 (我假设如果我将英国服务器分成多个区域,一个像洛杉矶区域,另一个是 www.domain.name 和 ww2.domain.name 区域,那么这一切都会正常工作 - 但如果我能避免这种情况就太好了)

答案1

您所说的“活动”服务器是什么意思?DNS 中没有字段允许您设置名称服务器的首选项(只有一个MX)。因此,对于刚刚发现您的区域的客户来说,LA 和 UK 都处于层次结构的同一级别。他选择哪一个是特定于实现的,与我们无关。此选择甚至可能会因后续请求而改变(同样,特定于实现)。

我认为您不会遇到这种布局的问题,因为服务器不会讲述不同的故事,只会讲述不同的部分……

但是为什么您不使用 Bind 的正确主/从架构(假设您愿意使用它)?我的主名称服务器(仅在我自己的层次结构中,而不是注册商)具有该区域的唯一文件,而从属服务器通过 AXFR 请求副本,并在更新时收到通知。从属服务器保留区域数据的持续时间是可配置的。如果您想了解有关如何设置它的更多详细信息,我将很荣幸为您提供帮助。

编辑

我建议采用以下方法(应该完全符合规范):

主办方

  • UK1:1.0.0.1
  • UK2:1.0.0.2
  • 洛杉矶:2.0.0.1

服务区

ns1.serv.com A 1.0.0.1
ns2.serv.com A 1.0.0.2
ns3.serv.com A 1.0.0.3

serv.com NS ns1      <-- 
serv.com NS ns2      <-- this goes to registrar
serv.com NS ns3      <--

(在此处提供长 TTL,以充分利用缓存。它引入了一个间接层,但使用长 TTL,情况应该不会那么糟糕)。

ans1.serv.com A 1.0.0.1
ans2.serv.com A 1.0.0.2

(此处的 TTL 较短,这些值给出了积极的您的区域的域名服务器。TTL 越短,其他域名服务器的使用速度就越快。

所有其他区域

example1.com NS ans1.serv.com.  <-- this goes to registrar
example1.com NS ans2.serv.com.  <--          


anything you want to put in here...

如果发生故障转移,LA 将替换服务区域中的活动名称服务器,随后将所有请求发送到您的其他区域。

答案2

此 SCHEMA 无效。

我设置了一个测试系统,当互联网上的名称服务器访问只有 DNS(和相关粘合记录)的名称服务器时,它们无法正确解析域名

相关内容