Изменение DNS TTL для каждой записи в зоне

У меня есть зона прямого просмотра с большим количеством записей. Если я изменяю TTL для зоны, это не относится к записям (они сохраняют предыдущую настройку TTL). Я должен вручную изменить TTL для каждой записи.

Это ожидаемое поведение? Как я могу изменить TTL каждой записи?

Спасибо!

2 ответа

Решение

Он должен обновить их, если они являются статическими записями после перезапуска DNS или перезагрузки зоны, ЕСЛИ к записям не применены ручные TTL.

Здесь вы найдете ветку Technet, в которой обсуждаются функциональные возможности и объясняется, почему изменения TTL SOA могут или не могут повлиять на существующие записи A: http://social.technet.microsoft.com/Forums/en-US/031d48f5-46ae-4e6d-ae85-ae715e7c1206/ttl-of-dns-records-not-updated-when-soa-minimum-ttl-is-changed?forum=winserverNIS

Однако, если они являются динамическими обновлениями через DHCP или DNS, по умолчанию TTL составляет 20 минут.

Всякий раз, когда клиент динамического обновления регистрируется в DNS, соответствующие записи ресурсов A и PTR включают TTL, который по умолчанию установлен на 20 минут. Вы можете изменить настройку по умолчанию, изменив запись DefaultRegistrationTTL в следующем подразделе реестра:

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Tcpip \ Parameters

Запись имеет значение DWORD и перечисляет TTL в секундах. Небольшое значение приводит к истечению срока действия кэшированных записей, что увеличивает трафик DNS, но снижает риск устаревания записей. Быстрое истечение срока действия записей полезно для компьютеров, которые часто обновляют свою аренду DHCP. Большое значение приводит к тому, что кэшированные записи сохраняются дольше, что снижает трафик DNS, но увеличивает риск устаревания записей. Длительное время хранения полезно для компьютеров, которые редко обновляют свои аренды DHCP.

Но я бы не рекомендовал изменять значения по умолчанию для динамических обновлений.

Хотя это может (или не может) применяться в мире Windows, вы обычно используете псевдоним $TTL в начале файла зоны, чтобы указать время истечения по умолчанию для всех записей ресурсов без их собственного значения TTL.

Например:

$TTL 1h
example.com.  IN  SOA  ns.example.com. username.example.com. (
          2007120710 ; serial number of this zone file
          1d         ; slave refresh (1 day)
          2h         ; slave retry time in case of a problem (2 hours)
          4w         ; slave expiration time (4 weeks)
          1h         ; maximum caching time in case of failed lookups (1 hour)
          )
example.com.         NS    ns             ; ttl = 1h
mail          3w     A     192.0.0.1      ; ttl = 3w
Другие вопросы по тегам