Для наших серверов, размещенных в OVH, они предлагают использовать sdns1.ovh.net или sdns2.ovh.net в качестве дополнительных DNS-серверов, что отлично, работает нормально и все такое. Мне интересно, как серверы определяют, какие записи отправлять?
Идея служб sdns заключается в том, что если наш основной DNS-сервер выйдет из строя, какой бы sdns-сервер мы ни использовали, он будет продолжать отправлять правильные записи DNS. Я тестировал это, и он работает, я могу nslookup mydomain.com sdns1.ovh.net
он возвращает правильные записи. Если я обновляю конфигурацию BIND на моем основном DNS-сервере, подождите, пока истечет TTL, и попробуйте еще раз, он покажет обновленную запись с серверов SDNS, но, хоть убей, я не могу понять, как они узнают, какие записи верный.
Я дошел до того, что был так разочарован тем, что разобрался, как это происходит, я настроил виртуальную машину с включенным BIND и зарегистрировал ее на сервере SDNS через диспетчер OVH. Я настроил базовую конфигурацию DNS для тестирования, и она правильно работает с основным DNS-сервером и SDNS, как и ожидалось. Затем я создал случайный поддомен для домена, который никто не догадался бы или случайно не получил бы, чтобы я мог убедиться, что он не будет каким-то образом найден. Я ждал около 12 часов (OVH говорит, что запись на серверы SDNS может занять до 12 часов, по моему опыту это обычно независимо от TTL в домене, но я хотел убедиться), затем выключил виртуальную машину, затем я запросил сервер SDNS, и у него была правильная запись для поддомена!
Я не делал специальной настройки BIND, просто следовал стандартным инструкциям по установке на RedHat, я знаю о передаче зон DNS, которая позволила бы им читать всю мою зону, но я не настраивал это.
Как они читают всю мою зону DNS и кэшируют ее на своих серверах?
С функциональной точки зрения это замечательно, поскольку это означает, что наш DNS почти полностью готов к работе, даже если наш сервер не работает. Я просто не могу понять, как они это делают = S
редактировать:
Cloudflare делает то же самое: сканирует всю зону DNS с удаленного сервера. Думал, без настройки перевода этого не сделать, я не прав?
Если вы явно не ограничиваете передачу зоны, то Bind9 разрешает это по умолчанию.
http://www.zytrax.com/books/dns/ch7/xfer.html
Попробуйте сделать это еще раз после ограничения передачи зоны. Во-вторых, если вы используете их в качестве вторичных DNS, проверьте, принимают ли они уведомления от главного сервера, чтобы обновлению не приходилось ждать, пока истечет время ожидания обновления.