New Thought and possible answer to my Question? Would it be possible to change the root config file (the db.root with A/B/C/D/E/F/etc.ROOT-SERVERS.NET) and remove the original entries (i.e: ican ip address) and replace them with 4 of our own dns server IP's - thus tricking our DNS server into spreading the load off our servers. The root configs on the 4 servers we are directing to would of course have the proper root contents.
We have two forwarding servers that are configured with static ip addresses. We're seeing a steady increase in our CPU load. We want to start thinking about how to scale these two servers and start preparing for it before it becomes an issue.
I understand how to load balance a DNS server using name servers for an authoritative domain. What I am having difficulty finding information on, is figuring out how to scale a forwarding only server that has 0 authoritative domains.
My first assumption was to dig googles and OpenDNS's servers 8.8.8.8 (even though I suspected it would be fruitless) and hope to see a few servers in the list, but came back with something else:
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: X.X.X.X#53(X.X.X.X) (censored by me)
;; WHEN: Thu Dec 4 20:41:21 2014
;; MSG SIZE rcvd: 100
2nd Dig
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
Don't see much in the above, although wondering if it would be possible to somehow specify some ip additional addresses in the a.root-servers record in my bind config to spread the load? Would this work? i.e: change my db.root config file to look something like this:
. 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
And of course, on the servers that are listed, just leave the default db.root as follows:
. 3600000 IN NS A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4