![DNS 转发器限制](https://linux22.com/image/796800/DNS%20%E8%BD%AC%E5%8F%91%E5%99%A8%E9%99%90%E5%88%B6.png)
我的问题非常简单(可能有点太简单了),但我会尝试以一种能够帮助未来访问者的方式来表达它。
我刚刚设置了(希望成功)一个 DNS 服务器,上面有一些名称服务器记录,Ubuntu 12.10
我正在等待它传播,我想知道是否可以在 /etc/named.conf.options 中使用 2 个以上的转发器,以供将来参考。这会加快传播速度吗?
请让这个问题和答案更有价值,除了 Google 的公共 DNS 地址之外,还有哪些其他公共 DNS 服务器可用:
8.8.8.8
8.8.4.4
我还想知道重启 bind 是否意味着我的服务器需要重新传播?在 bind 运行时是否有更新设置的方法?
答案1
我刚刚在 Ubuntu 12.10 上设置了(希望成功)一个 DNS 服务器,其中包含一些名称服务器记录,我正在等待它传播,我想知道是否可以在 /etc/named.conf.options 中使用 2 个以上的转发器以供将来参考。这会加快传播速度吗?
在您的权威服务器上设置的 DNS 转发器和新区域的“传播”彼此无关。
我还想知道重启 bind 是否意味着我的服务器需要重新传播?在 bind 运行时是否有更新设置的方法?
重新启动 BIND 守护进程与区域的传播无关。
答案2
我刚刚在设置了 DNS 服务器(希望成功),其中包含一些名称服务器记录
没有必要抱有希望。你可以测试一下。 dig
这是一个用于处理 DNS 的出色工具。
首先,DNS 不能完全独立。某个地方的其他人必须了解你,这样他们就可以找到你刚刚设置的名称服务器。这某人应该是您的注册商。他们会将此信息传递给其上级组织,上级组织会将信息发布在其名称服务器中。如果您的名称服务器也是其所服务的同一域的一部分,您还必须告诉您的注册商其 IP 地址,以便上级组织可以提供粘合信息。这是唯一需要花费一些时间且您无法控制或绕过的步骤dig
。
因此,您需要进行的第一个查询dig
是找出每个人对您的名称服务器的了解程度。(从技术上讲,这不是第一的查询...您需要知道根服务器在哪里,然后询问他们您的 TLD 在哪里,然后询问您的 TLD 在哪里,但我们现在可以跳过这一步。)
dig example.com NS
此查询应返回您的名称服务器记录(类似于ns1.example.com
和ns2.example.com
),并且最好返回包含名称服务器 IP 地址的 ADDITIONAL 部分。如果没有 ADDITIONAL 部分,则此查询应:
dig @ns1.example.com example.com NS
验证父区域知道您的名称服务器后,您可以通过向它们发出各种不同的查询来测试它们是否正常工作。这可以使用上面的 @ 语法来完成。
在此阶段无需等待“传播”。如果您添加新记录并重新启动绑定,则可以使用 @ 语法进行查询以指定您的名称服务器,您将立即看到该新记录。如果您更改记录,您也会立即看到该更改,即使您刚刚执行了相同的查询并且通常希望缓存结果,因为权威名称服务器不会缓存自己的记录。
我总是推荐intodns.com因为他们会为您执行大量查询,并会让您知道他们发现的任何问题,例如只有一个名称服务器或所有名称服务器都在同一个自治系统上。
至于转发器,它们的用途不同。这些是针对您要不是权威的。当您的一个客户端查询时google.com
,您不知道答案,所以您必须去问别人。您可以随意地向根服务器询问com
名称服务器,然后com
向名称服务器询问google.com
名称服务器,然后向google.com
名称服务器询问 A 记录,google.com
或者您可以只使用转发器。您的 DNS 服务器要求其他人的 DNS 服务器为您完成所有工作,然后您将答案返回给客户端,就好像您已经完成了所有艰苦的工作一样。(在这个阶段,缓存结果是礼貌的。)
因此,回答你的问题:
- 是的,您可以使用两个以上的转发器。这可以将负载分散到不同的服务器,并在其中一个或多个服务器发生故障时提供冗余,尽管 bind 可以在没有任何转发器的情况下顺利解决查询,因此如果所有转发器都发生故障也没关系。
- 不,转发器用于解析其他人的域名,而不是为您自己的域名提供服务。
- OpenDNS 运行公共域名服务器,Level 3 也一样(尽管他们似乎只是出于好心才继续这样做,因为有这么多人依赖他们)。 很多别的 人们也这样做。ServerFault 答案不是保存此类列表的好地方,因为它会随时间而变化。搜索“公共 DNS”更有可能永远得到一个好的答案。
- 重新启动绑定不会影响任何上游或下游服务器,除非您更改了区域中的值或服务器的 IP 地址。
- 您可以使用以下方式重新加载区域
rndc reload
。您配置的任何从属服务器都将在等待期结束后检查主服务器,并且只要序列号已增加,就会更新任何区域。
如果你要运行自己的名称服务器,请购买这本书。那里的许多其他书也值得阅读/拥有。