Новая мысль и возможный ответ на мой вопрос? Можно ли изменить корневой файл конфигурации (db.root с A / B / C / D / E / F / и т. Д. ROOT-SERVERS.NET) и удалить исходные записи (например: ip-адрес ican) и заменить их с 4 собственными IP-адресами DNS-серверов - таким образом, обманывая наш DNS-сервер, он распределяет нагрузку с наших серверов. Корневые конфигурации на 4 серверах, на которые мы направляемся, конечно, будут иметь правильное корневое содержимое.
У нас есть два сервера пересылки, для которых настроены статические IP-адреса. Мы наблюдаем неуклонное увеличение нагрузки на наш процессор. Мы хотим начать думать о том, как масштабировать эти два сервера, и начать подготовку к этому, прежде чем это станет проблемой.
Я понимаю, как сбалансировать нагрузку на 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: X.X.X.X#53(X.X.X.X) (censored by me)
;; WHEN: Thu Dec 4 20:41:21 2014
;; MSG SIZE rcvd: 100
2-й раскоп
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
В приведенном выше тексте ничего не видно, хотя интересно, можно ли каким-то образом указать дополнительные IP-адреса в записи a.root-servers в моей конфигурации привязки для распределения нагрузки? Это сработает? т.е. измените мой файл конфигурации db.root, чтобы он выглядел примерно так:
. 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-серверы находят корневую зону, - совершенно неправильный подход к решению этой проблемы. Не представляю, как это могло бы помочь. Я могу представить, как это могло привести к поломке многих вещей. IP-адреса других преобразователей, кроме вашего, не имеют значения для вашей настройки. Если вы думаете, что вам нужно знать IP-адреса этих преобразователей, возможно, вы что-то делаете неправильно.
Вместо этого вам нужно выяснить, действительно ли у вас достаточно законных запросов для перегрузки существующих DNS-серверов. Если запросы не являются законными, вам необходимо найти источник и устранить его. Если запросы законны, вам нужно больше серверов.
Если вам нужно больше DNS-серверов, вам необходимо сбалансировать нагрузку между ними. Самый простой способ сделать это - настроить DHCP-серверы на раздачу разных наборов IP-адресов разным клиентам. Каждый клиент должен получить список из трех разных DNS-серверов. Если у вас всего шесть DNS-серверов, вы можете решить, что они сгруппированы в два пула по три сервера, половина клиентов получает IP-адреса в одном пуле, а другая половина клиентов получает IP-адреса в другом пуле.
Другой способ балансировки нагрузки между DNS-серверами - использовать anycast, но это более сложно и, похоже, не дает никаких преимуществ в описываемом вами сценарии.
Хотя вы можете настроить программное обеспечение для балансировки нагрузки, чтобы сбалансировать кэшируемые серверы имен, самый простой способ сделать это - просто добавить больше серверов имен в сеть и конфигурацию клиентов. Почти каждая операционная система случайным образом выберет сервер имен из списка, предоставленного DHCP, или его файла /etc/resolv.conf, или того, что эта конкретная ОС использует, чтобы поддерживать прямые DNS-преобразователи, так что вы можете просто дать своим клиентам гигантский list и все, я думаю, разберется самостоятельно.