跨多个提供商托管 DNS 名称服务器

跨多个提供商托管 DNS 名称服务器

假设我有一个域名 foo.com。我在 networksolutions 注册了 foo.com使用 networksolutions 提供的免费名称服务器服务。(换句话说,network solutions 提供的主要/次要名称服务器)

如果 networksolutions 完全瘫痪,将我的辅助名称服务器托管给其他提供商(例如 amazon.com dns)是否有任何价值?或者这无所谓,因为 network solutions 是提供名称服务器的一方,如果它们瘫痪,那么就无法知道辅助名称服务器的情况。

如果是,那么谁是实际存储/提供主名称服务器和辅助名称服务器的一方?在我的场景中,如果网络解决方案完全瘫痪,客户如何知道我在亚马逊的辅助名称服务器?

答案1

是的,特别建议为辅助 DNS 服务器提供网络冗余RFC 2182

具体来说,其好处包括:

  1. 主名称服务器出现问题时的可靠性
  2. 分散负载以提高效率
  3. 减少解决时间
  4. 提高性能

编辑回答后续问题:

您的域名服务器存储并配置在根域名服务器。这是一个例子。

首先,我们向我的解析器询问哪些是 com 域的根名称服务器。

$ dig -t ns com

; <<>> DiG 9.8.3-P1 <<>> -t ns com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46051
;; flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;com.               IN  NS

;; ANSWER SECTION:
com.            13893   IN  NS  c.gtld-servers.net.
com.            13893   IN  NS  k.gtld-servers.net.
com.            13893   IN  NS  e.gtld-servers.net.
com.            13893   IN  NS  j.gtld-servers.net.
com.            13893   IN  NS  b.gtld-servers.net.
com.            13893   IN  NS  d.gtld-servers.net.
com.            13893   IN  NS  l.gtld-servers.net.
com.            13893   IN  NS  g.gtld-servers.net.
com.            13893   IN  NS  m.gtld-servers.net.
com.            13893   IN  NS  f.gtld-servers.net.
com.            13893   IN  NS  h.gtld-servers.net.
com.            13893   IN  NS  i.gtld-servers.net.
com.            13893   IN  NS  a.gtld-servers.net.

接下来,我们选择其中一个根域名服务器并询问它,它知道 google.com 域名的域名服务器有哪些:

$ dig -t ns google.com @a.gtld-servers.net.

; <<>> DiG 9.8.3-P1 <<>> -t ns google.com @a.gtld-servers.net.
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 62374
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 4, ADDITIONAL: 4
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;google.com.            IN  NS

;; AUTHORITY SECTION:
google.com.     172800  IN  NS  ns2.google.com.
google.com.     172800  IN  NS  ns1.google.com.
google.com.     172800  IN  NS  ns3.google.com.
google.com.     172800  IN  NS  ns4.google.com.

;; ADDITIONAL SECTION:
ns2.google.com.     172800  IN  A   216.239.34.10
ns1.google.com.     172800  IN  A   216.239.32.10
ns3.google.com.     172800  IN  A   216.239.36.10
ns4.google.com.     172800  IN  A   216.239.38.10

;; Query time: 206 msec
;; SERVER: 2001:503:a83e::2:30#53(2001:503:a83e::2:30)
;; WHEN: Wed Jul 17 08:54:30 2013
;; MSG SIZE  rcvd: 164

答案2

您可能会感兴趣:https://news.ycombinator.com/item?id=6058107

(我在 53 号公路上工作)。

我们对此进行了大量实验,发现最常见的解析器默认会尝试 3 次不同的服务器。起初这些服务器是随机挑选的,但随着时间的推移,解析器通常会“锁定”延迟最小的名称服务器。一旦它们锁定了,并且对响应所需的往返时间有了一个很好的估计,它们就会继续使用它。但它们有一个一触即发的因素;如果名称服务器没有响应,它们会很快退回到尝试其他名称服务器。

实际上,这意味着您的最多两个名称服务器可能完全不响应,而影响将非常小。因此,如果您使用多个 DNS 提供商,并且想要防止其中一个停止响应;那么每个提供商使用的名称服务器不要超过两个。

也就是说,由于上述所有原因以及其他一些原因,Route 53 SLA 当前仅适用于使用所有四个 Route 53 名称服务器的情况。

相关内容