Я размещаю рекурсивный сервер имен локально, таким образом, мне не нужны мой поставщик услуг или другой общедоступный сервер DNS для определения имен. Хотя корневые IP-адреса сервера имен являются hardcoded в файле конфигурации (в Связывании /etc/bind/db.root
файл), когда я выполняю несколько последовательные nslookup
команды для корневого сервера имен для .
, затем поле TTL все еще уменьшается.
Почему TTL уменьшился бы, когда это - harcoded в файле конфигурации?
И почему был бы TTL на корневом уровне быть необходимым во-первых, когда это - harcoded?
Обычно корневые серверы DNS настраиваются явно так же, как и приведенный ниже фрагмент:
zone "." {
type hint;
file "/etc/bind/db.root";
};
Если вы видите, что этот тип зоны не является общим master
или slave
, а представляет собой специальный тип зоны , называемый hint
.
Когда сервер имен запускается, он использует только корневые подсказки для поиска отвечающего сервера имен, а затем получает оттуда текущий список серверов имен. Это те серверы имен, которые будут использоваться во время работы.
Так как они кэшированы, им потребуется TTL, и как вы уже заметили: это TTL будет уменьшаться, как и любая другая кэшированная запись DNS.
Если для класса IN не указана зона подсказок, сервер использует скомпилированный по умолчанию набор подсказок для корневых серверов. Источник: Bind Administrator Reference Manual.
Как Брайан объяснил в своем ответе, корневая зона меняется, и до тех пор, пока хотя бы один сервер имен остается действительным, зона подсказки позволяет вносить такие изменения в корневые серверы имен, не требуя от всех существующих серверов имен обновлять их статические конфигурационные файлы.
Они не жестко закодированы постоянно - файл корневой зоны меняется с течением времени, поэтому записи, передаваемые в резольверы, не могут быть установлены на вечность.
Например, текущее обновление было в последний раз обновлено в 2014 году, как видно из начала файла здесь :
; This file holds the information on root name servers needed to
; initialize cache of Internet domain name servers
; (e.g. reference this file in the "cache . <file>"
; configuration file of BIND domain name servers).
;
; This file is made available by InterNIC
; under anonymous FTP as
; file /domain/named.cache
; on server FTP.INTERNIC.NET
; -OR- RS.INTERNIC.NET
;
; last update: November 05, 2014
; related version of root zone: 2014110501
;
; formerly NS.INTERNIC.NET
;
. 3600000 NS A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4
A.ROOT-SERVERS.NET. 3600000 AAAA 2001:503:ba3e::2:30
db.root используется только как часть процесса запуска DNS-сервера для поиска реальных текущих корневых серверов. Затем они обновляются в соответствии с TTL.
.