Конспекты по сетям

TTL в DNS: почему изменения «доезжают» не сразу

DNS · эксплуатация

Никакого «распространения» записей по интернету на самом деле нет. Есть кэши рекурсивных резолверов, и каждый из них держит ответ ровно столько, сколько разрешает TTL записи на момент запроса.

Что видно в выдаче

$ dig +noall +answer example.org A
example.org.   2971   IN   A   93.184.215.14

Второе поле — сколько секунд ответ ещё проживёт в кэше именно этого резолвера. Повторите запрос через минуту — число уменьшится.

Отрицательное кэширование

Ответ «такой записи нет» тоже кэшируется. Его срок берётся из SOA зоны (минимум из TTL самой SOA и её последнего поля). Если вы спросили имя до того, как его завели, резолвер может «не видеть» его ещё какое-то время.

Как готовить переезд

За сутки (точнее — за старый TTL) до смены адреса понизьте TTL до 300 секунд. После переезда и проверки верните его обратно: короткий TTL — это больше запросов к авторитетным серверам и медленнее первое открытие страницы.

Первоисточник: RFC 1035, RFC 2308.