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

2

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

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

    
задан Mads Skjern 04.11.2013 в 21:14
источник

2 ответа

4

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

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

dig . ns

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

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

    
ответ дан qbi 04.11.2013 в 21:40
0

Большинство 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, 5th Edition

    
ответ дан Mitch 05.11.2013 в 07:07