新思想和我的问题可能的答案? 是否有可能改变根configuration文件(与A / B / C / D / E / F / etc.ROOT-SERVERS.NET db.root),并删除原来的条目(即:ican IP地址),并取代他们与我们自己的dns服务器IP的4 – 因此欺骗我们的DNS服务器分散我们的服务器的负载。 在我们指向的4个服务器上的根configuration当然会有正确的根内容。
我们有两个configuration了静态IP地址的转发服务器。 我们看到我们的CPU负载稳步增加。 我们想要开始考虑如何扩展这两台服务器,并在问题出现之前就开始做好准备。
我了解如何使用名称服务器为权威域负载平衡DNS服务器。 我在查找信息时遇到困难,就是搞清楚如何扩展一个只有0权威域的转发服务器。
我的第一个假设是挖掘谷歌和OpenDNS的服务器8.8.8.8(即使我怀疑这将是徒劳),并希望看到列表中的几个服务器,但回来了别的东西:
Google's 8.8.8.8 ---------------- ; <<>> DiG 9.8.3-P1 <<>> 8.8.8.8 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 47269 ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0 ;; QUESTION SECTION: ;8.8.8.8. IN A ;; AUTHORITY SECTION: . 4636 IN SOA a.root-servers.net. nstld.verisign-grs.com. 2014120401 1800 900 604800 86400 ;; Query time: 41 msec ;; SERVER: XXXX#53(XXXX) (censored by me) ;; WHEN: Thu Dec 4 20:41:21 2014 ;; MSG SIZE rcvd: 100
第二个挖掘
OpenDNS's ; <<>> DiG 9.8.3-P1 <<>> 208.67.222.222 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 60816 ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0 ;; QUESTION SECTION: ;208.67.222.222. IN A ;; AUTHORITY SECTION: . 10800 IN SOA a.root-servers.net. nstld.verisign-grs.com. 2014120401 1800 900 604800 86400 ;; Query time: 43 msec ;; SERVER: 54.85.249.206#53(54.85.249.206) ;; WHEN: Thu Dec 4 20:44:53 2014 ;; MSG SIZE rcvd: 107
在上面没有看到太多,但想知道是否有可能以某种方式在我的绑定configuration中的a.root-serverslogging中指定一些ip附加地址来传播负载? 这会工作吗? 即:改变我的db.rootconfiguration文件看起来像这样:
. 3600000 IN NS A.ROOT-SERVERS.NET. A.ROOT-SERVERS.NET. 3600000 A 1.2.3.4 A.ROOT-SERVERS.NET. 3600000 A 1.2.3.5 A.ROOT-SERVERS.NET. 3600000 A 1.2.3.6 A.ROOT-SERVERS.NET. 3600000 A 1.2.3.7
当然,在列出的服务器上,只需保留默认的db.root,如下所示:
. 3600000 IN NS A.ROOT-SERVERS.NET. A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4
想想你的DNS服务器如何find根区域是解决这个问题的完全错误的方法。 我无法想象它可能会有什么帮助。 我可以想象它会如何导致很多事情被打破。 其他parsing器的IP地址不是您自己的设置。 如果你认为你需要知道这些parsing器的IP地址,那么你可能做错了什么。
相反,你需要做的是找出你是否真的有足够的合法请求来超载你现有的DNS服务器。 如果请求不合法,则需要追踪源代码并将其清除。 如果请求是合法的,则需要更多的服务器。
如果您确实需要更多的DNS服务器,则需要在其中进行负载平衡。 最简单的方法是让您的DHCP服务器为不同的客户端分配不同的IP地址集。 每个客户端应该得到三个不同的DNS服务器的列表。 如果总共有6个DNS服务器,则可以将其分为两个由三个服务器组成的池,其中一半客户端在一个池中获得IP地址,另一半客户端在另一个池中获得IP地址。
在DNS服务器之间进行负载均衡的另一种方式是使用任播,但这更复杂,似乎在您描述的场景中没有任何优势。
虽然您可以设置负载均衡软件来平衡您的caching名称服务器,但最简单的方法是简单地将更多名称服务器添加到networking和客户端的configuration中。 几乎每个操作系统都会随机select一个名称服务器,它是由DHCP给出的名单服务器或它的/etc/resolv.conf文件,或者是任何特定的操作系统使用它来保持它的dnsparsing器直,所以你可以给你的客户一个巨大的清单和一切,我认为,将其自我sorting。