Вопрос или проблема
Существует доменное имя (например, example.com
), которое использует Register.com в качестве регистратора домена и использует серверы имен Register.com (скажем, dns1xx.register.com
и dns1xy.register.com
). У домена были определены следующие DNS записи:
A * 50.xxx.xxx.xxx
A sub 50.xxx.xxx.xxx
A @ 50.xxx.xxx.xxx
A www 50.xxx.xxx.xxx
У домена также есть SPF записи, DMARC записи и MX записи, указывающие на Outlook. TTL для всех записей составляет 2 часа.
Веб-хост, который контролирует 50.xxx.xxx.xxx
, переходит в другой дата-центр и попросил владельца домена обновить DNS записи, чтобы они указывали на 67.xxx.xxx.xxx
. Владелец домена обновляет DNS записи на следующие:
A * 67.xxx.xxx.xxx
A sub 67.xxx.xxx.xxx
A @ 67.xxx.xxx.xxx
A www 50.xxx.xxx.xxx
На ошибку указали, и владелец домена обновляет запись www
, чтобы она указывала на новый IP через два дня. Однако на следующей неделе разрешение для www.example.com
случайным образом переключается между 50.xxx.xxx.xxx
и 67.xxx.xxx.xxx
:
dig www.example.com a @dns1xx.register.com
www.example.com. 7200 IN A 67.xxx.xxx.xxx
dig www.example.com a @dns1xx.register.com
www.example.com. 7200 IN A 50.xxx.xxx.xxx
Что может быть причиной появления этих старых записей случайным образом? Может ли веб-хост что-то делать, что могло бы привести к сохранению старых записей? Связано ли это каким-либо образом с PTR записями для 50.xxx.xxx.xxx
?
Первичный сервер имен обычно синхронизирует файл зоны с одним или несколькими вторичными серверами имен. Когда эта синхронизация не удается, чаще всего номер серии SOA в файле зоны на первичном сервере имен не был обновлен. Поэтому при редактировании файла зоны для изменения необходимо также обновить номер серии SOA.
Вы можете проверить такие вещи, используя инструмент, такой как Zonemaster: https://zonemaster.se/en/run-test
Или выполните “dig soa example.com @nameserver1” и “dig soa example.com @nameserver2”. Это покажет вам, что два сервера имен имеют одинаковую серию SOA.
Ответ или решение
Причины устаревших DNS-записей
Старые (или "устаревшие") DNS-записи могут появляться в результате нескольких факторов, связанных с управлением DNS и его кэшированием. Рассмотрим конкретный случай, когда домен (например, example.com
), зарегистрированный через Register.com и использующий их серверы имен, сталкивается с проблемой, когда записи DNS не обновляются должным образом.
1. Неправильное обновление DNS-записей
Когда владелец домена обновил записи DNS для указания нового IP-адреса (67.xxx.xxx.xxx
), произошла ошибка: запись для поддомена www
не была обновлена сразу. Эта задержка в обновлении может привести к тому, что DNS-серверы будут кэшировать старую запись (50.xxx.xxx.xxx
). По умолчанию Time To Live (TTL) для этих записей установлен на 2 часа, что означает, что старые записи могут оставаться в кэше DNS-серверов и клиентов в течение этого времени, даже если основная запись была изменена.
2. Кэширование DNS
Кэширование в DNS — это одна из основных причин появления устаревших записей. Когда клиент запрашивает DNS-запись, он может кэшировать ответ для ускорения будущих запросов. Если TTL для записи все еще не истек, клиент продолжит использовать кэшированную, но устаревшую запись.
3. Различия между основными и вторичными DNS-серверами
Если главные и вторичные DNS-серверы не синхронизируются должным образом, это также может привести к несоответствиям в DNS-записях. В описанном случае, если не был обновлен номер серийной записи SOA (Start of Authority) на главном сервере при изменении записей, вторичные серверы могут не узнать о свежих изменениях и продолжать обслуживать старые записи. Проверить правильность синхронизации можно с помощью команды dig soa example.com @nameserver1
и dig soa example.com @nameserver2
, чтобы убедиться, что номера серий совпадают.
4. Ошибки со стороны хостинга
Также стоит рассмотреть возможность того, что веб-хостинг, на который сейчас указывает домен, мог бы каким-либо образом сохранить кэш или перенаправление старого IP-адреса (50.xxx.xxx.xxx
). Например, если старый IP-адрес настроен на перенаправление на новый, это могло бы создать впечатление, что оба IP-адреса используются одновременно.
5. Связь с PTR-записями
Что касается записей PTR (Pointer Records), которые предназначены для обеспечения обратного разрешения IP-адресов в доменные имена, они, как правило, не влияют на A-записи напрямую. Однако, если к обратной записи PTR привязан старый IP-адрес и он не был обновлен, это может вызвать путаницу в случае, если проводятся проверки или маршрутизация по имени. Однако основная проблема с устаревшими записями в данном контексте заключается в неправильном обновлении DNS-записей и их кэшировании.
Заключение
Проблема с устаревшими DNS-записями как в случае www.example.com
, когда запросы возвращают как 50.xxx.xxx.xxx
, так и 67.xxx.xxx.xxx
, может объясняться неправильными обновлениями DNS, кэшированием, проблемами со синхронизацией между DNS-серверами и потенциальными ошибками со стороны веб-хостинга. Для предотвращения подобных ситуаций важно следовать лучшим практикам при обновлении DNS-записей и регулярно проверять целостность конфигурации.