Как посмотреть файл подсказки DNS (корневые серверы имен)?

Согласно статье Википедии о механизме разрешения адресов DNS, в моей операционной системе должен быть где-то «файл подсказок» , содержащий IP-адреса нескольких «корневых» серверы имен ".

Как мне посмотреть этот файл подсказок в Ubuntu?

2
задан 5 November 2013 в 00:55

2 ответа

Вы не найдете этот файл подсказки на каждом компьютере. Обычно это требуется только при запуске сервера имен, такого как BIND, Unbound и т. Д. Этим серверам имен требуется информация о корневых серверах.

Если вы хотите узнать, как выглядит такой файл подсказки, перейдите на ftp://ftp.rs.internic.net/domain/ и загрузите файл db.cache. . Вы также можете ввести команду

dig . ns

, чтобы получить содержимое файла подсказок.

Когда вы выполняете DNS-запрос, ваш компьютер обычно сначала запрашивает файл /etc/hosts. Если он не найдет там ответа, он запросит у сервера имен (см. Содержание /etc/resolv.conf). Сервер имен будет либо иметь ответ в своем кэше, либо запрашивать корневые серверы, а затем и другие серверы имен, пока не будет получен правильный ответ. Таким образом, нет необходимости в файле подсказки на локальном компьютере.

0
ответ дан 5 November 2013 в 00:55

Большинство DNS-серверов по умолчанию настроены с «корневым файлом» (a.k.a. «файл подсказок»), указывающим на «устаревшие корневые серверы», которые контролируются ICANN.

Это дает вам доступ к «устаревшему пространству доменных имен», которое включает в себя .com, .net, .org, двухбуквенные коды стран и т. Д.

Если DNS-сервер не знает адрес запрошенного сайта, он перенаправит запрос на другой DNS-сервер. Для этого DNS-сервер должен знать IP-адрес другого DNS-сервера, на который он может переслать запрос. Это работа корневых подсказок. Корневые подсказки содержат список IP-адресов DNS-серверов, которые считаются авторитетными на корневом уровне иерархии DNS (также известный как корневой сервер имен).

Самый простой способ, как сказал qbi в своем ответе, это использовать dig. Сначала запустите dig самостоятельно, и вы получите root.hints в соответствии с вашим назначенным сервером. Затем задайте один из перечисленных корневых серверов с помощью dig @rootserver. Вы заметите, что вывод похож на файл root.hints. Сохраните его в файл (dig @a.public-root.net . ns >root.hints.new) и замените старые root.hints на него.

Если вы хотите вернуться к исходному файлу, просто удалите текущий файл и перезапустите DNS-сервер. Он автоматически восстановит оригинал.

Источник: часть информации была получена из DNS и BIND, 5-е издание

0
ответ дан 5 November 2013 в 00:55

Другие вопросы по тегам:

Похожие вопросы: