У меня вопрос по настройке TTL для NS-записей. Взяв этот пример:
example.com. 3600 NS ns1.example.com.
example.com. 3600 NS ns2.example.com.
test 14400 A example.com.
Итак, в этом примере для записей сервера имен установлено значение TTL, равное 1 часу, а для test.example.com - значение TTL, равное 4 часам.
Означает ли это, что test.example.com действительно будет иметь TTL равный 1 часу, потому что поиск сервера имен действителен только в течение часа?
В контексте DNS TTL определяет продолжительность, в течение которой запись ресурса (RR) может кэшироваться любым преобразователем.
Записи NS RR являются частью того, что иногда называют записями инфраструктуры зоны. Инфраструктурные RR (которые включают SOA, NS и MX RR) уникальны тем, что они возвращают другие имена, а не адреса, поэтому они должны быть стабильными и для минимизации доступа к DNS могут и должны иметь очень длинные TTL (дни и недели).
Вы указываете TTL для определенного RR, если хотите переопределить значение по умолчанию.
На основе конфигурации ваших записей;
При первой рекурсии резолвера:
Каждая NS-запись будет кэшироваться на 1 час, а test.example.com будет кэшироваться на 4 часа.
Скажем, через 30 минут тот же преобразователь запросил запись test.example.com, кэшированная запись будет возвращена без обращения к вашему авторитетному NS.
Скажем, через 120 минут тот же преобразователь запросил запись test.example.com, кэшированная запись будет возвращена без обращения к вашему авторитетному NS.
Но на этом этапе, если преобразователь спрашивает о foo.example.com, он должен будет выполнить новую рекурсию, чтобы найти ваш NS RR, а затем найти foo.example.com.